Как Программировать Блокчейн

Когда начинаешь изучать, как программировать смарт-контракты, понимаешь, что “все так и не так”. :-)

Действительно, буквы те же, слова те же, классы, функции… Serpent - это Python, Solidity - JS. Но почти сразу выясняется, что привычную структуру модулей организовать не получится, по папочкам все не разложишь. И вообще, в один смарт-контракт тысячами строки писать не стоит, так как блокчейн и плата за газ. То есть да, то что мы привыкли расходовать без счета (хвала Гордону Муру) - циклы процессора (да и память тоже) в эфире жестко лимитировано оплатой за выполнение инструкций.

корневищеНо это не самое… необычное… Введенное еще Винером правило разделения кода и данных в блокчейн-программировании тоже размывается… Блокчейн, с одной стороны, - это база данных, но каждая транзакция несет в себе встроенную процедуру - смарт-контракт, пусть даже самый простой - передача фиксированной суммы между кошельками… А выглядит это как данные... То есть, с другой стороны, - это аналог системы контроля версий?!

То есть, мое любимое структурное программирование, когда-то описанное Э.Дейкстрой здесь точно применить нельзя.грибницы - мицелия Думаю, в том числе, и из-за этого питоноподобный Serpent не пошел в широкие массы, и сейчас его заменяют на Solidity, который ближе к JS и C.

Следовательно, нужна другая метафора архитектуры, и, глядя на то, как можно обращаться с вызовами смарт-контрактов, мне пришло в голову это spaghetti-style.

Однако с юности я помню, что так программировать нельзя. И я стал думать дальше.

социальная сетьЧто похоже на спагетти, но не спагетти? Где есть внутренняя структура?

Вот корневая система какого-то растения:

Вот система грибницы - мицелия.

А вот - структура социальной сети.

Думается мне ( и не только мне), что все эти структуры объединяются метафорой ризомы. Философия ризомы (фр. rhizome «корневище») — одно из ключевых понятий философии постструктурализма и постмодернизма, введенное Ж. Делёзом и Ф. Гваттари в одноименной книге 1976 года и призванное служить основанием и формой реализации «номадологического проекта» этих авторов см. Вики.

Но как программировать в ризоме, не сваливаясь в спагетти-стайл?

То есть, можно представить, что смарт-контракты - это грибы, плодовые тела грибницы или корневой системы - ризомы, а корни - это связи, вызовы между ними.

Похожие страницы: