Блеск и нищета Bitcoin (а ещё про blocknet)

в 5:25, , рубрики: bitcoin, blockchain, blocknet, p2p, блокчейн, децентрализованные сети, децентрализованные системы, Криптовалюты, платежные системы, финансы

Блоковая цепочка «blockchain» таит в себе технологические и организационные опасности, неочевидные для большинства фанатов блокчейна. И нам необходимо об этом поговорить. Также я хочу предложить идею распределённой блоковой сети «blocknet», которая, возможно, избавит нас от существующих недостатков блокчейна.

Статья освещает:
1. Преимущества блокчейна.
2. Недостатки блокчейна.
3. Блокнет как нотариальная система.
4. Расписочная платежная система на блокнете.

Блеск и нищета Bitcoin (а ещё про blocknet) - 1

Преимущества блокчейна

Отметим следующие достоинства блокчейна:
1) Независимость от центров (государства, корпораций, лидеров и так далее)
2) Отсутствие бюрократии, коррупции и махинаций
3) Относительная дешевизна операционных расходов
4) Считается, что блокчейн децентрализован. Правда, это относится только к процессу генерации новых блоков, но не к распределению данных блоковой цепочки (об этом ниже).

Недостатки блокчейна

1) Централизованная счётная ветка

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

Блеск и нищета Bitcoin (а ещё про blocknet) - 2
Рис. 1. Блоковая цепочка (blockchain).

По факту имеем:
1. Один корень (генезис-блок).
2. Одна цепочка блоков.
3. В каждом поколении принимается только один блок, остальные – зря генерировались.
4. Очередное поколение случается только 1 раз в N минут (10 минут для Bitcion).
5. Генерирующий рой обязан прийти к всеобщему консенсусу для отбора блока-победителя.
6. Следовательно, генерирующий рой обязан быть единым для поиска всеобщего консенсуса.
7. Пиры сети при первом включении находят друг друга через централизованные irc-серверы.

2) Перехват вычислительной мощности

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

При типе консенсуса Proof-of-Work («доказательство работой») всю генерацию блоков можно контролировать перехватив 51% мощности сети (есть мнение, что гораздо меньше, но не будем сейчас об этом спорить).

Если правительствам, обладающим непропорционально большими ресурсами, удастся перехватить мощность (например, создав квантовый компьютер), то они смогут генерировать блоки со сложностью в несколько раз превышающей сложность самых мощных пулов. Таким образом, в скором времени можно будет узурпировать консенсус.

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

3) Перехват сетевых пакетов. Возможность изоляции участников

Узурпировать генерацию блоков можно не только перехватом мощности. Те, кто владеют коммуникациями, уже вовсю внедряют DPI и могут временно «приморозить» какую-то зону подсети, отделив пользователей данной подсети от основного роя. К примеру, простой блокировкой TCP-пакетов Bitcoin (с заданными портами) в непокорной деревне или городе, можно отделить их от остального роя, лишить возможности проводить транзации и парализовать там экономическую жизнь.

Можно отбрасывать пакеты от «неугодных» пиров, и таким образом изолировать «неугодных» людей совершать платежи.

Так как при генерации блоков обменный трафик не использует end-to-end шифрование, то также можно «заглядывать» внутрь сетевых пакетов, и отбрасывать блоки-претенденты – как по заданным кошелькам, так и по заданным IP-адресам.

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

Таким образом, отбрасывая (или искажая) пакеты определённых подсетей, определённых узлов или определенных участников, можно «отключать» их от математически централизованного блокчейна и от основного генерирующего роя.

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

4) Квантование шага и задержка

Из-за квантования в центральном блокчейне существует непреодолимая технологическая задержка, от которой невозможно избавиться. 10 минут это гарантированная (запрограммированная) минимальная задержка, но в реальности задержка может быть гораздо больше.

Дело в том, что отбраковка боковых цепочек происходит не непрерывно, а раз в 10 минут. Это значит, что судьба блоков, с упакованными транзакциями решается не сразу, а только каждые 10 минут. За каждый шаг утверждается только 1 блок-претендент, а остальные отбрасываются – при этом транзакции из отброшенных блоков «набиваются» в следующие блоки-претенденты (блоки следующих поколений), которые на следующем шаге снова могут быть не утверждены.

Возможна ситуация, когда транзакция плательщика будет кочевать из одного блока-претендента в другой часами. Плательщик нажимает «оплатить», успокаивается, а через 3 часа узнаёт, что его транзакция всё ещё «кочует».

5) Хранение полной истории блоков

Каждый пир-майнер должен хранить полную базу блоков. Нет никакого механизма распределенния блоков в блокчейне: ни DHT, ни сеть доверия, ни какая-либо другая технология распределения данных в блокчейне не используется – вместо этого вся блоковая цепочка в полном составе (включает все блоки цепочки за всю историю генерации) просто многократно копируется на узлы.

6) Огромный паразитный трафик

Всем майнерам необходимо обмениваться всеми блоками-претендентами и всеми блоками-победителями. Так как блоков-претендентов в 100-1000 раз больше, чем блоков победителей, то получается, что огромные объемы трафика расходуются впустую.

7) Бесполезный расход энергии

Борьба за консенсус приводит к огромному числу отброшенных блоков-претендентов и, как следствие, сделанных впустую вычислений и пересланных впустую данных, а следовательно, впустую потраченной энергии.

8) Единая софтварная инфраструктура

Единая счётная ветка накладывает требования к унифицированному ПО, которое обязано согласованно работать. То есть в рамках одного блокчейна не может быть разных программ, разных протоколов, разных команд разработчиков. А это в свою очередь накладывает требование как к централизации разработки, так и к необходимости выбирать единую политику. Разработка одного проекта становится ахиллесовой пятой сообщества. Мы это уже несколько раз увидели, как на примере Bitcoin (когда разыгралась драма с форком Bitcoin X), так и на примере Ethereum (когда Бутерин&Co приняли диктаторское решение «отбросить» theDAO).

Команде разработчиков единого ПО волей (а точнее, неволей) приходится диктовать пользователям единую судьбу развития блокчейна, даже тем, кто с такой судьбой не согласен.

9) Разные блокчейны «растут» раздельно

Блокчейн Bitcoin математически никак не связан с блокчейном Emercoin. И другие блокчейны никак не связаны между собой. Это разрозненные игроки, которые никак не укрепляют друг друга в, казалось бы, общей игре. В связи с эгоизмом блокчейнов и различной материальной ценностью по-разному генерируемых криптовалют, стоимость единицы каждой криптовалюты зависит только от состояния, в каком сейчас находится криптовалюта данного блокчейна на торговых биржах. Соотношение стоимостей криптовалют друг к другу, к фиатным деньгам ФРС/МВФ и материально обеспеченным ценностям реального рынка, никак не связано, а вместо этого спекулятивно скачет в зависисмости от слухов вокруг бирж. Волотильность криптовалют – неустранимое явление, а самое обидное – несогласуемое между отдельными криптовалютами.

10) Возможность «отмотать» назад центральную ветку

Именно так, как это сделал год назад Ethereum. Делается «хардфорк» или «софтфорк» и «ненужные транзакции» оказываются отброшенными. (Кстати, отмотать можно и захватив 51% мощности, в этом случае пересчитывать блокчейн можно на любую глубину – в виде одного блока или части цепочки).

11) Эмиссия сосредоточена в руках либо майнеров (PoW), либо держателей валюты (PoS)

Производителям, которые хотят привлечь средства (взять кредит) придётся обращаться к держателям валюты. Для участников рынка (производителей товаров и услуг, и потребителей) нет никакого другого способа, кроме как занимать криптовалюту у майнеров или «толстосумов» с криптовалютой. Уже сегодня у Bitcoin основную долю блоков генерирует 3-4 пула.

12) Есть и частные странности. Например, зачем-то в Биткойн встроен свой скриптовый язык, который сегодня для генерации основной массы блоков использует только 4 инструкции из 80 (P2PKH). Кто и какие скрипты будет вписывать в блоки в дальнейшем и как это скажется на устойчивость и безопасность сети, сейчас мало кто может предугадать.

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

Что же делать?

Я чуствовал, что с блокчейном что-то не так, ещё 4 года назад, но решил повременить с критикой.

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

Блокнет

Я поставил такие цели:
1) как уйти от централизованной счётной ветки?
2) как пресечь узурпацию генерации блоков?
3) как при этом сохранить верифицируемость (проверяемость) записей?

Отмечу, что я не ставил задачи создания новой криптовалюты. На каком-то этапе я даже не ставил задачи создания платёжной системы. Вместо этого я занимался созданием распределённого нотариального (верифицирующего, подтверждающего) реестра. То есть такого, в котором система сможет подтверждать публично любые записи (завещания, договоры, долговые расписки, переходы расписок и другие виды гражданских, деловых и политических записей).

Техническое задание на нотариальный реестр получилось такое:
1. Децентрализация хранения блоков, уход от единой счётной ветки.
2. Распределённая генерация блоков, уход от поиска всеобщего консенсуса.
3. При всём этом сохранение верифицируемости, защита записей от подделок.

Я уже много лет пишу децентрализованную информационную систему, поэтому «техзадание» на народный нотариальный реестр было загружено в моё подсознание уже давно и в фоновом режиме тихонько обрабатывалось. Также в подсознании болталась проблема с биткойнами и другими блокчейнами. Изначально эти проблемы не были связаны между собой.

И вот года 2 назад, когда я сидел и в очередной раз кромсал бесконечный код своей Пандоры, внезапно передо мной с достаточной ясностью вырисовалась идея новой технологии, которую я назвал «blocknet» («блоковая сеть») или «blockweb» («блоковая паутина»). Пока ещё не определился, какое название больше подходит.

Блеск и нищета Bitcoin (а ещё про blocknet) - 3
Рис. 2. Блоковая сеть (blocknet).

Особенности:

1. Много корней генерации.
2. Любой блок может стать почкой для многих других веток.
3. Блоки, имеющие хоть один выход в паутину – ликвидны.
4. Построение цепочек идёт асинхронно, без обязательного всеобщего квантования.
5. Нет пустой генерации – почти все блоки (99%) попадают в паутину. Огромная экономия на объёмах трафика, на вычислительных мощностях и на электроэнергии.
6. Необязательная увязка разных веток, ветки могут разделяться и жить отдельно.
7. Чем больше включено блоков-источников, тем лучше (плотнее, связнее) паутина.
8. Полная децентрализация генерации, и как следствие, невозможность её узурпации, а также ускорение процессов генерации в каждой отдельной подсети.
9. Полная децентрализация разработки ПО, возможнось писать разные протоколы и разные форматы блоков разными командами разработчиков.
10. Возможность слияния разных веток даже после длительного размежевания подсетей.
11. После смыкания разных веток усиливается легитимность замкнувшихся цепочек – отдельные ветки ещё больше верифицируют друг друга.
12. Вместо Proof-of-work используется Proof-of-sign – доказательство подписями.
13. Бесконечная масштабируемость. Можно с отдельной веткой улететь на Луну, там генерировать изолированно, а когда вернёшься – влиться в общую блоковую паутину Земли.

Вы наверное уже заметили разницу: блок блокчейна имеет только один блок-родитель. Блок же блокнета может иметь несколько блоков-родителей (от 1 до N, где N – число всех предыдущих блоков или искуственное ограничение, например не более 255 блоков-родителей).

Блеск и нищета Bitcoin (а ещё про blocknet) - 4
Рис. 3. Различие блоков blockchain (слева) и blocknet (справа).

Для надёжной связности «паутины» у каждого паутинного блока должно быть некоторое минимальное число «родителей», ну например 7, начиная с которого «паутина» станет гарантированно пересекаться своими разрозненными ветками и такая связность обеспечит устойчивую верифицируемость блоков. Это минимальное число ещё предстоит выяснить (скорей всего эксперементально). Очевидно, что сверху число блоков-родителей ограничено размерами блока (каждая SHA256-ссылка на блок-родитель занимает 32 байта). При этом, чем больше «родителей», тем связаннее (и следовательно, надёжнее и верифицируемей) паутина.

В начале эксплуатации блокнета можно задать заведомо большое требование к количеству родительских блоков (например, 50), а затем уменьшать его до тех пор, пока не появятся разрывы в паутине в виде проблем с верифицируемостью (проверяемостью неполживости блоков). Это число и будет считаться оптимальным для блокнета.

PoW-прошивка

Отдельные локальные ветки могут генерировать блоки с добавлением Proof-of-Work-решений (PoW). Такие нитки будут как бы прошивать общую паутину. Так несколько PoW-цепочек могут «вплестись» в общий блокнет (например, Bitcoin и Emercoin), при этом, во-первых, каждая из них повысит свою устойчивость, а во-вторых – повысит устойчивость всего остального блокнета.

С другой стороны, к PoW-веткам могут «пришиваться» побочные не PoW-ветки, а к ним другие, на сколь угодно дальний уровень.

При этом угроза централизации уже не страшна. Побочные ветки сколь угодно долго могут независимо ветвиться по краям и только периодически (или при удобном случае) «приходить» на PoW-ветки за «легитимностью» и лучшей верифицируемостью.

При этом можно продолжать в пределах одной PoW-цепочки вычислять свою специфичную криптовалюту, тот же Bitcoin или Emercoin. Каждая криптовалюта может продолжать считаться в своей цепочке, частями вплетаясь в общую для всех блоковую сеть.

Почему бы уже сегодня отдельным блокчейнам не взять за правило время от времени переплетать свои ветки друг с другом и этим самым повышать свою взломоустойчивость? Что они теряют в этом случае?

Область применения

Но блокнет сам по себе даёт только децентрализованную систему для верификации записей/блоков и больше ничего. В частности, в него невозможно встроить механизм эмиссии всеобщей валюты (хотя систему вознаграждения встроить вполне можно, но об этом чуть ниже). Всеобщая валюта возможна, к сожалению, только при нахождении всеобщего консенсуса на каждом шаге генерации и выбора только одного блока-претендента, что в децентрализованном блокнете невозможно.

Тем не менее, нотариальную систему без сумашедшего майнинга мы уже имеем.
Для начала уже неплохо, не так ли?

Долговой пузырь и мощность рынка

3 года назад мы разбирали, что один производитель готов обменять имеющийся у него товар или услугу на долговые обязательства второго производителя, если уверен, что спустя время он сможет обменять эти долговые обязательства обратно на реальные товары или услуги, но другого производителя.

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

Сегодня проблемы начинаются тогда, когда объём суррогатных денег (фиатных денег и криптовалюты) начинает превышать реальный объём товаро-услуговых возможностей производителей. Тогда в руках, держащих суррогаты, происходит инфляция этих суррогатов из-за отсутствия их материальной обеспеченности.

В случае же, когда долговые обязательства материально обеспечены производителями, риска в обесценивании таких денег (расписок) почти нет. Точнее, эти риски уже связаны с надёжностью самих производителей, их производственных мощностей и заложенного в расписки материального выражения (электроэнергии, золота, кг картофеля и т. д.), а не растворяемыми на биржах объемами суррогатных денег и игрой на страхах брокеров.

Расписочная платёжная система

В упомянутой, но дополненной позже статье, помимо разбора теории и практики существовавших и существующих денег (долговых обязательств), я предложил следующую платёжную систему:

1) долговые обязательства выпускает производитель товаров или услуг;
2) долговые обязательства материально обеспечены его товарами и услугами;
3) долговые обязательства производителей становятся платёжным средством.

Это простые, но справедливые и интутивно понятные истины.

Теперь дело техники – нам осталось наложить «расписочную платёжную систему» на «блокнет». Уже догадываетесь?

1. Один производитель создаёт документ «Расписка».

В Расписке указаны следующие поля:
1) Издатель – Человек или Организация, которые будут оказывать благо в будущем.
2) Получатель – Человек или Организация, которые готовы принять благо в будущем.
3) Договор – документ, в котром описано какое конкретно благо и на каких условиях.
4) Валюта – любая расчётная единица, от рублей до электроджоулей и биткойнов.
5) Сумма – суммая в этой валюте, на какую Издатель оценивает данную расписку.

Поле «Валюта» служит для числовой оценки Расписки и быстрого перевода по таблице актуальных курсов в другие единицы измерения. Материальное же наполнение Расписки, прописанное в Договоре, остаётся постоянным. В случае, когда указанная валюта обесценивается, производитель всё равно обязан выполнять объём материальных благ (товаров и услуг). Т.е. в этом случае, валюта играет приблизительную, оценочную роль.

