Путь Ethereum на передовую мира блокчейн

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

Существует теория, которая заключается в том, что скриптовый язык Биткойн — та сама часть каждой биткойн-операции, которая позволяет вам запускать небольшую программу в ходе этой операции — слишком ограничена в возможностях. В этом контексте соучредитель Coinbase Фред Эсем (Fred Ehrsam) предлагает обратить внимание на Ethereum, появление которого, по его мнению, можно сравнить с изобретением полноценного компьютера, пришедшего на смену рассчитанному на 4 действия калькулятору по имени Биткойн. На первый взгляд нам в Wirex, финтех стартапе, предоставляющем услуги платежей и денежных переводов без банковского посредничества и с использованием blockchain, сравнение Эсема показалось немного грубоватым, но вынуждены согласиться, что такая точка зрения имеет право на жизнь. Кому нужны аргументы, приглашаем под кат.
С момента запуска сети Ethereum прошло 9 месяцев, однако уровень и скорость разработки приложений в нем уже сейчас превышают соответствующие показатели Биткойн. Здесь мы, наконец, можем говорить о достижении быстрых итераций на уровне приложений. В качестве одного из ранних примеров автономности, которой можно достичь с помощью Ethereum, была создана децентрализованная организация, получившая название The DAO (Distributed Autonomous Organization). Основная деятельность компании, собравшей 150 млн долларов в ходе крупнейшей в истории краудфандинговой компании, контролируется посредством автоматизированного кода, тогда как реальные сотрудники выполняют лишь вспомогательные операции.

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

Как же сложилась текущая ситуация?


Для начала немного истории. На момент появления в 2008 году формального технического описания Биткойн, технология была революционной. Удивительным было и то, на стыке каких областей знаний (информатика, криптография и экономическое стимулирование) она появилась. Когда в 2009 году была запущена настоящая биткойн сеть, о ней никто не знал, а многие из тех, кто знал, думали, что ее почти наверняка ждет провал. Скриптовый язык Биткойн был намеренно ограничен с целью гарантировать простоту и работоспособность. «Скриптовый язык» — замысловатое название для того простого языка программирования, который используется в Биткойн. На самом деле у Биткойн нет скриптового языка. В нем используется набор скриптовых операторов, подробнее о котором будет рассказано позже. Скриптовый язык Биткойн играет важную роль: именно он превращает Биткойн в «программируемые деньги». Каждая биткойн-операция содержит в себе возможность написания небольшой программы. Например, вы можете написать программу, которая говорила бы о том, что «выполняемая операция является действительной только после 15 июня 2016 года». Это очень мощный инструмент, поскольку он позволяет перемещать деньги автоматически с помощью компьютерного кода таким образом, что все остальные будут видеть правила, по которым деньги перемещаются и будут знать, что они выполняются.

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

Тем не менее 7 лет спустя, на базе Биткойн появилось не так много приложений, среди которых к тому же нет ни одного по-настоящему революционного. Существующие решения не выходят за рамки решения проблемы хранения средств и спекуляции. Скриптовый язык Биткойн за все это время не получил почти никаких улучшений и остается очень ограниченным. Да, были и остаются споры по поводу размера блока — важного для работоспособности сети вопроса, решение которого, впрочем, никак не повлияет на молодое и быстрорастущее направление, такое как Ethereum. Последний, в свою очередь, открывает все новые горизонты развития криптовалют, как теоретические, так и практические.

Бесспорно, без такого первопроходца, как Биткойн, Ethereum никогда бы даже не появился на свет. И все же во многих отношениях Ethereum опередил Биткойн, фактически став сегодня передовой технологией мира цифровых валют. И вот почему:

Языки программирования Ethereum позволяют вам делать гораздо больше, чем язык Биткойн


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

Языки программирования Ethereum, такие как Solidity (для тех, кто любит Javascript) и Serpent (для тех, кто любит Python) напротив, позволяют вам сделать абсолютно все, что доступно в современных продвинутых языках программирования. Вот почему их называют тьюринг-полными. Не менее важным фактором является и простота их использования: обучиться им и быстро написать свое первое приложения сможет любой современный разработчик.

Вот пример сценария Биткойн:

OP_DUP OP_HASH160 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 OP_EQUALVERIFY OP_CHECKSIG

А вот его аналог из «эсериумовского» Solidity:

contract Simple {
   function() {
       var two = 1 + 1;
   }
}

Написание простых Ethereum-приложений занимает у разработчиков Coinbase всего один или два дня.

Важность такого сочетания полноценной функциональности и простоты использования невозможно переоценить. Люди делают с помощью Ethereum вещи, которые в Биткойн сегодня просто недоступны. И на этой разнице выросло уже целое поколение разработчиков, которые никогда не работали с Биткойн, но заинтересованы в работе с Ethereum.

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

Помимо принципиальных отличий в скриптовых языках, Ethereum предлагает и более удобные инструменты разработки. В то же время с учетом сложности работы с Биткойн, потребность в средствах работы с ним как никогда остра, однако она так и остается неудовлетворенной. Ethereum существенно облегчил разработчикам жизнь. Для них создана не только специальная страница приветствия, но и помимо всего прочего отдельная среда разработки Mix IDE.

