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

Статья освещает:

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



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


Отметим следующие достоинства блокчейна:

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

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


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

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


Рис. 1. Блоковая цепочка (blockchain).

По факту имеем:

1. Один корень (генезис-блок).
2. Одна цепочка блоков.
3. В каждом поколении принимается только один блок, остальные – зря генерировались.
4. Очередное поколение случается только 1 раз в N минут (10 минут для Bitcoin).
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» («блоковая паутина»). Пока ещё не определился, какое название больше подходит.


Рис. 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 блоков-родителей).


Рис. 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.


Рис. 4. Расписка.

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

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

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

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

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

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

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

В Переводе указаны следующие поля:

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

Для нашего примера «Перевод» будет таким:

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


Рис. 5. Перевод.

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

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

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

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

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

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

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


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

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


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

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

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

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


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

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

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

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

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

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

Комментарии (67)


  1. qw1
    27.11.2017 10:24

    На скринах что — соцсеть или 1С: Торговля и склад?

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


    1. robux Автор
      28.11.2017 13:53

      На скринах прототип децентрализованной информационной системы Пандора.

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

      Если же производитель хочет выпустить круглогодичную расписку, то очевидно, что нужно не на свежие ягоды малины выписывать, а например, на малиновое варенье или сушеные/свежемороженые ягоды.

      В попытке уязвить автора не надо глупость свою демонстрировать.


      1. qw1
        28.11.2017 21:14

        Это не глупость. Люди не роботы, и они не смогут юридически точно формулировать все свои договора.

        А что делать садоводу, если у него на следующий год неурожай малины, или есть непогашенная расписка на малину, но он уже 5 лет как мечает вырубить малину и посадить на этом месте виноград. Но не может. Вдруг приедет кредитор.


  1. ARD8S
    27.11.2017 10:41

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


  1. ivan386
    27.11.2017 11:01

    Насколько я понял вы изобретаете децентрализованную биржу. Это логичный следующий шаг. Думаю что стоимость товаров надо выражать в том за что их купили без привязки к какой то внутренней валюте. А сеть будет вычислять отношение одного товара к другому.


    1. qw1
      27.11.2017 11:41

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


      1. ivan386
        27.11.2017 11:49

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


        1. qw1
          27.11.2017 19:01

          Вместо десятков валютных пар, по каждой из которых сейчас тысячи ордеров, будут 200.000 товарных пар, по каждой паре 1-2 ордера?


      1. robux Автор
        27.11.2017 11:55

        Материальная стоимость Расписки прописывается только в Договоре.
        Валюту же Расписки можно выбирать любую (я даже рекомендую выбирать популярную валюту): те же самые доллары USD, граммы золота и криптоединицы биткойна BTC.

        В статье даже пример разобран — «50 кг малины» в договоре, и 75 емеркойнов как валюта для оценки расписки.


        1. qw1
          27.11.2017 13:05

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


          1. robux Автор
            27.11.2017 13:35

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


            1. Hardcoin
              27.11.2017 19:49

              Нет, не будет. Производитель может сколько угодно указывать приоритетом цену в валюте, но от этого стакан малины 5 биткоинов стоить не будет. Передать можно будет только как стакан, а о цене каждый раз договариваться. И это крайне неудобно.


              1. robux Автор
                28.11.2017 11:38

                Нет, будет. Если производитель указал, что выдавать малину будет в объеме 5 биткойнов, то он и отгрузит малины на 5 биткойнов — по актуальной цене малины в биткойнах на дату отгрузки (это может быть больше или меньше стакана, в зависимости от того, куда «скакнул» биткойн).

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

                Ещё раз: возможны 2 вида расписки:
                1) первичен объем благ, указанный в Договоре Расписки
                2) первична сумма в валюте, указанная в самой Расписке.


                1. qw1
                  28.11.2017 21:01

                  Если производитель указал, что выдавать малину будет в объеме 5 биткойнов, то он и отгрузит малины на 5 биткойнов — по актуальной цене малины в биткойнах на дату отгрузки
                  Сеть может автоматически предоставить цену на любой товар в любой валюте? Как?

                  Рассмотрите 2 случая:
                  1) Малина вообще не торговалась в сети ни разу.
                  2) Были проведены фиктивные сделки по курсу, который точно не устроит других участников.


                1. Hardcoin
                  30.11.2017 02:07

                  То есть цена стакана в договоре не указана? Какой интересный договор. Только сумма поставки? 5 биткоинов? Хорошо и сколько же это будет малины? Я говорю — отгружай малины на 5 биткоинов, вот договор. Сколько он мне отгрузит — он сам решает? Или вдвоем? Или он где-то смотрит цену малины в биткоинах и отгружает по стандартной цене?


  1. NeoCode
    27.11.2017 11:26

    Чертовски интересно, я как раз чем то подобным заинтересовался. Хотя я чайник в блокчейне, но буду разбираться. Можно ли где-то посмотреть исходники?


  1. Golota
    27.11.2017 11:35

    Задавался подобными идеями:

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

    Суть идеи в том, чтобы создать лоскутковый блокчейн.

    Сейчас он вертикально стопочный. Каждый блок — это общая страница в общей стопке реестра. Это чертовски неэкономично. Ведь общая книга хранится в сотне тысяч зеркал. И не просто хранится, а все время листается в процессах верификации.

    Нам нужен код, который разобъет эту общую страницу на лоскутки, которые будут собираться как пазлы в блок. Ведь каждый пазл — уникален. И имеет уникальные края «сшивки» с пазлами-соседями.
    Блок этого одеяла лоскутков ограничен по размерам и верифицироваться будет по периметру этого одеяла. В блок надо вписывать сугубо выжимки из транзакций, голые адреса и цифры сумм переводов. Закрытые, проверенные блоки можно архивировать и не гонять по сети за зря. Достаточно несколько десятков зеркал, чтобы генеральный архив не пропал. Основная информация хранится в распределенных по сети лоскутках. Каждый лоскут имеет 2 зеркала для верификации.

    Как-то так.

    Пруф


    1. Golota
      27.11.2017 13:25

      Еще нюанс: чтобы не было скотства с пирамидальной скупкой этой валюты на грязный кеш, как с биткойном, надо сделать, чтобы эти «деньги» вообще нельзя было ввести-вывести в фиат. Т.е. нам нужна изолированная денежная система для фрилансеров. Это будут долговые расписки сугубо для бартерных услуг. Учитывая, то, что в будущем все мы станем либо фрилансерами либо безработными, если выживем с такими элитами, как наши, то глобальная стабильная экспансия без загрязнения такой валюте обеспечена.

      Присоединяйся к транснациональной стране фрилансеров, эмигрируй на Марс не улетая в космос!


      1. qw1
        27.11.2017 18:54

        Замкнутая экономика? То есть, молочка на свою работу купить можно, а новую видеокарту — уже нет?


        1. Golota
          29.11.2017 11:01

          Можно купить видяху у фрилансера, если он сам ее собирает. И в системе есть свидетели, что такое производство реально существует. Конечно, фрилансер в процессе сборки будет тратиться на массу компонентов и других вещей, но продавать же свое железо он будет не только на ништяки, а и на внешнем рынке.
          — Вы спросите, почему тогда корпорация не может продавать товары за фриланс-ништяки? Может! Важно, чтобы это были именно товары. Реальные ценности, а не грязный кеш. Нам надо поставить последнему прочный заслон.
          — Вы скажете, почему наркодиллер не может накупить на грязные бабки видеокарт и продать за ништяки? Дешевле, чем на рынке. Я отвечу, что если дешевле, чем на рынке, это явный баблоотмыв. И мы ему скажем — нет. Мы купим у производителя за сколько продаст. Т.е. в принципе не будем признавать посредников.
          Надо создать народные деньги, которые пахнут! И пахнут хорошо — трудовым созидательным потом чела.
          — Ниже чуть спрашивают, надо ли проверяющую комиссию (свят! свят!)? Конечно — надо. Вы не можете анонимно войти в систему и завести кошелечек, чтобы крысить себе вне обещественного контроля. Для анонимов и крыс есть биткойны! У нас же на входе местная клубная (профсоюзная) ячейка проверяет, кто вы и что вы, и можно ли доверять тому, как вы себя представляете. Могут и выгнать, да, запросто — за обнаруженное вранье. Суд товарищеский будет, состязательный процесс.
          Социофобам у нас не место!
          Да, это будет сеть для бедных, да, но твердых духом.
          Ибо биткойны — это беда от сатаны! Люди меньшинства не хотят отвечать перед обществом ни за что!
          Суть биткойн-спецоперации в том, чтобы произвести глобальную деноминацию перепечатанного в 10 раз бакса, но не вызвать мировой революции.


          1. Hardcoin
            30.11.2017 02:18

            Сеть для бедных, в которую ещё и попасть тяжело — сначала докажи благонадёжность? Религиозность не забудьте. Без религиозности в ней удерживать нечем будет :)


            1. qw1
              30.11.2017 12:04

              У вас 3 ошибки в слове «секта» ))


      1. Hardcoin
        27.11.2017 19:28

        То есть, если я захочу отдать свои коины/долговые расписки знакомому, а он захочет отдать мне бумажные доллары, например — то это нельзя? Каким образом планируете запрещать? Проверяющую комиссию создать, да? :)


  1. Ernest88
    27.11.2017 11:50

    Более совершенная и естественная система. Мне нравится. По поводу эмиссии, была идея вообще сделать валюту без нее. С увеличением пользователей просто увеличивается ее рыночная стоимость и уменьшается номинал «купюр» в обороте. К примеру изначально создано 1000000 коинов и их количество всегда одно, а через время курс будет 0,00001 коинов за доллар и так далее. Осталось просто стимулировать оборот а не накопление. Скажем если у пользователя более половины средсв осело, от них отщипывается и добавляется к пользователю более активно проводящему транзакции. Как-то так.


    1. ivan386
      27.11.2017 12:02

      Помоему важна стабильность валюты. Инфляция тоже провоцирует накопления потому что завтра тебе прийдётся булку купить за 3 рубля а не за 1 как сегодня. Но если купить булку сегодня то до завтра она зачерствеет. А сегодня она ещё не нужна.


      1. inferrna
        27.11.2017 12:42

        провоцирует накопления
        имелось в виду траты, а не накопления, я так понимаю. Накопления тут провоцирует свойство булки черстветь.


      1. JohnHenry89
        27.11.2017 15:13

        Только в условиях низких производственных способностей внутри страны. Если с этим все нормально, то инфляция будет стимулировать рост отечественного производства. Сама по себе инфляция это не вчера булка за 1 рубль а сегодня за 3 при постоянной зарплате в 1000 рублей. Это вчера булка за 1 рубль а сегодня за 3 при зарплате сегодня в 3000 рублей.


    1. inferrna
      27.11.2017 12:40

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


  1. 0serg
    27.11.2017 12:49

    Что в этой системе помешает провести double-spend? Ваш Иванов с его малиной раздаст тысячу расписок на 1 кг малины, соберет в обмен максимум материальных благ, а потом растворится в воздухе или будет тянуть годы с оплатой. Если бы существовал способ эту проблему решить, да еще и (крайне желательно) анонимно то и никаких «чейнов» не нужно было.


    1. vics001
      27.11.2017 23:02

      Фьючерсы в деле.


    1. robux Автор
      28.11.2017 09:15

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

      Для чёрного рынка пусть существуют биткойны и другие блокчейновые криптовалюты.

      Что касается платежей «двойная трата» (double-spend), то тот, кто получает оплату и планирует отгружать товар/оказывать услугу должен сделать запрос в блокнет и удостовериться, что там не было предыдущих оплат этой распиской от этого держателя.


      1. qw1
        28.11.2017 21:04

        сделать запрос в блокнет
        Есть возможность сделать такой запрос, который заглянет во все боковые ветки? Ведь ради отказа от обработки больших объёмов на каждой ноде и заведены эти ветки. Или такой запрос всё-таки должен поднять все гигабайты, хранящиеся на всех нодах?


      1. qw1
        28.11.2017 21:06

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


  1. ihouser
    27.11.2017 13:39

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

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


  1. worldmind
    27.11.2017 14:48

    А зачем в вашей системе блоки? Раз не нужен всеобщий консенсус, то их роль непонятна.


    1. Golota
      27.11.2017 14:57

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


    1. robux Автор
      28.11.2017 12:40

      Потому что кроме Расписок и Передач существуют и другие виды записей/документов, которые предстоит хранить в блокнете: Завещания, Дарения, Договоры, Доверенности, Поручительства, Залоги и так далее.

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

      Далее, у блока есть специализированные поля (ссылки на родителей, метод упаковки, время упаковки и так далее), которые будут многократно занимать место, если паковать в блокнет отдельные документы.

      Ну и наконец, собрать публичные подписи для 1го блока с 20 документами внутри выгоднее по объёму и операционным расходам, чем собирать публичные подписи на 20 отдельных документов.


      1. worldmind
        28.11.2017 21:25

        Да никакие блокнеты не нужны, есть документ, после того как его подписали все участники больше ничего не требуется, можно его положить в централизованное или распределённое хранилище (ipfs какой) и всё — документ можно можно предъявить и верифицировать.
        Зачем блоки?


  1. JohnHenry89
    27.11.2017 15:09

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

    Тут написано об отсутствии централизации как о чем-то хорошем, но в реальности это ужасно. Создание первых ЦБ в 19-м веке было громадным шагом вперед т.к. кто-то должен регулировать курсы валют, объемы эмиссии и т.п. Без всего этого мы скатимся обратно в средневековье.


    1. coturnix19
      27.11.2017 16:12

      1) В 19м веке не было настоящих курсов и не было настоящей эмиссии, а валюта была одна — золото; и хотя местами использовали также серебро, ко второй половине века и от него отказались, кроме как для мелочи. Номинации были в каждой стране свои, но фактически все жили в режиме currency board или типа того. Ну и золото конечно копали, но эта «эмиссия» не зависела от хотелок центробанков и осуществлялась независимыми майнерами; т.о. система саморегулировалась.
      2) первый центробанк, английский. появился таки раньше (то ли 17й то ли 18й век)
      3) настоящая лафа центробанкинга началась в первых декадах века 20го, уже после того как случилось две стадии промышленной революции (паровая и сталеварная), и примерно совпал с началом периода тотальных воен и революций. Злые языки говорят что эти две тенденции как то связаны, но это не очевидно — тотальные войны бывали и без центробанков.


      1. JohnHenry89
        27.11.2017 18:20

        В 19м веке не было настоящих курсов и не было настоящей эмиссии

        Эмиссия была точно такая-же как сейчас.
        но фактически все жили в режиме currency board

        Обмен бумажных билетов на джрагметаллы тут-же прекращался в чрезвычайных ситуациях или когда ЦБ чувствовал что ситуация становится критичной. Всякие свободные рынки это ведь миф; скажем, если позволить биржам работать круглосуточно в моменты паники, то экономики целых стран стран могут рухнуть. Так и разменом денег — все всегда это понимали.
        Ну и золото конечно копали, но эта «эмиссия» не зависела от хотелок центробанков и осуществлялась независимыми майнерами; т.о. система саморегулировалась.

        Очень наивное представление; неужели страны в которых не было месторождений драг.металлов до появления Ямайской валютной системы были нищими а те в которых они были — богатыми? Скажем, в Великобритании было полно золота а в России его не было? Как раз наоборот.
        настоящая лафа центробанкинга началась в первых декадах века 20го, уже после того как случилось две стадии промышленной революции (паровая и сталеварная)

        Паровые двигатели начали применять задолго до 20-го века. На начало 20-го столетия основным типом промышленного двигателя стал электрический. Да и не так уж давно это было, между прочим.
        Злые языки говорят что эти две тенденции как то связаны, но это не очевидно — тотальные войны бывали и без центробанков

        Войны за мировую гегемонию продолжительностью ок. 30 лет (с перерывами) проходили до появления ЦБ. Пример — наполеоновские и революционные войны между Францией и Великобританией и 30-и летняя война между Нидерландами и Габсбургами.


      1. nikolay_karelin
        28.11.2017 09:36

        В "Капитале" К.Маркса об этом недостатке золота и говорится — за счет фиксированной стоимости золота весь 19-й век то и дело возникали кризисы перепроизводства (точнее, дефляционные).


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


        1. coturnix19
          30.11.2017 15:10

          В «Капитале» К.Маркса об этом недостатке золота и говорится — за счет фиксированной стоимости золота весь 19-й век то и дело возникали кризисы перепроизводства (точнее, дефляционные).
          — они возникали из-за частичного резервирования и обусловленной этим инфляции, не как следствие металлических стандартов самих по себе. Можно конечно спорить о том, необходима ли инфляция для экономического развития, но именно она вызывала и вызывает кризисы (которые, кстати особо никуда и не делись даже после отвязки от З.С. только характер их стал иным).


    1. Golota
      27.11.2017 18:48
      +1

      Вы не понимаете сути биткойн-движения. Это бунт социофобов. Любая централизация системы обмена подразумевает субъект социальной ответственности, а криптоанархисты (либертарианцы) — ненавидят любую социальную ответственность. Они видят как за любой социальной организацией торчат клоки бороды Карла Маркса с его «отнять и поделить». Это фронт принципиально безответственных меньшинств, презирающих чернь большинства и все ее заведомо тоталитарные проблемы. Поэтому я бью в набат и трублю повсюду, что криптонет — это безнал для тени
      Вот в этой антиутопии от пророческого итальянца из 2014 года психология криптобунта замечательно раскрыта.


      1. JohnHenry89
        27.11.2017 22:12

        Представляю битву за цитадель с последней уцелевшей HD4870… Неплохой простор для фантастики, на самом деле.
        Я искал но пока не нашел график курса билетов МММ, собственно искал потому что у них и у курса биткоина должны быть примерно похожие графики. Вообще история с криптовалютами безусловно интересная штука. При определенной доле паранойи в них можно увидеть карманный проект AMD.

        криптоанархисты (либертарианцы) — ненавидят любую социальную ответственность.

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


  1. thatsme
    27.11.2017 18:26

    Очень похоже на Graphene BitShares 2.0 по принципу эксплуатации, однако я вижу один самый большой недостаток (возможно я не прав): полное отсутствие в схеме концепции trustless. Т.е. всё построено на доверии. Это так?


  1. Hardcoin
    27.11.2017 19:43
    +1

    В случае, когда указанная валюта обесценивается, производитель всё равно обязан выполнять объём материальных благ

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


    1. nikolayv81
      28.11.2017 21:09

      Купить можно только после публикации отчётности подписанной кем-то из большой четвёрки :)


  1. maslyaev
    27.11.2017 20:11

    Сильно напоминает IOTA. Или показалось?

    Сразу несколько проблем с такой сетью:
    1. Если одна ветка противоречит другой ветке (по любой причине, хотя бы даже банальная двойная трата какой-нибудь несчастной копейки), то как их между собой сливать? Допустим, сделали нотариальную систему и пишем туда завещания. На одно и то же имущество может быть несколько завещаний от одного и того же владельца, и это нормально. В силу должно вступать то, которое самое последнее. Предположим, отпочковалась ветка, улетела на Луну (Ваш пример) и некоторое время живёт там своей жизнью. На Земле в земном реестре домик у моря уже успели три раза продать и сдать в аренду. В лунном реестре — тоже. Как теперь привести дела в порядок?
    2. (продолжение проблемы) Реестр перестаёт существовать как единое целое. Если я простой юзер реестра, мне может быть полезно в нём что-нибудь проверить. Например, хочу узнать, действительно ли Ашот, представившийся мне владельцем автомобиля, им является. Или он полчаса назад уже его кому-то продал. В какой узел мне смотреть? Куда постить select?
    3. В сети отсутствует правильная и надёжная привязка записей ко времени. То, что в какой-то ветке запись датирована ноябрём 2017-го года, совсем не означает, что она сделана раньше, чем запись в другой ветке, датированная декабрём. Две ветки успешно слились в единое целое в январе 2018-го, и до правды теперь уже никто не докопается никогда. Единая цепочка хороша тем, что в ней хоть лопни, хоть тресни, запись с большим номером позже, чем запись с меньшим.

    Привязка ко времени — это очень серьёзно. По сути, с инфотехнологической точки зрения модные блокчейн-технологии нам интересны именно тем, что дают нам реестры, в которых невозможно ничего подкрутить задним числом. А если любой болван может по-быстрому забодяжить боковую ветку со своей альтернативной историей, то в чём смысл?

    Плюс к тому, мне кажется, отбрасывание боковых веток в «традиционных» блокчейнах — не основной источник чудовищных эксплуатационных расходов этих технологий. Основной источник — в PoW, который можно немножко смягчить при помощи PoS, но смягчить не принципиально. PoW — это не отключаемый стоп-кран, встроенный в самую основу технологии. Говорят, что энергозатраты на майнинг криптовалют уже достигли масштабов страны (конкретно говорили про Эквадор). Эквадор — это, конечно, не самая большая и энергоёмкая страна, но чего ждать дальше? Что биткойновые фермы перекроют энергопотребление Германии? США? Китая? Не слишком ли жирно для инфосистемы, способной инсертить 7 записей в секунду?


    1. Hardcoin
      30.11.2017 11:27

      Pos не немного смягчает, а кардинально. Нет награды за вычисление хеш-функций — нет повода вообще покупать какое-то оборудование.


      1. maslyaev
        30.11.2017 14:58

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

        Нет награды за вычисление хеш-функций — нет повода вообще покупать какое-то оборудование.
        Надо прекратить маяться дурью с вычислением хеш-функций случайных чисел. Имеющееся оборудование сдать в утиль. А задачу решить другими методами.


        1. Hardcoin
          30.11.2017 15:16

          Совершенно неясно, кому надо. Можете предложить что-то другое? Предполагайте. Будет более интересное — люди начнут пользоваться и постепенно прекратят "маяться дурью".


          Или под "надо прекратить" вы подразумеваете запреты? Так люди готовы жечь электричество, как Эквадор ради небольшого шанса освободиться от любителей запретов. Надо будет — они и генерацию США сожгут.


          1. maslyaev
            30.11.2017 16:08

            Или под «надо прекратить» вы подразумеваете запреты?
            Да боже ж упаси! На уровне процессора реализовать распознавание и запрет вычисления SHA-256? :)))

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


            1. Hardcoin
              30.11.2017 17:02

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


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


              1. maslyaev
                30.11.2017 18:25

                С июня по сегодня много чего додумалось.

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

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

                В принципе, этот подход неплохо решает проблему ненадёжности инфраструктуры, но вообще понятие «надёжность» намного шире, чем банальный технический её, надёжности, аспект. В первую очередь, если говорить об append-only реестрах (которые совсем не обязательно платёжные системы для гиков, спекулянтов и наркоторговцев), то в моей схеме появляется децентрализация качественно другого уровня. По сути, каждый юзер, храня у себя на своём харде или на флешке в кармане маленький кусочек данных (актуальный срез хеш-дерева), становится гарантом неизменности «задним числом» данных реестра. Чтобы хакнуть чейн биткоина, нужно исхитриться перегенерить цепочку, и если она окажется длиннее текущей, сообщество её схавает не хрюкнув. Это очень вычислительно затратно, но не невозможно. Но чтобы поджулить что-то задним числом в моей схеме, нужно найти и отстрелить всех, кто успел снять и сныкать у себя срезы. А также всех, с кем они успели пообщаться. Срез — это всего лишь файлик размером в несколько килобайт. Задача найти и подчистить все нычки — вообще нерешаемая. То есть да, подчистить такой реестр можно, но сделать так, чтобы в месте зачистки не остался заметный всем шрам, невозможно (не «сложно», не «затратно», не «маловероятно», а именно невозможно). По факту имеем, что вроде бы начали с централизованной схемы, а за счёт подключения юзеров к решению задачи получилась гораздо более крутая децентрализация, чем даже у Биткоина.

                Кроме того, если реестр не один и мы научились дружить реестры между собой, то получаем возможность сделать так, чтобы юзер одного реестра мог своим срезом верифицировать неизменность любого реестра. В результате он, имея верификацию лога резервирования товаров на своей фирме, также этим же своим файликом может криптографически достоверно убедиться в неизменности каких-нибудь данных о поставке пакистанской говядины, записей налоговых начислений где-то в Аргентине и реестра недвижимости Сиднея. Это уже получается даже не сетевой эффект, а метасетевой. Хакать все реестры и до кучи к ним компы, мобильники и флешки мира, притом каждый девайс по-своему — полностью непроходимый уровень.

                Вот такая птичка в яичке. А сейчас — да, смешная централизованная архитектура не пойми чего для поимки нечистых на руку сисадминов.


                1. Hardcoin
                  30.11.2017 19:17

                  Задача найти и подчистить все нычки — вообще нерешаемая

                  А зачем? Ну увидели вы, что центральный сервер (или 20 центральных серверов по вашей новой схеме) поменял несколько записей — и что? Вы в суд с этим пойдете или как-то ещё использовать будете?


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


                  1. maslyaev
                    30.11.2017 21:18

                    И каждый может отследить подмену цепочки (вопреки вашему утверждению), имея хеши предыдущих блоков.
                    Насколько я что-то понимаю в биткойновом блокчейне, нода из двух присланных ей корректных вариантов продолжения цепочки без выберет тот, который длиннее. Допустим, есть N блоков и прислали два продолжения — +2 и +3. Первое (+2) опирается на имеющийся N-й блок, а второе (+3) — на N-10-й. Чтобы остаться в обойме и не отбиться окончательно от стада, нода должна выкинуть на помойку свои последние 10 блоков и выбрать "+3". А если будет упорствовать и выберет "+2", больше майнингом ей можно не заниматься т.к. её цепочки всё равно никто принимать не будет.

                    То есть если Доктор Зло изобретёт квантовый компьютер, подбирающий хеши с дьявольской скоростью, то он сможет сгенерить цепочку N-1000… N+100, и вся толпа её радостно обязана будет принять. PoW защищает нас от подмены записи задним числом, но не делает её невозможной. Господин судья посмотрит в актуальную версию реестра и скажет, что ответчик Д.Зло прав, а истцы идут лесом. Ситуация, конечно, гипотетическая и можно быть спокойными, потому что так не бывает. Но за это «не бывает» приходится очень дорого платить, например, вот этим:
                    1. Вспомним про Эквадор. Энергозатраты масштаба страны — это уже серьёзно. А дальше, возможно, безумие будет только нарастать. Угандошим ведь планету алчности своей ради. Не знаю кому как, а мне жалко. Мне здесь местами бывало уютно.
                    2. Если «типовой» блокчейн сделать быстрым и дешёвым (а не 7 записей в секунду с минимальной латентностью в районе 10 минут и абсолютно нереальной себестоимостью записи), то теряется надёжность, за которую все любят эту технологию. Увеличиваем надёжность — ухудшаются характеристики. Господа, выбирайте — или надёжность с сумасшедшей затратностью, или дёшево, но любой Д.Зло нагнёт вас как щенков даже без квантового компа.
                    3. Когда скамеры в своих вайтпейперах рассказывают о том, что внедрение блокчейна сделает реализацию их прекрасной идеи надёжной и дешёвой — это всё фуфло. Ибо п.2. Реально мы имеем то, что идея append-only-реестра — это действительно технология, которая делает решаемыми огромный ворох ранее нерешаемых IT-задач, но в жизнь конкретно сейчас это может выходить только в виде ICOшного скама. Даже изначально кристально честные блокчейн-стартаперы обречены со временем обнаружить, что они, как и остальные товарищи, оказались скамерами. Потому что или запредельно дорогая надёжность, или дырявая хрень за вменяемые косты. Решение тех задач, которые могли бы быть решены, откладывается.

                    В итоге будем иметь и нерешённые задачи (п.3), и убитую среду обитания (п.1).

                    Ну увидели вы, что центральный сервер (или 20 центральных серверов по вашей новой схеме) поменял несколько записей — и что? Вы в суд с этим пойдете или как-то ещё использовать будете?
                    Схема остаётся работать даже при полном отсутствии судебной практики. Например, приходит устраиваться на работу парень с красным дипломом Иркутского универа, который он, говорит, закончил 10 лет назад. Вместо бумажки, как уже стало в нашем светлом будущем принято, номер записи в реестре. Смотрим, видим — да, есть такой. А теперь протягиваем от этой записи цепочку хешей к имеющейся у нас сохранённой правде про события десятилетней давности. Цепочка протянулась, но хеши не сошлись. Извини, друг, но твой диплом — подделка. Не было такого 10 лет назад. Способность убедиться в том, что правда является правдой без участия authority — очень дорогого стоит. Суд не нужен. Мы безо всякого суда обретаем способность отличать правду от подделки задним числом. И на основании этого сами своей головой принимать решения.

                    Если смотреть на происходящее в целом, то знаете почему внедрение безбумажных технологий увеличивает расход бумаги (чёрт, опять эта экология)? Почему кроме занесения записи в базу нужно ещё распечатать, проштемпелевать и подписать листочек А4 в двух экземплярах? Чисто потому, что последовательность нулей и единиц, существовавшая 10 лет назад, ничем не отличается от последовательности, сгенерённой минуту назад. Цифровые данные невозможно датировать. С применением append-only-реестров такая возможность появляется. Вопрос не в том, чтобы кому-то что-то «доказывать», а в том, чтобы без опоры на «авторитеты» иметь возможность самим знать правду. Самим!!!

                    Вообще, это, конечно, жутчайшая ересь. Вектор развития цивилизации в том, что всё должно быть делегировано. Добыча пищи — сельхозконцернам и пищепрому, безопасность — спецслужбам, здоровье — официальной медицине, воспитание детей — педагогам, даже выбор что вечером посмотреть — соцсетям и рекомендательным сервисам. Человек сам ничего не должен делать. Тем более, отличать правду от вымысла. Для этого есть авторитеты. Магия блокчейна — тоже для того, чтобы делегировать от себя отличение правды от лжи. Задача уходит в волшебную сеть, и нам самим категорически противопоказано участвовать в её решении. И тут нате вам, технология, в которой само двуногое существо чем-то единолично владеет и нагло это использует для принятия своих решений. Да за такую ересь на костёр надо.


                    1. qw1
                      30.11.2017 22:33

                      То есть если Доктор Зло изобретёт квантовый компьютер, подбирающий хеши с дьявольской скоростью, то он сможет сгенерить цепочку N-1000… N+100, и вся толпа её радостно обязана будет принять. PoW защищает нас от подмены записи задним числом, но не делает её невозможной
                      Вообще-то, проблемы будут посерьёзнее. Злоумышленнику проще взломать приватные ключи и выбросить в сеть поддельные транзакции (или фейковые данные, если блокчейн не о деньгах). При этом, квантовые компьютеры лучше ломают задачи ассиметричной криптографии, чем тупые SHA256(SHA256(x)), или более замороченные комбинации хешей в других криптовалютах.


                      1. qw1
                        30.11.2017 22:34

                        Да, и кстати, если хеши ломаются, то и вашему реестру тоже нельзя верить?


                        1. maslyaev
                          30.11.2017 23:03

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


                      1. maslyaev
                        30.11.2017 22:55

                        Вообще-то проблемы менее серьёзные. Если биток резко падает в разы (чему, как известно, ничто не мешает), пулы стопорят ставший невыгодным майнинг, и если находится самый стойкий пул, готовый некоторое время нести убытки, то этот пул получает >50%. И имеет всех как хочет. Так что даже без квантов и взлома стойкого крипто.

                        А все остальные блокчейны, побирающиеся с барского стола — вообще захапываются по сценарию ">50%" без космических затрат и благоприятных стечений обстоятельств.


  1. fukkit
    27.11.2017 21:36

    Расписки — это фейл. Немножко подучив матчасть, мы с удивлением обнаружим, что запредельный кредитный риск режет идею прямого обмена обязательствами на корню. Централизация и единый гарант неизбежны не потому, что их навязали при помощи армии с полицией, а потому что при наличии в коллективе неизвестного количества скрытых крыс здравомыслящий участник не будет доверять более-менее никому из окружающих.


  1. akme
    28.11.2017 00:28

    Такое ощущение, что автор переизобретает DAG


  1. DrVadson
    28.11.2017 09:09

    В Ethereum блоки, не вошедшие в основную цепочку блоков, не отбрасываются, как в Bitcoin, а включаются в блокчейн. Именно это позволяет майнить блоки быстрее, чем в Bitcoin. Статья от Виталика: blog.ethereum.org/2014/07/11/toward-a-12-second-block-time


  1. cepera_ang
    28.11.2017 14:12

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

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


  1. speller
    30.11.2017 16:03

    Основную проблему предложенной системы вижу в деанонимизации:

    1) Те, кому доверяет Ваня, имеют всю информацию о его денежных расходах, договорах и завещаниях.
    2) Публичность участников подразумевает цифровое удостоверение личности с центральным удостоверяющим центром. Иначе как произвести подтверждение, что пришёл запрос на подпись от реального Вани, а не от его соседа Пети? Необходимость проверять личность контрагента приводит нас к тому, что УЦ, принадлежащий государству, может отозвать подписи у неугодных и таким образом заблокировать их работу. Отсутствие УЦ подводит нас к уязвимости перед ботнетами, где миллионы девайсов могут под видом реальных людей совершать фейковые сделки, а потом, набрав «веса» доверия, сгенерировать такую массу фейковых сделок, что вся система будет парализована и все перестанут доверять всем.


    1. robux Автор
      30.11.2017 16:06

      1) Это нормально — доверять своим доверенным.
      2) А кто будет удостоверять удостоверяющие центры? Вывод: удостоверяющие центры не нужны, вместо них для верификации ключей должна использоваться сеть доверия.