О децентрализации блокчейна: определение нового пути

О децентрализации блокчейна: определение нового пути

Источник · Перевод автора

 

«Звучит отлично, но достаточно ли децентрализовано?»

Этот вопрос стал определением всей легитимности проекта блокчейна за последние несколько лет. Если новый дизайн недостаточно децентрализован, его часто называют «централизованным дерьмом» от основных критиков, в то время как «правильная» цель децентрализации, включающая множество новых методов, получает высокую оценку за «продвижение отрасли вперед». С другой стороны, относительно новые платформы, такие как EOS, которые отдают предпочтение производительности обработки по сравнению с децентрализацией по конструкции, получают огромную поддержку от людей и разработчиков, которые предпочитают массовое внедрение, а не смутную идеологию, и в то же время сталкиваются с жестким осуждением со стороны своих оппонентов, в основном из сообщества Ethereum.

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

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

1. Определение

Давайте начнем с простого вопроса: что такое блокчейн?

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

В оригинальном документе Биткойна Сатоши «цепочка блоков» была просто определена как «цепочка цифровых подписей с метками времени, которые связываются и проверяются с использованием метода, аналогичного алгоритму Adam Back’s Hashcash». Это было самое начало цепочки Proof-of-Work, которая до сих пор поддерживает многие крупные блокчейны, известные теперь под названием Nakamoto Consensus. Это определение осталось примерно таким же с большинством других цепочек Proof-of-Work до Ethereum, главным образом потому, что подавляющее большинство из них были форком кодовой базы Биткойн.

Ethereum, с другой стороны, существенно изменил это определение «блокчейна». Самым значительным изменением, которое внес Ethereum, были транзакции на основе состояния, которые полностью отличались от модели UTXO, которую разделяли Биткойн и его кузены.

Почему это так важно? Это огромно, потому что оно изменило само определение и допущения «цепочки блоков» от таковых у биткойнов. Чтобы увидеть это более подробно, давайте взглянем на определение «цифровых монет» и «транзакций» из документа Биткойн:

«Мы определяем электронную монету как цепочку цифровых подписей. Каждый владелец переводит монету следующему, подписывая цифровой хэш предыдущей транзакции и открытый ключ следующего владельца и добавляя их в конец монеты. Получатель платежа может проверить подписи для проверки цепочки владения. (…) Нам нужен способ, чтобы получатель платежа узнал, что предыдущие владельцы не подписывали более ранние транзакции. Для наших целей учитывается самая ранняя транзакция, поэтому мы не заботимся о последующих попытках удвоить расходы. Единственный способ подтвердить отсутствие транзакции – это знать обо всех транзакциях. В модели, основанной на монетном дворе, монетный двор знал обо всех сделках и решал, что прибыло первым. Чтобы выполнить это без доверенной стороны, транзакции должны быть публично объявлены [1], и нам нужна система для согласования участниками единой истории заказа, в котором они были получены. Получатель платежа должен доказать, что на момент каждой транзакции большинство узлов соглашалось с тем, что он был получен первым».

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

 

Сравните это с определениями того же понятия из документа Ethereum…

В Ethereum состояние состоит из объектов, называемых «учетными записями», причем каждая учетная запись имеет 20-байтовый адрес, а переходы состояния представляют собой прямые передачи значения и информации между учетными записями. Учетная запись Ethereum содержит четыре поля:

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

«Эфир (Ether)» является основным внутренним криптопливом Эфириума и используется для оплаты транзакций. Как правило, существует два типа учетных записей: учетные записи, принадлежащие извне, контролируемые закрытыми ключами, и контокоррентные счета, контролируемые их кодом договора. У учетной записи, находящейся во внешней собственности, нет кода, и можно отправлять сообщения из учетной записи, находящейся во внешней собственности, путем создания и подписания транзакции; в контокоррентном счете каждый раз, когда контокоррентный счет получает сообщение, его код активируется, что позволяет ему считывать и записывать во внутреннее хранилище и отправлять другие сообщения или создавать контракты по очереди.

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

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

Транзакции содержат:

  • получателя сообщения
  • подпись, идентифицирующую отправителя
  • количество эфира для передачи от отправителя получателю
  • необязательное поле данных
  • значение STARTGAS, представляющее максимальное количество вычислительных шагов, которые разрешено выполнить при выполнении транзакции
  • значение GASPRICE, представляющее плату, которую платит отправитель за вычислительный шаг

Первые три являются стандартными полями, ожидаемыми в любой криптовалюте. Поле данных не имеет функции по умолчанию, но виртуальная машина имеет код операции, который контракт может использовать для доступа к данным; в качестве примера использования, если контракт функционирует как служба регистрации домена в блокчейне, то он может захотеть интерпретировать передаваемые ему данные как содержащие два «поля», первое поле – домен для регистрации, а второе поле является IP-адресом для регистрации. Контракт будет считывать эти значения из данных сообщения и надлежащим образом помещать их в хранилище.

