Представьте себе идеальное сообщение, идеальный блокчейн и идеальный мюзикл!
Теперь представьте, что наш идеальный блокчейн участвует в развлекательном бизнесе, и мы нанимаем Лайзу, Майкла, Хельмута, и всех остальных, чтобы ровно в 7 вечера устроить путешествие в гедонизм 1930-х годов, Кабаре. Стоимость билетов от 20EOS, купить можно на блокчейне.
А затем прибывает Crypt-XO, известный любитель театра, и спрашивает, как же производится форк основанного на передаче сообщений блокчейна?
Это заставило меня задаться вопросом, @iang_fc, каким образом в блокчейне, основанном на передаче сообщений, происходит хардфорк? В чем разница?
И так как это хороший вопрос – как это можно сделать? – Я размышлял об этом целый день. И составил план. И, что еще более сложно и интересно, я создал схему слияния двух цепей, которые были разделены.
Ведь правда же – если цепь может разделяться, она может и объединиться, верно? "Это разумно..." Это обычное дело в театральном бизнесе, я видел это в кино.
"Театр твой" - говорит раненый Ричард Бербейдж готовому к бою Уильяму Шекспиру.
Так что мы знаем, что театры могут объединяться. Разделение валюты так же просто, как и разделение театра, что подтверждается прекрасными постановками – Bitcoin на Бродвее и Ethereum в Альберт-Холле. Слияние кажется правдоподобным и, пока я пытался определиться с тем, что же значит объединить валюту, мне пришло в голову, что несмотря на то, что в песне поется "Деньги заставляют мир крутиться...", мир – это не только деньги.
На театральные постановки Кабаре билеты, разумеется, распроданы на месяцы вперед. Как же это будет работать теперь, когда наш блокчейн разделен и билеты доступны дважды?
Количество мест тоже увеличилось в 2 раза? Актеры поют и танцуют в два раза быстрее?
Помимо денег на мир также влияют компании. Так что насчет DAC? В нашем случае Распределенная Автономная Корпорация (или “DAO” на слегка неудачном жаргоне Ethereum) распределила 100% своих долей среди акционеров. Получат ли акционеры в случае форка 200% акций: 100% в левой цепочке и еще 100% – в правой? Должен ли исполнительный директор и весь персонал работать с удвоенной силой, чтобы выплатить вдвое больше дивидендов? Получат ли сотрудники в два раза большую зарплату? Что произойдет, когда придет налоговая?
А что будет с бабушкиным домом? Если Mattereum проделал всю свою законную работу, чтобы разместить дом бабушки на блокчейне, а потом произошел форк, то теперь есть два дома? Две доли? Две бабушки? Может быть, бабушкам придется сдавать вдвое больше комнат, например, дневные комнаты и ночные комнаты?
Если действительно "деньги заставляют мир крутиться", то заставит ли форк его крутиться в два раза быстрее? Я вижу только одно преимущество в таком видении форков, как у Bitcoin и Ethereum: если центральный банк перешел бы на блокчейн, то у него была бы возможность сделать форк, чтобы провести масштабное количественное смягчение. Подумайте о преимуществах! Если бы ФРС выпустила Единый Истинный FedCoin, то кризис 2008 года было бы так легко преодолеть – сделали форк и забыли. Два Единых Истинных FedCoin'а в два раза лучше, как сказали бы экономисты!
Или, если ЕС столкнется с бунтом на своих окраинах, тогда ждите Грексит, Брексит и Прексит! Британцы тогда могли бы быть довольно счастливы, расплачиваясь Бройсами, в то время как Греки будут тратить свои Грейсы.
В форке есть что-то для каждого. И в этом вся проблема – это концепция, которую могут назвать здравой только благотворительные и неправительственные организации вкупе с другими мистиками. Настоящие бухгалтеры, действующие собственники, реальные люди, которые на самом деле считают и ведут учет в математическом смысле слова, просто не могут иметь дело с идеей, что вчера у вас было что-то одно, а сегодня этого уже два.
Может, они бы и сказали “да” двойному объему денег, но наверняка “нет” двойному объему обязательств.
Отчасти контракт состоит в том, что обе стороны соглашаются, что есть только одна сделка, одна сумма наличных, однократный обмен. Вы не можете форкнуть намерение вашего партнера, следовательно, не можете форкнуть контракт. Или, по крайней мере, ожидать, что после этого контракт сохранится. Только в чрезвычайных обстоятельствах криптовалютный код-как-контракт может быть форкнут, и это не фича, это – баг. Цепочка, которая может быть разделена, или цепочка, которая допускает форк контракта, на самом деле не заключает контракты.
Хотя еще не все потеряно. В блокчейне, основанном на передаче сообщений, таком как EOS, должна быть возможность написания контрактов для управления форком. И хотя два форка и могут существовать независимо (и для этого есть сценарий), сам контракт должен действовать как единое целое.
Цепочка может разделяться, но контракт – не может. Он может распознавать сообщения, применимые к обеим цепям, и должен учитывать, что ключ или агент, подписывающий сообщения для обеих цепочек, скорее всего в конфликте. Таким образом, он может просто заморозить любой ключ или аккаунт, который связан с сообщением из обеих цепочек, и привести контракт в в режим конфлика из-за форка.
Необходимым условием здесь может быть то, что сообщение должно указывать, к какой цепочке оно относится. Я полагаю, что это возможно сделать, ссылаясь на заголовок блока, примерно как в TAPOS (Транзакция как доказательство владения долей - Transaction As Proof Of Stake). Здесь есть над чем подумать, но в целом это означает, что программный агент, который имеет дело с вашим аккаунтом и хранимой в контракте ценностью, должен быть осторожен и не писать сообщения, относящиеся к двум раздельным заголовкам блоков в форках, потому что контракт, вероятно, интерпретирует это как форк и полностью заморозит этого агента. По крайней мере, пока не будет получено сообщение об аннулировании одной из сторон. И то не наверняка.
Как я уже сказал, это нужно хорошенько обдумать (может, описанное выше всё же вариант?), но это, пожалуй, говорит о том, что мы всё же можем производить форки основанной на передаче сообщений цепи, если очень сильно захотим.
В цепочке, основанной на состоянии, которая является обратной стороной вопроса Crypt-XO, это намного сложнее. В системе на основе UTXO код связан с транзакциями, поэтому каждая транзакция является авторитарной и самостоятельной, а следовательно, вообще не относится к форку. В EOS, по крайней мере, это решается основанной на сообщениях парадигмой. (Я не уверен, что Ethereum выживет в таких условиях, потому что он основывается и на сообщениях, и на состоянии, что только удваивает сложность и путаницу).
Не суть. Я просто хотел бы вбить кол в сердце форка. Представление о том, что блокчейн может просто так разделиться, потому что мы все разные, и при этом вся ценность тоже разделится, губительно для бизнеса. Это как конфеты – для детей, крэк – для "курильщиков", кнопка QE – для правительств, и честно говоря, это убивает практически любой смарт-контракт. Тот факт, что блокчейны мечутся туда-сюда, делают хардфорки и удваивают деньги, демонстрирует, что никто не может запустить смарт-контракт на таких цепочках и надеяться на то, что он будет распоряжаться ценностью должным образом.
И что тогда такое смарт-контракт, если он не может распоряжаться ценностью? Черт его знает, что произойдет со всеми этими продажами токенов на Ethereum, если сегодня случится форк. Если это вас беспокоит, я просто напомню вам слова Лайзы о депрессии:
"Что хорошего в том, чтобы сидеть в одиночестве в своей комнате?
Приходи послушать музыку!
Жизнь - это кабаре, старина,
Приходи же в Кабаре!"
Свежие новости в Телеграм: t.me/EOS_RU
Оригинал поста: ЗДЕСЬ