Оригинал.
15.08.2017

В чём смысл и как продвигается самая важная реформа Bitcoin?

Главная криптовалюта планеты, Bitcoin, переживает трудный, но и очень интересный период. Как водится, большинство наблюдателей зачарованы обменным курсом — и их трудно винить: сегодня за единицу BTC дают уже больше 4 тысяч долларов! Но как и раньше, обменный курс — не главное. По справедливости, внимания должны быть удостоены процессы, происходящие внутри этой весьма сложной цифровой системы — и, собственно, осмыслив их, вы поймёте и главную причину роста курса.

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

Чтобы объяснить смысл происходящих с Bitcoin изменений, позвольте вернуться к «игрушечной» аналогии, которую я предложил четыре года назад и которая, в общем, до сих пор хорошо биткойн описывает. Помните сценку с тремя друзьями-школьниками (см. «Биткойн для чайников: три друга, конфета и монета»)? Если нет, рекомендую сначала прочесть тот старый текст — тогда вам будут понятней дальнейшие объяснения.

Сейчас, когда пишутся эти строки, Bitcoin готовится к штурму отметки 4500 долларов за один BTC (графика: Blockchain.info).

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

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

Всё это, как вы понимаете, сильно ограничило число участников: теперь уже не всякий желающий совершить транзакцию может это сделать. Приходится занимать очередь и даже (тсс!) подкупать тех, кто записывает операции в блокнот: считайте, выросла комиссия за переводы! Ребята уткнулись в пределы возможностей придуманной ими денежной системы. И с настоящим Bitcoin сейчас творится в точности то же самое; вот, если интересно, подробное описание проблемы: «Bitcoin в режиме критической перегрузки».

Что же делать? Самое очевидное решение: купить блокнот потолще и позволить записывать в единицу времени больше, чем одну страницу. Например, две или восемь. Тогда, если только записывающим достанет скорости рук, проблема действительно снимется - по крайней мере до тех пор, пока число совершаемых переводов снова не окажется больше, чем влазит на бумагу. Однако сразу же возникнет другая проблема: так уж эта система устроена, что, внося новую запись, участники вынуждены каждый раз перепроверять все предыдущие — и чем толще блокнот, тем трудней это делать. Поэтому увеличение числа страниц — временная мера, которая поможет лишь на короткий срок, после чего система неизбежно «рухнет» под собственной «тяжестью».

Длина «очереди» желающих внести запись в «блокнот» в настоящем Bitcoin называется mempool. Видно, что в периоды ажиотажного спроса (как в мае-июне текущего года) этот параметр в десятки раз превосходил размер блока (подробнее см. «Bitcoin в режиме критической перегрузки») (графика: Blockchain.info).

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

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

Теперь, когда Серёже нужно проехать в автобусе, он выписывает Диме «долговую расписку»: скажем, клочок бумаги, на котором значится, что Дима получает право забрать из копилки одну монету. Задача Димы — эти расписки собирать, до тех пор, пока они не решат провести окончательный расчёт, сумма расписок не превысит содержимого копилки, либо ребята не разругаются из-за девчонки. После этого Дима предъявляет все расписки тем, кто ведёт блокнот — и в блокнот вносится вторая запись: в ней указывается, сколько суммарно денег из копилки должно быть переведено Диме, а сколько возвращено Сергею.

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

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

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

А вот теперь самое время вернуться к настоящему биткойну. Схема, которую мы только что набросали, в точности передаёт суть производимой сейчас в Bitcoin реформы. Записи в блокчейн, заверяемые одновременно подписями нескольких человек, называются multi-signature или, сокращённо, Multi-sig. И именно возможность внесения таких записей — главное нововведение в пакете улучшений под названием SegWit (который с августа установлен у каждого майнера). Ну, а сеть для передачи «долговых расписок», называется Lightning Network (букв. Сеть моментальных расчётов).

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

Сейчас проводятся последние приготовления и ещё до конца августа Bitcoin сможет принимать multisig-записи. После этого останется лишь написать программное обеспечение — «кошельки» — которое воспользуется возможностями Lightning Network. Прототипы уже есть, в том числе свободные, то есть развиваемые на принципах open source (см. Zap, Eclair (для которого написан уже даже Android-вариант), lightningd, lnd).

Если подумать, Lightning Network — тоже не идеальное решение. Потому что при создании каждой «копилки» как минимум две записи в блокчейн вносить всё-таки придётся. А значит, если биткойн станет по-настоящему популярным (например, сравнимым по популярности с социальными сетями, количество пользователей в которых исчисляется миллиардами), размер блока в блокчейне придётся увеличивать. Но, во-первых, к зиме размер блока в Bitcoin планируется довести до 2 мегабайт и увеличивать понемногу в дальнейшем. А, во-вторых, спрогнозировать сейчас, когда Lightning Network станет «узким местом» для биткойна, невозможно: слишком многое зависит от того, как будут пользоваться биткойном простые люди.

На ближайшие же несколько лет SegWit и Lightning Network обещают решить все главные проблемы — и сделать возможным пользование криптовалютой как простыми деньгами, то есть, например, покупку хлеба в обычном магазине: положил биткойнов на пластиковую карту — и расплачивайся где захочешь, моментально, без или почти без комиссий!

Это означает и то, что Bitcoin смогут воспользоваться в сотни, в тысячи раз больше людей. И, следовательно, обменный курс очень вероятно скакнёт дальше. Может получиться так, что 4 килодоллара за один BTC уже год спустя покажутся мелочью...


Bitcoin,криптовалюта,биткойн,SegWit,Lightning_Network,блокчейн,Multi-sig,Zap,Eclair,деньги




Евгений Золотов, 1999-2018. Личный архив. Некоторые права защищены