Видите разницу? Определение Ethereum тех же понятий в блокчейне очень отличается от определения Биткойна, потому что Ethereum – это обобщенный регистр, предназначенный для вычислительных задач общего назначения, в то время как Биткойн сосредоточен исключительно на обработке переноса значений. Вместо того, чтобы определять «транзакцию» как универсальную подпись, составляющую монеты, Ethereum рассматривает их как переход состояния – да, это состояние, которое все студенты CS любят из лекции по созданию компилятора, – которое просто «выполняется» на платформе так же, как при открытии Google Chrome на локальном компьютере.

Этот переход состояния сделан из счетов, которые держат и контролируют фактический баланс Эфира. Эти учетные записи могут также содержать код контракта, который выполняется, когда транзакция выполняется для учетной записи, которая их держит, и также может записывать в свое хранилище в процессе. Фактическим номером баланса, который записывается в этих учетных записях, является Ether, который является самим определением «монет» с блокчейном Ethereum (вместо группы транзакций, как с биткойнами). Эфир также определяется как «топливо» для выполнения этих переходов состояний в блокчейне Ethereum, что также отличается от определения биткойнами своих монет, которые просто… «цифровые монеты», которые представляют ценность сами по себе. Вот почему, как известно, Ethereum следует модели «на основе учетной записи», а не «на основе UTXO».

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

То же самое и с EOS, и в принципе с любым другим блокчейн-проектом, о котором вы можете подумать. Если у них будут разные определения проблем, которые они хотят решить, они в конечном итоге будут иметь разные определения своих концепций, что неизбежно приведет к различным вариантам дизайна и совершенно другому конечному продукту. Какой смысл атаковать друг друга, основываясь на их философии дизайна, когда у них были разные определения «блокчейна»?

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

2. Децентрализация

Тот же вопрос: что такое децентрализация?

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

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

Чтобы понять, насколько сложна эта идея, давайте сначала обратимся к Святой Библии мира блокчейнов – ксерокопии Биткойн. Глядя на введение этого священного документа:

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

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

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

Но, как видно из документа Биткойн, где все эти концепции и идеи впервые возникли, нет упоминания о «обобщенной» форме децентрализации — она упоминает только децентрализацию в финансовом контексте. Это очень ожидаемо, потому что, как объяснялось ранее, определения и допущения для «цепочки блоков» с биткойнами ориентированы исключительно на обмен стоимости. Это означает, что «единого источника доверия» для концепции децентрализации не существует, и что люди определяют свои собственные концепции для обоснования направлений, которые они выбирают для своего собственного проекта.

И это совершенно нормально. Вспомните, что случилось с коммунистическим движением: марксизм, без сомнения, является одной из наиболее хорошо продуманных экономических утопий на бумаге, но когда движение начало свергать существующие правительства и формировать коммунистическое, оно стало превращаться в кошмар. У всех людей были свои, разные определения того, как должно выглядеть идеальное коммунистическое общество, потому что идеология, которой они руководствовались, не давала им подробных инструкций о действующих правительствах, что в конечном итоге приводило к экстремальным конфликтам и полной диктатуре. Тем не менее, некоторые страны начали применять эти идеологии поверх существующих капиталистических систем в форме благосостояния, и некоторые люди до сих пор изучают марксизм сегодня как серьезную дискуссию о будущем нашего общества в целом – только потому, что направление и идеология, которые это, безусловно, стоит рассмотреть, даже спустя почти 150 лет после того, как Das Kapital был впервые опубликован.

То же самое с блокчейном. Белые книги и идея «децентрализации» – это просто идеологии, которые существуют только на бумаге. Они определенно предлагают четкое направление для лучшего будущего, но это не значит, что мы должны воспринимать это слово в слово. Вполне естественно, что разные люди имеют разные определения и конкретные стратегии для достижения этой идеологии, является ли эта стратегия по отношению к этой идеологии решительной или постепенной.

3. Пришло время определить наш собственный путь

Что все это значит для отрасли в целом? Просто: не тратьте время на борьбу с другими проектами с разными целями. Просто сфокусируйтесь на создании собственного продукта.

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

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

Я предпочел бы тратить свое время на создание собственных вещей, которые соответствуют моей собственной идеологии «децентрализации», а не на осуждение и нападение на другие цепочки DPoS за их «дерьмовых производителей централизованных блоков». Потому что ты знаешь что? Вы не выбираете, кто победитель. Рынок делает.

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