Здравейте - искам да ви споделя за свой проект за блокчейн с работно име Минало, базиран на Git и GPG. Ще опиша идеята накратко. Ако ви допадне, търся разработчици с които да го движим, както и хора с идеи за валути и други децентрализирани приложения върху този блокчейн.
Цел
Блокчейн, или p2p база данни. Да използваме съществуващи технологии за да пишем възможно най-малко код, защото кода се чупи и иска поддръжка, докато съществуващите технологии, ако са добре разпространени, се поддържат сами. Създаването на нови блокове да е лесен, енерго-ефективен процес, за да могат и слаби компютърчета (смартфони, Raspberry Pi) да създават гръбнака на блокчейна. Върху блокчейна да вървят различни децентрализирани приложения. Такива може да са валути, избори и други.
Осъществяване
---
Откъм съществуващи технологии, Git си е готов блокчейн. Той е пригоден да работи в p2p среда чрез своите remote. Pull, push, merge, rebase са полезни благинки които можем да ползваме наготово. Почти всички разработчици разбират от Git, което прави лесно навлизането на нов човек в кода. Допълнително, всичкият съществуващ софтуер за визуализиране на Git repo (Github например) може да ни е от полза.
За да могат слаби устройства да поддържат блокчейна, включително създаването на блокове, е нужно алгоритъма за консенсус да е лек. Пред
лагам следния псевдо-алгоритъм:
0. Синхронизираме стъпките на консенсуса със секундите в минутата.
1. в началото на минутата всяко устройство, участник в производството на блокове (да го наречем съучастник), произвежда кандидат-блок, който се състои от всички съобщения, които е получило (съобщение може да са неща от рода на "A прати на B 2 лева") и проверило за валидност.
2. Всеки съучастник тегли от останалите техните кандидат-блокове.
3. Всеки съучастник гласува за този кандидат-блок, който има най-много *проверени* комити.
4. Всеки съучастник приема този кандидат-блок, който има най-много *проверени* комити.
Проверен комит е този, който изпълнява правилата на блокчейна. Така например всеки комит е подписан със GPG подпис, който е в познатите подписи на съучастника, който го проверява. Не се позволява повече от един комит на подпис на блок. И други такива правила, които да съпътстват леката работа на блокчейна. Това е накратко.
За да се изпълняват децентрализирани приложения върху блокчейна, значи съучастниците трябва да проверяват и евентуално създават блокове
следвайки някакви правила. Това може да са питонски (или друг език, но за сега е разработено на питон) скриптове, които се изпълняват само ако промяната е в папката на децентрализираното приложение.
В момента доработвам "предварителна алфа" версия на кода и ще е готов за споделяне в близката седмица.