В Ватерлоо предлагали комбинированную программу, чтобы студенты чередовали семестры учебы и работы, если найдут компанию, которая на это согласится. Виталик хотел устроиться в Ripple – криптовалютную компанию из Сан-Франциско, разрабатывавшую «сеть оплаты с карты на карту с открытым кодом». Учредитель компании Джеб Маккалеб тут же дал согласие. Но визовые правила требовали, чтобы компания присутствовала на рынке минимум год, и сотрудничество с фирмой, которой исполнилось всего девять месяцев, не удалось.
Тогда Виталик решил объехать мир, чтобы познакомиться с биткойн-сообществом, и побывал в Нью-Гэмпшире, Испании и Италии, спал на футонах (в том числе в «экоиндустриальной посткапиталистической» колонии[5]), а также занимался бегом и решением задачек, которые были ему интересны. Но после месячной поездки в Израиль его знания вышли на новый уровень. Там он пообщался с разработчиками Colored Coins – новой концепции, позволяющей торговать активами реального мира с помощью неизменяемой бухгалтерской книги в блокчейне, прикрепляя метаданные к транзакции размером в один сатоси, или 0,00000001 BTC, – самой маленькой единице, эквивалентной крошечной доле пенни. Например, можно осуществить транзакцию, в метаданных которой указано, что Элис передала Бобу долю в такой-то компании. Поскольку изменять общепринятую историю транзакций нельзя, блокчейн служил бы идеальной исторической хроникой для других активов или транзакций, привязанных к пренебрежимо малым количествам биткойна. Так для Виталика раскрылись возможности «функционала второго уровня». В Ватерлоо он изучал структуры данных и языки программирования. Создатели второго уровня строили функционал к конкретным приложениям. Виталик удивился, почему никто не разработает универсальный язык программирования, чтобы любой мог написать любое приложение, какое захочет?
Он попробовал подтолкнуть в этом направлении другой проект – Mastercoin (этакий «швейцарский нож» от блокчейнов – в том плане, что он предлагал разные возможности). Сначала в посте на BitcoinTalk он предложил Mastercoin ввести «контракты на разницу». Затем предложил «Идеальный скрипт» (запросив за него 250 долларов) – способ усовершенствовать Mastercoin так, чтобы сделать возможными двусторонние финансовые договоры с любыми правилами по желанию пользователя. В первом абзаце говорилось, что ключевое преимущество Mastercoin перед биткойном – потенциал к более вариативным типам транзакций. Mastercoin не обязан ограничиваться расчетами между двумя людьми; его можно было бы использовать для обязывающего обмена (то есть если ты что-то заказываешь, то обязан заплатить, когда кто-то исполнит твой заказ) или игровых ставок. Виталик подытожил:
Однако до сих пор Mastercoin подходил к этим идеям сравнительно бесструктурно, считая каждый тип транзакции, по сути, отдельной функцией с собственными кодом и правилами. В этом документе предлагается альтернатива спецификации контрактов Mastercoin, следующая свободной философии: в ней конкретизируются только базовые данные и арифметические блоки, что позволяет произвольно настраивать сложные контракты в соответствии со своими потребностями, в том числе и теми, которые мы не можем предвосхитить.
13 ноября он послал предложение команде Mastercoin, ожидая, что они ухватятся за него обеими руками. Но Джей Ар Уиллетт из Mastercoin написал в ответ, что, может, однажды это и получится сделать, но «сейчас это приведет к тому, что наши разработчики увязнут в деталях и процесс сильно забуксует. Число тупиковых ситуаций (как я ожидаю) увеличится на порядок, и я предпочитаю в первую очередь доработать ключевые функции Mastercoin, а не экспериментировать».
Виталик решил все сделать сам. Он закончил путешествие, приехав в Сан-Франциско, а стоимость биткойна к этому моменту заоблачно взлетела. В октябре 2013 года она составляла 100 долларов, но к началу ноября уже находилась в районе 200. Когда Виталик появился в Сан-Франциско, она дошла до 400 и затем пробила 800. В разгар бума он предложил свою идею слоя «в стиле Mastercoin» поверх блокчейна Primecoin – так же, как сам Mastercoin строился на основе биткойна. Поскольку он не рассчитывал ни на кого, кроме как на себя и еще парочку программистов, это был неплохой способ сделать для начала хоть что-то. После долгой прогулки по Президио он понял, как осуществить это технически, переработал «белую книгу» и в поисках названия пролистал для вдохновения список терминов из научной фантастики. Глаз зацепился за «Ethereum». Звучит красиво, плюс относится к научной теории XIX века, согласно которой эфир считался субстратом Вселенной – средой, в которой распространяются световые волны. Виталик надеялся, что его сеть тоже во многом станет средой – платформой, допускающей абсолютно любые транзакции, что он и предлагал для Mastercoin. Так он и окрестил свой протокол – Ethereum. Он отправил свое предложение друзьям 27 ноября – в день, когда биткойн впервые преодолел планку в тысячу долларов; а через несколько дней он достиг нового исторического рекорда в 1 242 доллара.
Одним из получателей был худой темноволосый предприниматель из Торонто – Энтони ди Иорио, с кем Виталик недавно общался в рубрике вопросов и ответов Bitcoin Magazine. Энтони начал организовывать биткойн-митапы в Торонто в 2012 году, создал и продал биткойновый игровой сайт Satoshi Circle и основал Биткойн-альянс Канады (Bitcoin Alliance of Canada, BAC). До этого он работал в семейном бизнесе по изготовлению раздвижных дверей и создал компанию по геотермальному бурению. Благодаря раннему приобретению биткойнов, продаже Satoshi Circle (за 2 400 BTC, из которых 2 тысячи он получил по цене ниже 150 долларов) и взлетевшей стоимости BTC Энтони обнаружил, что у него на руках более 2 миллионов долларов в биткойнах. Он стал, как это называется в сообществе, «биткойновым миллионером» – человеком, который уже давно закупился биткойнами и теперь обладал миллионным капиталом.
Энтони был человеком из мира маркетинга и бизнеса, а не технарем, поэтому он попросил посмотреть «белую книгу» своего друга Чарльза Хоскинсона, математика из Колорадо, который не закончил аспирантуру, но создал онлайн-курс «Образовательный проект о Биткойне» (Bitcoin Education Project) и недавно ушел из другого проекта, BitShares. Чарльз, бородатый парень лет двадцати, который вел себя как человек куда старше, разглядел в «белой книге» пару новаторских идей: во-первых, мысль о мировом компьютере в облаке, у которого оплачивается каждый шаг в процессе вычисления, и во-вторых – мысль совместить язык программирования и блокчейн. Получив одобрение Чарльза, Энтони предложил Виталику 150 тысяч долларов в биткойнах для разработки Ethereum.
В декабре 2013 года Виталик и Энтони посетили конференцию на тему биткойнов в Лас-Вегасе. События развивались стремительно. Всего месяц назад стоимость BTC находилась в районе 200 долларов, а в последние недели взлетела выше тысячи. Виталик нашел еще больше заинтересованных в его идее. С деньгами Энтони он мог создавать полноценную криптовалюту с собственным блокчейном, а не достраивать что-нибудь поверх Primecoin. В спа отеля «Эм Джи Эм Гранд» Виталик объяснил Энтони и его бизнес-партнеру Стиву Даку, что отказался от премайна – метода, при котором создатели нового койна майнят его перед выпуском сами, чтобы компенсировать затраты собственными монетами.
Отказавшись от премайнинга эфира – монеты блокчейна Ethereum, соучредители предоставляли равные шансы всем, включая себя. Это самый бескорыстный вариант запуска нового койна – почти как спонсировать стартап, не попросив в нем доли. Виталик объявил об этом децентрализованном плане широкой группе заинтересованных лиц, а потом стал искать разработчиков программы-клиента – приложения для компьютера, позволяющего подключаться к блокчейну.
Что касается самой идеи, новаторская сторона Ethereum заключалась в том, что отправлять и получать переводы могли два типа субъектов: во-первых, как и следует ожидать, люди, но во-вторых, что более интересно, – контракты. Подобно переписке с человеком и с чат-ботом, Ethereum допускает финансовые транзакции между 1) двумя людьми, 2) человеком и смарт-контрактом – алгоритмом в духе этакого финансового торгового аппарата или 3) двумя смарт-контрактами. Контракт – это алгоритм в Ethereum со своими адресом и балансом, и он, как человек, сможет отправлять и получать переводы. Если контракту приходит перевод, то меняются его код и, соответственно, его история; а также при необходимости контракт, в свою очередь, сделает перевод.