Доверие блокчейну

0
ПОДЕЛИТЬСЯ

В настоящей статье я исследую, действительно ли блокчейн, как утверждается, не требует доверия.

1. Где в блокчейне локализовано доверие?

Прежде всего, нам необходимо прояснить, что следует понимать под термином «доверие». Кембриджский словарь определяет доверие как «веру в то, что кто-то хороший и честный и не навредит вам, или что что-то безопасно и надёжно» [1]. Это крайне широкое определение, охватывающее практически всё, включая доверие не только людям, но также механизмам. В этом смысле все транзакции, даже двусторонне-контролируемые, включают доверие, потому что идея о том, что твёрдые валюты обладают стоимостью, фактически основана на надёжности правительства-эмитента. Таким образом, данное определение необходимо сузить.

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

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

Зачем кому-то не действовать в соответствии с условиями транзакции, на которые он согласился? Человеческое принятие решений можно рассматривать как постоянный анализ издержек и выгод. Люди вообще идут на транзакции, потому что верят, что общая выгода транзакции будет превышать общие издержки. Однако человеческое суждение не является статичным или детерминированным. Условия могут измениться, и один и тот же человек может изменить своё мнение и предпочесть несоблюдение условий.

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

Как же со всем этим соотносится технология блокчейна? Во-первых, я считаю, что мы имеем дело не с полноценным вытеснением доверия, а с переносом доверия с посредников на нетрадиционных участников технологии блокчейна [2], и, следовательно, технология блокчейна на самом деле не является «не требующей доверия» [3], даже в узком смысле. Во-вторых, технология блокчейна, в зависимости от структуры конкретного блокчейна, использует для снижения риска ошибки комбинацию детерминированных структур или мотивационных механизмов консенсуса.

2. «Доверие» криптографическим механизмам

Прежде всего, суть технологии блокчейна – в хранении тех или иных данных, в случае блокчейна Биткойна – транзакций. Мы должны быть уверены, что эти данные находятся в безопасности и доступ к ним или их изменение возможны только посредством методов, определённых в исходном протоколе блокчейна. Криптографические алгоритмы – это программные коды, которые для одного и того же входа всегда производят один и тот же выход. Другими словами, они детерминированы. Таким образом, проблемы доверия в узком смысле здесь нет.

В отношении криптографических алгоритмов возможно одно относительно отдалённое опасение насчёт безопасности. Базовые криптографические функции, механизм подписей на основе эллиптических кривых и алгоритм SHA-256, используемый для создания пар публичных и приватных ключей, могут сейчас казаться безопасными, но это не значит, что их не позволят взломать постоянно совершенствующиеся вычислительные технологии или программисты, которые обнаружат пока ещё не известные баги. Было бы нереалистично утверждать, что эти алгоритмы можно взломать за одну ночь. Однако, учитывая развитие квантовых вычислений, опасения насчёт того, что эти алгоритмы не устоят против новых разработок, являются обоснованными [4]. Аггарвал и др. утверждают, что квантовый компьютер, способный взломать используемые в Биткойне подписи на эллиптических кривых, может быть разработан, по оптимистичным прогнозам, уже в 2027 г. С другой стороны, они также утверждают, что ввиду того, что специализированные ASIC-майнеры очень быстрые, механизм доказательства выполнения работы Биткойна, использующий SHA-256, относительно устойчив к разработкам квантовых компьютеров в ближайшие 10 лет [5].

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

3. «Доверие» коду

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

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

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

Код не божественен и не идеален. Он искусственен, а следовательно, уязвим к атакам или манипуляции [6]. Законы и правила, управляющие традиционными посредниками, тоже не идеальны. Однако эти правила составлены и приняты посредством определённого процесса, в котором, главным образом, задействованы эксперты и выборные чиновники, публичные обсуждения и одобрение различных государственных органов, тогда как код, как правило, пишется в более изолированной среде небольшой группой людей, чьи качества неизвестны. Следовательно, традиционная посредническая структура более прозрачна. Соответственно, при возникновении проблем законы и правила обычно предусматривают порядок ответственности, тогда как в случае блокчейна может не быть никого, несущего ответственность. Хотя есть создатели исходного кода, они могут не нести ответственности из-за отсутствия формальных связей [7]. Формальные связи традиционных посредников делают их более дорогими в сравнении с пиринговыми системами, использующими технологию блокчейна. Однако эти формальные связи также делают их более подотчётными в правовом смысле.