Но может быть и наоборот – первична будет сумма валюты расписки, а материальные блага будут выдаваться на эту сумму. Что первично, объем благ в договоре или указанная сумма валюты – должно быть прописано в договоре. (Хотя, может лучше сделать признак в самой расписке, тут я ещё мало думал). В этом случае, валюта выражает стоимостную роль, и показывает ценность расписки в валюте (а не в материальных благах). Но при этом, расписка всё ещё материально обеспечена, только объем материальных благ уже выдаётся по сумме валюты, с учётом стоимости самой валюты на день отоваривания расписки.

Пример «Расписки»:
1) Издатель – фермер Иванов из подмосковной деревни Бородино
2) Получатель – программист Петров пишущий децентрализованную систему Венера
3) Договор – Иванов обязуется выдать Петрову на складе в деревне Бородино 50 кг малины, а за это Петров добавляет в Венеру функцию для поиска покупателей саженцев деревьев в срок 1 месяц, также оговариваются все форс-мажоры
4) Валюта – емеркоины
5) Сумма – 75.

Блеск и нищета Bitcoin (а ещё про blocknet) - 5
Рис. 4. Расписка.

Итак, один из 2х участников, например, Иванов, создаёт расписку, затем оба участника подписывают её и рассылают ближайшим по веткам доверия узлам для нотариального подтверждения. Расписка упаковывается узлами сети в очередной блок вместе с другими расписками (и другими документами). Необязательно, чтобы это были все узлы сети, достаточно, чтобы это были, например, ближайшие узлы в сети доверия Иванова и Петрова, то есть их друзья, близкие и коллеги.

В блоке, помимо самих документов, содержатся ссылки на сформированные когда-то ранее родительские блоки, например, 1-2-3-дневной давности. Далее блок выставляется на всенародное подписание и начинает набирать как можно большее количество подписей.

Здесь важно заметить, что подписывать очередной блок не обязаны все участники сети. Достаточно, если блок будет подписан ближайшими доверенными из сети доверия Иванова и Петрова. С учётом числа Данбара и узлов 1-го уровня доверия, достаточно собрать подписи 300 человек (150 друзей Иванова, и 150 друзей Петрова). Но, на мой взгляд, достаточно 30-50 подписей друзей для уверенной верификации, и соответственно, легитимизации документов в блоке.

Таким образом Расписка попадает в блокнет и получает юридическую силу.

У Издателя Расписки (Иванова) после её выпуска возникает долговое обязательство произвести благо перед тем, кому передана эта Расписка, а в дальнейшем, перед тем, кто предъявит эту расписку. Получатель, согласно заключенной Сделке – должен оказать ответное благо. В указанный срок согласно Договору Получатель выполняет свой объём работ. После чего создаётся документ Накладная (или Акт выполненных работ), в которой есть ссылка на Договор. Накладную подписывает Издатель Расписки и этим самым подтверждает, что Получатель свою часть сделки выполнил, и Расписка становится активной на получение ответного блага.

2. Покупатель вместо отоваривания Расписки создаёт документ «Перевод».

Далее Петров может приехать в Бородино и получить по Расписке Иванова 50 кг малины. Но ехать далеко, поэтому Петров удалённо покупает на эту расписку монитор в одном из московских магазинов. Для передачи Расписки другому участнику существует документ – Перевод.

В Переводе указаны следующие поля:
1) Расписка – ссылка на расписку, используемую для платежа
2) Получатель – новый получатель расписки
3) Сделка – документ, в котором прописаны блага (если грубо, то это счёт на оплату)
4) Валюта – емеркоин
5) Сумма – 70

Для нашего примера «Перевод» такой:
1) Расписка – расписка Иванова перед Петровым
2) Получатель – московский интернет-магазин «Култекникс»
3) Сделка – монитор «Acer», 19'', чёрный – 1 шт.
4) Валюта – емеркоин
5) Сумма – 70

Блеск и нищета Bitcoin (а ещё про blocknet) - 6
Рис. 5. Перевод.

