Trustless Banknotes: неоклассическое решение спора о размере блока
Update: Статья была доработана в части классификации оффчейновых решений, а также в части изложения концепции trustless banknotes исходя из того, что примеров такого решения нам пока неизвестно.
Дебаты о размере блока в блокчейне Биткоина связаны с техническим противоречием «скорость транзакций / централизация сети». Партия, которую условно можно назвать «бизнесмены» имеет интерес в масштабировании сети, а партия «идейных» выступает против ее централизации. У каждой партии своя правда, но, может быть, существует способ найти решение, которое удовлетворит обе стороны?
Золото разрешает спор о размере блока
Продолжая избитую аналогию биткоина с золотом, Block Size Debate можно попытаться представить как спор о том, каким должно быть золото. В такой формулировке спор выглядит несколько нелепо: золото обладает определенными физическими свойствами от природы. Однако история золотых денег всё-таки дает подсказку о том, как разрешить спор о размере блока. Более того, можно убедиться, что на сегодняшний день решение, которое заставляет вспомнить историю золотых денег, уже существует.
Торговля на золото на определенном этапе достигла таких объемов, что стали очевидными издержки, связанные с использованием золотых монет. В первую очередь, монеты стирались в обращении и в масштабах общества ежегодные потери от стирания составляли значительные суммы. Например, по одной из оценок, из 380 миллионов фунтов стерлингов, имевшихся в 1809 году в Европе, к 1829 году совершенно исчезли вследствие стирания 19 миллионов фунтов стерлингов. Транспортировка и хранение крупных сумм золотых денег также требовали существенных затрат. Кроме того, скорость транзакций ограничивалась скоростью транспортировки металла.
Таким образом, развитие торговли ограничивалось природными свойствами благородного металла. Возникла необходимость разрешения технического противоречия, которое может быть сформулировано как «деньги не должны перемещаться / деньги должны перемещаться».
Разрешение этого противоречия было найдено не на пути изменения природных свойств золота, а на пути создания «двойника», представителя золотых денег. Речь идет о классической банкноте. В то время, как легкий, компактный, сделанный из недорогого материала представитель или, другими словами, знак денег перемещается, сами деньги лежат в безопасности в хранилище банка. Может ли биткоин взять на вооружение эту идею? Да, может. Вопрос только в том, как именно это сделать.
Биткоины движутся, оставаясь на месте
Эволюция Биткоина должна пройти через разрешение технического противоречия «биткоины движутся / биткоины не движутся». Биткоины должны обслуживать транзакции, но не должны двигаться по блокчейну – это задача, которую решают различные предложения по оффчейновым транзакциям. Мы уже писали о различных видах денежных знаков биткоина. В целях этой статьи их можно разделить на три типа: trusted, trustless и промежуточный тип.
Trusted решения связаны с риском третьей стороны. К ним относятся, например, счета на криптовалютных биржах и в централизованных кошельках. Третья сторона может ограничить доступ клиента к его деньгам, подвергнуться атаке или закрыться в результате мошеннических действий администрации.
Решения, которые можно рассматривать как промежуточные между trusted и trustless, основываются на мультиподписи (multisignature). Это, например, физические носители ключей от биткойн адресов, использующие мультиподпись 2-из-2. В этом случае транзакция подписывается ключом третьей стороны (производителя «физических» биткоинов) и ключом собственника биткоинов.
К таким решениям также можно отнести платежные сети, которые надстраиваются над сетью Биткоин и используют для оффчейновых транзакций денежные обязательства (IOU). Эти IOU обеспечиваются биткоинами, хранящимися в multisig escrow. Конфигурация этих multisig escrow может быть различной. Это может быть 2-из-2 multisig, который подписывается двумя сторонами платежного канала, а может 2-из-3 multisig, где участвуют не только две стороны платежного канала, но и доверенная третья сторона, выступающая арбитром.
Строго говоря, ключи от биткоин адресов являются не денежными обязательствами, а средствами доступа к счету. Проблема «физических» биткоинов состоит в их неделимости. «Физическими» биткоинами определенного номинала сложно оплатить покупку меньшей суммы, поскольку эти монеты не выпускаются в полном ряду номиналов от самого мелкого до самого крупного. Соответственно, возможность осуществления микротранзакций в таких монетах пока что отсутствует. IOU, обеспеченные биткоинами в multisig escrow, позволяют осуществлять микротранзакции, но не являются trustless.
Сайдчейны, в которых ввод и вывод биткоинов осуществляется через multisig адрес, относятся скорее к первому, чем ко второму типу решений, хотя сайдчейны – это не совсем оффчейновое решение, поскольку транзакции просто переносятся из блокчейна в сайдчейн. В данном случае все транзакции ввода/вывода биткоинов через multisig адрес подписываются группой доверенных лиц, а подпись собственника биткоинов, отправившего их на этот «конвертационный» адрес, не является необходимой.
Эта технология представляет особый интерес, потому что именно сайдчейны открывают путь к созданию средств обмена, которые можно назвать trustless banknotes.
Trustless banknotes
В отличие от трансфера ключей посредством физических биткоинов, сайдчейны позволяют осуществлять трансфер знаков криптовалют. В то время, как в сайдчейне движутся знаки криптовалюты, сама криптовалюта остается без движения на специальном адресе в своем блокчейне.
Погашение таких банкнот состоит в их уничтожении, после чего на основании proof-of-burn в блокчейн публикуется транзакция о переводе криптовалюты со специального адреса на адрес предъявителя банкноты. Если связь блокчейна и сайдчейна, т.е. создание и погашение знаков криптовалюты будет осуществляться без участия третьей стороны, по принципу trustless, то такие средства обмена можно рассматривать как trustless banknotes.
На первый взгляд, trustless banknotes – это оксюморон. Во-первых, потому что сам биткоин не может существовать без доверия. Во-вторых, в данном случае нет долговой расписки какого-либо лица, нет обещания эмитента банкноты уплатить деньги, нет кредитора и должника. Долга действительно нет, но обязательство уплатить деньги есть, только это не обязательство определенного лица, а «обязательство протокола». Доверие оказывается не лицу, которое выпускает банкноты, а протоколу, в котором прописаны правила эмиссии, обращения и погашения знаков денег, а также узлам, которые, вносят транзакции в сайдчейн и блокчейн.
Действительно, в определенном смысле деньги не могут существовать без доверия. Термин trustless banknotes подчеркивает, что при использовании этих знаков биткоина отсутствует риск третьей стороны, которая может не погасить свои банкноты.
Trustless banknotes являются своеобразным «неоклассическим» решением спора о размере блока. В них синтезируется классическая банкнота и принцип trustless, характеризующий биткоин и другие криптовалюты как новейший этап эволюции денег.
Изначально классические банкноты были только крупных номиналов и использовались клиентами банков в основном как средство сбережения, а в качестве средства обмена циркулировали в основном в межбанковских расчетах. Знаки криптовалют, движущиеся в сайдчейнах, не имеют ограничений по номиналу, однако их внедрение также начинается «сверху». Первый коммерческий сайдчейн Liquid разработан для межбиржевых расчетов, а не для повседневного применения миллионами рядовых пользователей. Соответственно, для решения проблемы микротранзакций он пока не используется.
На сегодняшний день самым известным оффчейновым решением в стиле trustless, которое позволяет осуществлять микротранзакции, является Lightning Network.
Lightning Network
Авторы Lightning Network разрешили противоречие «биткоины движутся / биткоины не движутся» неклассическим способом. В Lightning Network отсутствует третья сторона, которая хранит деньги, escrow не используется. По платежных каналам этой сети передаются права на биткоины, в то время, как сами биткоины не движутся. Однако авторы этого проекта реализовали принцип trustless не путем перевода классической банкноты на блокчейн.
В случае Lightning Network термин «банкнота» не отражает суть происходящего в рамках платежных каналов. Классическая банкнота представляет собой бессрочное денежное обязательство ее эмитента, которое он по требованию погашает деньгами. По платежным каналам Lightning Network движутся не бессрочные денежные обязательства эмитента, а срочные платежные поручения собственника криптовалюты.
Другими словами, узел А при открытии платежного канала с узлом В депонирует некоторую сумму биткоинов и передает по этому каналу не обещание заплатить биткоины, а ограниченное функцией «timelock» право опубликовать транзакцию о переводе депонированных биткоинов.
По платежным каналам таких сетей, как Lightning Network, движутся не IOU. Транзакции в рамках платежного канала фиксируют не изменение взаимных обязательств, а изменение совместного платежного поручения двух сторон канала. В этом платежном поручении фиксируется количество монет, которое должно быть отправлено на адреса создателей канала, а не количество монет, которое одна сторона канала должна другой. Эти платежные поручения не обращаются так, как банкноты: в отличие от банкнот, они не меняют собственника при каждой сделке. Стороны канала не переуступают право получить монеты, депонированные в платежном канале, третьим лицам.
Переуступка третьим лицам монет, введенных в платежный канал, имеет место, но иным путем. Например, узел А депонирует биткоины в канале с узлом В, а узел В – с узлом С. Тогда платеж от узла А к узлу С происходит по следующей схеме: узел А переписывает свои биткоины на узел В, а узел В переписывает свои биткоины на узел С.
Таким образом, при платеже по пути А–В–С с экономической точки зрения узел В обменивает узлу А биткоины в канале А–В на биткоины в канале В–С. С точки зрения движения прав, узел В переуступает узлу А право использовать биткоины, депонированные в канале В–С, в качестве средства платежа узлу С.
Высокая удельная стоимость золота ограничивала возможность того, что сейчас принято называть микротранзакциями. В этом биткоин оказался похож на золото, хотя с биткоином связаны затруднения иного рода. Делимость биткоина значительно лучше, чем у золота, но микротранзакции в биткоинах ограничены величиной комиссий и пропускной способностью сети.
Lightning Network призван преодолеть и это ограничение: комиссии майнеров по логике должны стать верхним пределом Lightning комиссий, а масштабируемость сети практически не ограничена. С другой стороны, более высокая скорость транзакций по платежным каналам может стать основанием для более высоких комиссий, чем комиссии майнеров.
Ограничения Lightning Network.
По платежным каналам Lightning Network может передаваться только криптовалюта, в протокол которой имплементировано это оффчейновое решение. В сайдчейне тоже может двигаться только знак криптовалюты, к блокчейну которой он прикреплен. Как и сайдчейны, Lightning Network применим не только к сети биткоин, но, в отличие от сайдчейнов, его внедрение требует софт форка.
C точки зрения принципа trustless можно выделить два типа ограничений Lightning Network. Первый тип связан скорее с техническими ограничениями, устранение которых не связано с отказом от принципа trustless. Второй тип ограничений скорее идеологический – эти ограничения не могут быть преодолены без отказа от принципа trustless. Наличие таких ограничений не является недостатком технологии, скорее это просто пределы ее функциональности.
К первому типу можно отнести ограничение по кросс-валютным транзакциям. Например, узел А открывает платежный канал с узлом В в X-Coin, а узел В с узлом С – в Y-Coin. Тогда, если узлу А необходимо уплатить узлу С Y-Coin, он может в рамках канала А–В отправить узлу В X-Coin, а узел В по каналу В–С отправит узлу С Y-Coin.
Ограничение состоит в том, что такая транзакция возможна только при условии, что вдоль всей цепочки используется одна и та же хеш-функция.
К ограничениям второго типа относится замораживание монет внутри платежного канала. Классическая банкнота, погашаемая золотом, предполагает наличие золота в хранилище банка. Право на публикацию транзакции в блокчейне биткоина, которое движется внутри платежного канала Lightning Network, предполагает наличие биткоинов, введенных в этот платежный канал. То же с trustless banknotes: необходимо заморозить монеты в блокчейне, чтобы использовать их знаки в сайдчейне.
Однако при эмиссии классической банкноты замораживание денег было не таким жестким. Банки могли, используя право частичного резервирования, ссужать часть золотого обеспечения своих банкнот. Банки могли эмитировать банкноты сверх имевшегося у них золотого резерва, если это требовалось для обеспечения предпринимателей средствами обмена. В trustless banknotes и Lightning Network имеет место 100% резервирование. Биткоины не будут работать – они будут лежать без движения. Это плата за trustless.
Дмитрий Бондарь
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!