Ещё одно различие заключено в технической природе кода. Традиционные посредники кажутся до раздражения институционализированными. Они кажутся профессиональными, компетентными, серьёзными, но также процедурно изнурительными и дорогими. Код, с другой стороны, кажется простым и дешёвым в плане доступа [8]. Решение, кажущееся обдуманным, может на самом деле быть не таким уж и обдуманным. Невозможность увидеть, как он работает, и видимость простоты работы с ним могут сделать код привлекательным для людей, не показывая его потенциальных недостатков. Но это также делает этих людей уязвимыми к проблемам, которые могут возникнуть в связи с кодом. Техническая природа кода может помешать людям действительно понять риски и принять обдуманное решение.

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

4. Доверие механизму консенсуса

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

Как уже объяснялось [9], злоумышленники могут проводить различные атаки на сеть. Не существует надёжного способа предотвратить эти атаки. Некоторые из них предотвращаются относительно устойчивыми криптографическими механизмами, а другие зависят от оптимистичной идеи о том, что другие участники будут играть по правилам. Хотя механизм вознаграждения наподобие реализованного в Биткойне даёт майнерам повод действовать честно [10], нет гарантий, что майнеры не найдут способ обмануть систему и получить ещё большую выгоду, чем та, которую даёт вознаграждение. Другими словами, участники должны полагаться на то, что другие майнеры, или, по крайней мере, большинство майнеров, будут действовать честно, а это та самая проблема доверия, которую технология блокчейна должна была решить.

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

Можно утверждать, что механизмы консенсуса безопасны, прозрачны и детерминированы, и что каждый, кто инвестирует в блокчейновую систему, неявно соглашается с последствиями механизма консенсуса этого блокчейна [11]. Но в таком ходе мыслей есть две важных проблемы. Во-первых, решение инвесторов о вложении средств могло основываться на неполной информации, и во-вторых, механизм консенсуса может дать другой результат, чем тот, который изначально предвидели программисты.

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

5. Заключение

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

Примечания

[1] https://dictionary.cambridge.org/dictionary/english/trust
[2] Werbach, Trust, p. 13. Paech (2017), p. 7.
[3] Отсутствие необходимости в доверии – не только водящее в заблуждение, но и вносящее путаницу свойство, так как разные авторы комбинировали разные качества, чтобы утверждать, что блокчейн не требует доверия. См. Walch, Lexicon, p. 722. Уолч утверждает, что он не требует доверия, так как нет центральных контрагентов, но также признаёт, что в технологии блокчейна необходимо доверять обрабатывающим транзакции сетям. См. Walch, Operational Risk, p. 4. Также утверждается, что способность выполнять смарт-контракты – главная составляющая не требующих доверия транзакций в технологии блокчейна. См. Kakavand et al. (2017), p. 17. Однако следует иметь в виду, что смарт-контракты не независимы от криптографических алгоритмов, механизмов консенсуса и кода. Другими словами, они тоже не являются полностью не требующими доверия.
[4] Werbach, Trust, p. 24.
[5] Aggarval et al. (2017), p. 1-2. Аторци поддерживает аргумент о том, кто криптография на основе эллиптических кривых не защищена от квантовых вычислений и может вскоре быть взломана. См. Atorzi (2015), p. 18.
[6] Werbach, Trust, p. 6.
[7] Это отсутствие формальной связи может также быть проблемным для поддержки сети. Поскольку официальной связи нет, авторы исходного кода не обязаны предоставлять техническую поддержку или при необходимости исправлять ошибки. На практике программисты поддерживают свои проекты ради репутации или ради открытого сообщества. См. Walch, Operational Risk, p. 10.
[8] Catalini & Gans (2017), p. 10.
[9] См. выше, p. 16.
[10] Werbach & Cornell, Contracts, p. 13.
[11] Paech (2017), p. 30.

 

Источник

ОСТАВЬТЕ ОТВЕТ