«Перевод» попадает в блокнет аналогично Расписке, собирает подписи и принимает юридическую силу, а это значит, что Расписка перешла в собственность «Култехникс», и оплата произведена.

На сдачу «Култехникс» выдаёт Петрову другую расписку в 5 емеркойнов, либо биржевой робот Иванова «разменивает» свою 75-эмеркойновую расписку на 70 и 5 емеркойновые. В последнем случае 70-емеркойновая расписка идёт в «Култехникс», а 5-эмеркойновая – Петрову.

Петрову выставляют Накладную и высылают монитор, получив монитор, Петров подписывает Накладную, подтверждая, что сделка завершена.

Спустя время «Култехникс» выдаёт зарплату бухгалтеру Сидоровой (с её согласия) посредством создания нового Перевода Расписки Иванова в адрес Сидоровой. Сидорова едет в Бородино и забирает полагающийся объём малины, либо переводит расписку кому-то ещё.

Таким образом, производители товаров и услуг выпускают Расписки на рынок, затем эти расписки двигаются от Получателя к Получателю с помощью Переводов, вызывая встречное движение товаров и услуг (подтверждаемое Накладными), пока не вернутся к своему Издателю (производителю).

Так работает паутинный блокчейн, нотариальный реестр и расписочная платёжная система.

Преимущества блокнета

1) полная децентрализация генерации блоков
2) полная децентрализация хранения блоков, нет нужды держать полную базу на каждом узле – узлу достаточно хранить только блоки доверенных узлов и доверенных участников
3) возможность изоляции в отдельные работоспособные сети
4) стыкуемость ранее изолированных подсетей с сохранением отдельных веток
5) отсутствие квантования, а значит, принципиальное отстуствие лимита на задержку
6) отсутствие тотальной бешенной гонки при генерации блоков, замена её локальными генерациями веток, в связи с этим, на порядки меньший расход энергии
7) в блокнете возникает необходимость строить ветки доверия – а это будет дисциплинировать узлы и участников

Недостатки блокнета

1) на каждый блок желательно хранить как можно большее число подписей (полагаю штук 100-500), а не 1 подпись на блок, как в блокчейне.
2) возможность расплатиться одной распиской много раз.

Первый «недостаток» таковым не является, так как хоть и придётся хранить много подписей, но это гораздо меньше, чем ВСЯ история блоков, как у централизованного блокчейна. В итоге, хранимый у пиров блокнета объем блоков с подписями к ним будет гораздо меньшим, чем хранимый объём всех блоков у пиров централизованного блокчейна.

Второй недостаток тоже таковым не является, потому что у каждого человека ограниченное и достаточно стабильное доверенное окружение. Если одна и та же расписка будет передана несколько раз, то это сразу будет выявлено после просмотра доверенного окружения 1-го уровня. Расписки, подписанные только «левыми» узлами (за пределами круга первых доверенных) почти со 100% вероятностью можно считать нелегитимными.

Подведём итог

У обычного блокчейна каждый блок имеет один вход (один предок) и один выход (один потомок), а у блокнета каждый блок имеет много входов и много выходов.

Построение блоковой цепочки в блокчейне заменяется на плетение блоковой сети (паутины). При этом отдельные «нитки» будут строиться разными узлами независимо от всеобщего консенсуса. Т.е. какая-либо «нитка» блокнета будет общей для некоторой локальной группы узлов, но не для всей сети. Время от времени «нитки» блокнета будут пересекаться друг с другом для взаимного усиления легитимности.

При этом поиск всеобщего консенсуса необходимый для блокчейна отменяется и заменяется частным подписыванием каждого отдельного блока некоторой (заинтересованной в этом блоке) группой участников.

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

Одеяло блокента, таким образом, пересекающимися лоскутками хранится на разных узлах и «сшивается» по запросу любого узла, когда ему необходимо выяснить легитимность какого-либо блока или отдельных «нитей» блокнета.

Разумеется, дьявол в деталях, и предстоит ещё много технической работы по реализации действительно распределённой блоковой сети. Но я надеюсь, сообщество программистов сможет справиться с этой задачей. А другого выхода нет. И кроме как на программистов человечеству надеяться не на кого. Так ведь?

Автор: Michael Galyuk

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js