У Ethereum более сильное девелоперское комьюнити


Сообщество разработчиков Биткойн будто бы находится в спячке. Биткойн так и не преодолел стадию разработки простых кошельков и бирж. Наиболее заметная из недавно выпущенных вещей — Thunder. Это практическая реализация концепции Lightning Network, которая позволяет повышать скорость и другие параметры блокчейн-операций, особенно микротранзакций. Однако и она является дополнительным протоколом, а не приложением, и может при этом использоваться как в Биткойн, так и в Ethereum.

Что же касается сообщества Ethereum, то оно, напротив, производит впечатление полного сил и растущего комьюнити. Но самое важно здесь то, что работающие с Ethereum разработчики пробуют создавать что-то новое. Большая часть разработок в настоящий момент представляет собой эксперименты или игрушки. Однако не стоит упускать из виду и постоянно пополняющийся список приложений, над которыми трудятся девелоперы со всего мира.

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

Основная группа разработчиков Ethereum работает слаженно и эффективно. Разработчики Биткойн разобщены и это сказывается на их деятельности


Виталик Бутерин, создатель Ethereum, показывает верные признаки лидера опен-сорс проекта. Он выглядит уверенно как в роли технического руководителя, так и в роли лидера комьюнити. Взгляните, к примеру, на его ответ на письмо Coinbase о включении поддержки Ethereum на бирже GDAX.

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

Помимо неразберихи с руководством не все гладко и в самом биткойн-сообществе. Грег Максвелл, технический руководитель Blockstream, компании, в которой работает существенная часть основной команды разработки, недавно позволил назвать своих коллег по цеху, работавших с майнерами над компромиссом по вопросу размера блока, «придурками, которые хотели как лучше». Цензура на основной борде реддита /r/bitcoin привела к появлению нового раздела /r/btc. Общее содержание дискуссий о биткойне производит впечатление пустого выяснения отношений, в то время как обсуждения Ethereum направлены на разбор актуальных проблем и новых идей. В целом пока Биткойн переживает кризис в ожидании лучших времен, лидеры Ethereum, и как следствие само комьюнити, двигаются вперед.

Ethereum-сообщество настроено на рост. Биткойн-сообщество упивается ложным ощущением завершенности


Отличаются и образы мышления двух комьюнити. Со стороны кажется, что многие участники биткойн-сообщества относятся к нему, как к некоему ценному экспонату, который нуждается в защите. По словам Фреда Эсема, такое отношение неправильно и опасно. Биткойн все еще на порядки уступает основным международным финансовым сетям, как по объему операций, который составляет всего около 200 млн долларов в день (для сравнения: у Visa — 18 млрд долларов), так и по количеству пользователей (10 млн против 5 миллиардов у банков). Кроме того, несмотря на стабильное увеличение количества ежедневных операций в сети Биткойн, фактический их объем в долларовом эквиваленте не может похвастаться таким же здоровым ростом.

image
Пиковый показатель объема дневных операций Биткойн в сравнении с другими сетями. Впереди еще долгий путь.

Основная команда Ethereum тем временем сосредоточена на работе. Это видно по ее блогу, в котором можно найти рассуждения по поводу настоящего и будущего Биткойн. В числе прочих обсуждаемых в блоге тем есть такие актуальные вопросы, как масштабирование сети, эффективность концепции proof of stake, мысли о том, как можно создать стабильную цифровую валюту, какой должна быть компания, основанная на блокчейн (DAO). Все это очень амбициозные идеи, и некоторые из них работать не будут. Однако некоторые другие, особенно такие многообещающие вещи, как практический переход к proof of stake и устранение физического майнинга, скорее всего заработают и сыграют свою важную роль.

Более быстрый и стабильный рост ядра Ethereum


Последние полтора года Биткойн застрял на этапе обсуждения размера блока. В системе были реализованы некоторые незначительные доработки, например, CHECKLOCKTIMEVERIFY, реализующий функциональность блокировки по времени. Есть и другие, находящиеся в разработке, но все еще не добавленные на практике изменения. Например, Segregated Witness, повышающий эффективность работы сети. Как бы то ни было, все эти доработки слабо связаны с написанием новых приложений.

Структура Ethereum изначально открыта к изменениям даже в базовые операции сети. Майнинг в Ethereum позволяет получать блоки быстрее, снижая, таким образом, промежутки подтверждения примерно до 14 секунд в сравнении с 10 минутами в сети Биткойн, хотя такое сравнение, конечно же, не совсем уместно. Во многом это связано с тем, что майнеры получают прибыль за тот вклад, который они внесли в процесс майнинга, независимо от того, были ли они первыми, кто решил задачу конкретного блока (система uncle blocks). И хотя такой подход далек от идеала, он представляет собой значительный шаг вперед в деле ускорения подтверждения операций.

Контраргументы и доводы против


В силу молодости Ethereum разумно было бы учитывать и основные риски, сопряженные с его использованием:

  • Ethereum проще брать на себя риски, поскольку для него размер потенциальных потерь не так велик: стоимость системы оценивается в миллионы долларов, в то время как Биткойн, например, стоит миллиарды. По мере роста Ethereum, он вполне может столкнуться с неспособностью развиваться также быстро и эффективно, как раньше. На практике все сводится к уровню профессионализма основной команды разработчиков. Пример Линуса Торвальдса и Linux показывает, что стремление к дальнейшему прогрессу и росту поддержки со стороны сообщества поможет любому open-source проекту не растерять своей эффективности.
  • Ethereum еще не прошел через кризис управления. Виталик отметил этот момент на ethereum-митапе. Как и всякий добившийся определенных успехов проект, в будущем он неизбежно столкнется с проблемами, связанными с ростом личных интересов его участников.
  • Ethereum позволяет вам сделать больше, чем Биткойн и это создает более серьезные регуляторные риски. Речь идет не столько о системных рисках для Ethereum как сети, сколько о проблемах, которые могут возникнуть у приложений, разработанных на ее базе. В этом смысле судьба все того же DAO не кажется столь очевидной, поскольку сейчас не до конца понятно насколько деятельность таких компаний отвечает законодательным нормам.
  • Еще больший риск связан с вопросами безопасности. Повышение эффективности языка программирования открывает гораздо больше возможностей для того, чтобы что-то пошло не так. У Биткойна «за плечами» 7 лет постоянных проверок на прочность, в то время как Ethereum существует всего 9 месяцев и его стоимость сейчас не превышает 1 млрд долларов. Серьезным инцидентов еще не было, однако это не значит, что в его работе нет никаких подводных камней. Вероятность возникновения трудностей со временем будет увеличиваться. И, конечно, люди будут создавать «дырявые» умные контракты в Ethereum, однако происходить это будет не из-за какой-либо неисправности в ядре протокола системы, но скорее по тем же, не имеющим прямого отношения к самой системе, причинам, которые приводят к крупным инцидентам вроде ситуации с биткойн-биржей Mt.Gox.
  • Ethereum может попытаться перейти к proof of stake, и такой переход означал бы серьезный прорыв, устраняющий необходимость использования proof of work, а вместе с ним и всего затрачиваемого на это оборудования и электричества. Помимо очевидных положительных сторон, он может повлечь за собой и ощутимые риски, контроллировать которые возможно с помощью расширенного заблаговременного тестирования.
  • Масштабирование сети, которая помимо базовой работы с операциями поддерживает еще и мини-программы — задача не из простых. Когда в 2014 автор познакомился с основной идеей проекта, вопрос расширения показался ему самым критичным. Универсальных решений здесь нет, и по мере развития проекта разработчики постепенно придут к некой их комбинации. Один из возможных вариантов — сегментирование сети. Постоянно и естественным образом растущие вычислительная мощность и скорость передачи данных в современном мире, а также особенности структуры блокчейн Ethereum вполне способствуют этому. Существует еще одно предложение, суть которого лучше всего выразил Гэвин Андресен в своей статье Bit-thereum. Заключается она в том, чтобы сделать базовый уровень работы с операциями нерасширяемым, применяя более продвинутую логику на более высоких уровнях. Однако несмотря на потенциальную жизнеспособность этой идеи, она очень сложна в реализации.


Постойте-ка, все это звучит, как явная конкуренция между двумя системами. Так все-таки соперники они или союзники?


Однозначно ответить на этот вопрос сейчас нельзя. Вполне возможно, что в силу своей стабильности и надежности Биткойн останется более удобным средством сбережения капитала. Это позволит Ethereum взять на себя больше риска за счет внедрения куда менее надежных улучшений. При таком сценарии Биткойн будет скорее играть роль некой взаиморасчетной сети, в то время как Ethereum будет использован для запуска децентрализованных приложений, в которых судьба основного объема операций не будет столь же однозначна. Таким образом, в этом сценарии обе технологии могут хорошо дополнять друг друга.

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

Что все это значит?


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

Что же касается Биткойн, то я не отвернулся от него, — говорит Фред Эсем. — Да и сложно спорить со столь отказоустойчивой сетью. Мы вместе с другими разработчиками из Coinbase планируем поддержку обеих технологии. То же самое касается и любых других, еще непридуманных технологий: возможно, мы будет поддерживать и их, ведь я, в конце концов, никогда не присягал на верность какой-либо конкретной технологии, но лишь хочу принести миру максимум пользы.


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

В следующей части серии статей, посвященных творениям Виталика Бутерина, мы расскажем о первой «децентрализованной автономной организации» The Dao. Недавно The Dao завершила самую успешную в историю краудфандинговую кампанию, по итогом которой собрала более 150 млн долларов (почти 12% всего эфира, который находится в обращении). Чем вызван интерес к платформе, как она устроена, какие функции выполняет и какие подводные камни таит в себе читайте в следующем выпуске.

© Geektimes