Внутри блокчейна Graphene

Все началось с Bitshares, где разработчики первыми  создали децентрализованную биржу для монетизации технологий, опыта, репутаций. Большая часть этой технологии воплощена в программной платформе Graphene, предназначенной для развертывания криптографически защищенных децентрализованных регистров третьего поколения, известных как блокчейн. С документацией проекта можно ознакомиться по этой ссылке .  Итерации в bitshares положили начало создания технологий социально блоговой платформы steemit с уникальными техническими новациями для решения проблем консенсуса.После чего был создан проект EOS и форк Golos .

блокчейна Graphene
Визуализация развития блокчейн технологии Graphene

Введение в блокчейна Graphene с примерами

Любая Graphene цепочка имеет примерно вот такую архитектуру как ниже указанном фото. У Bitshares и Steemit плагины жестко вкомпилены в ядро системы, и при условии вкл/выкл они будут все равно создавать over head. У Golos плагины инвариантные, которые можно вкл и выкл.

графено подобная цепочка
Архитектура Graphene цепи

При наплыве на цепочку запросов происходит увеличение асинхронна

Значит логично ,что вертится набор WebSocket сервер, Chain, p2p (компонент отвечающий за синхронизацию всех узлов цепочки)  Ниже на фото смотрите как выглядит базовая цепочка Graphene

И так рассмотрим следующее фото. На нем изображена Node (узел) в котором есть WebSocket сервер, есть компонент синхронизации (P2P) есть также какие то другие узлы (node other)  которые получают информацию из P2P компонентов Graphene системы и Chain, которая валидирует и принимает блоки, после того как сеть также провалидировала и приняла блок. Это понятно?

базовая цепочка Graphene

И так начинается наплыв. Сразу почему то загадочно обламывается синхронизация со всеми узлами цепочки. Как вы знаете ,чтобы не сливать бюджеты нужно все тестить. Нагрузку на сервер можно протестировать через скрипты имитирующие нагрузку. И вот мы наблюдаем то что видно на фото. Начинаешь думать что не так?Ковыряешься dtrace, но все не то. Нагрузка идет, но авейп в не тех местах где ты предполагаешь. Надо ковыряться глубже.

авария наплыва с обломом всей синхронизации цепочки

Что такое fc:thread ?

Все тот же механизм синхронизации, но логично после того как сеть приняла блок мы его впихиваем в нашу цепочку. После того как цепочка отработала и приняла блок надо дельту изменений обнести плагином. Потому что плагины выполняют роль ip который динамически включается и выключается. Потому что от куда WebSocket сервер узнает например выбрать всех своих друзей, которые подписаны на другого человека то есть это не консенсус логика.

Но вот фишка в том, что когда заваливается P2P сеть , потом начинает иерархически заваливаться Chain и заваливаться плагины. Начинаешь трейсить ,смотришь какие там фреймы летают ?

И вот автор Bitshares и Steemit придумал такую концепцию как fc:thread где завернул

 

Андрей Никитенко
Андрей Никитенко
Задать вопрос эксперту
Понравилась статья? Поделить с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: