Глава 1. Устраняем ​​пробелы​​ в ​​​знаниях​​ о ​​блокчейн-технологиях

Содержание страницы

Глава 1

Прежде чем мы начнем, давайте определим некоторые термины, с которыми вы столкнетесь.

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

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

Для кого будет интересен блокчейн

Две большие группы исследователей имеют интерес к системам на блокчейне, и особенно Ethereum: разработчики приложений, заинтересованные в создании продуктов и услуг, и непрограммисты, которым интересен потенциал Ethereum, возможно, ввиду необходимости по работе или интереса в области финансовых услуг, консалтинга, страхования, права, разработки игр, работы правительств, логистики или IT. Эта книга также написана на стыке нескольких дисциплин. Она предоставляет контекстуальное руководство как для программистов, так и для непрограммистов по разработке идей о том, что создавать, и как это создавать. Книга устраняет разрыв между наукой о вычислениях, экономикой, финансовыми услугами и, где это необходимо, банковской историей.

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

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

Для непрограммистов вызов заключается в том, чтобы предсказать, как будет развиваться экосистема, и как вы можете в нее вписаться. Заявления о том, что блокчейн будет модернизировать банковскую систему или совершит революцию в сфере страхования, могут быть раздуты, но на сколько?

Что делает Ethereum?

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

Блокчейны работают наподобие mesh-сетей или локальных вычислительных сетей (LAN); пиры внутри сети просто соединены друг с другом при помощи одного и того же программного обеспечения. Если вы хотите, чтобы одна из подобных одноранговых (P2P) сетей была доступна через веб-браузер, вам необходимо использовать специальные программные библиотеки типа Web3.js для подключения front-end (GUI, который вы видите в браузере) посредством JavaScript API к его back-end (блокчейн).

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

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

— Виталик Бутерин, создатель Ethereum.3

В Ethereum смарт-контракты пишутся на языке программирования Solidity, о котором вы узнаете в Главе 4. Полнота по Тьюрингу была преимуществом, за которое быстро ухватились многие разработчики, но более важной является возможность Ethereum сохранять состояния. В компьютерных вычислениях для системы, умеющей сохранять состояния, имеется простое определение – это система, которая может обнаруживать изменения информации и помнить о них в течение определенного времени.

Представьте компьютер без жесткого диска; вы бы не смогли сделать многое с его помощью. Он будет похож на калькулятор, содержимое памяти которого исчезает.

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

Примечание

Поток управления означает последовательность выполнения или вычисления инструкций вычислителем. Примерами являются условные утверждения (if условие then команды) и циклы (которые выполняются в повторяющемся режиме до тех пор, пока не будут выполнены определенные условия).

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

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

Что такое протокол?

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

В контексте телекоммуникаций протокол – это система правил, которая описывает, как компьютер (и программист) может подключаться, принимать участие и передавать информацию в системе или сети. Эти инструкции определяют синтаксис кода и семантику, которые ожидает получить система. Протоколы могут включать в себя аппаратные средства, программное обеспечение и простые инструкции. Для работы с Ethereum не требуется никаких специальных аппаратных средств, а программное обеспечение полностью бесплатное.

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

Три компонента блокчейна

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

Это обычно происходит из-за сетевых задержек, связанных с физическим расстоянием; например, транзакция, созданная пользователем, покупающим хот-дог в Токио, будет сначала отправлена на узлы в Японии. К тому времени, как узел в Нью-Йорке получит сообщение об этой транзакции спустя несколько миллисекунд, другая транзакция из близлежащего Бруклина может пробраться вперед Токийской. Эти несоответствия, обусловленные субъектной перспективой в распределенных системах, делают их сложными для масштабирования. Сила систем на блокчейне в том, что они представляет собой совокупность технологий, которые мы можем развернуть, чтобы решить эту проблему.

То, что обычно называют блокчейном, на деле является совокупностью трех технологий, набор из этих компонентов был изначально придуман псевдоанонимным создателем Биткойн. Вот эти три компонента:

  • Peer-to-peer networking (одноранговая сеть): группа компьютеров, например BitTorrent-сеть, которые могут обмениваться информацией между собой, не полагаясь на единый центральный сервер и, следовательно, не имеющие единой точки отказа.
  • Асимметричная криптография: способ для этих компьютеров отправить сообщение, зашифрованное для определенных получателей таким образом, чтобы любой мог проверить подлинность отправителя, но только предполагаемые получатели могли прочитать содержимое сообщения. В Биткойн и Ethereum асимметричная криптография используется для создания набора идентификационных данных для вашей учетной записи, чтобы гарантировать, что только вы можете перемещать свои токены.
  • Криптографическое хеширование: способ сгенерировать небольшой уникальный “отпечаток” для любых данных, позволяющий быстро сравнивать большие массивы данных и безопасно проверять, что данные не были изменены; как в Биткойн, так и в Ethereum используется структура данных Merkle Tree для записи канонической последовательности транзакций, которая затем хешируется в “отпечаток”, служащий основой сравнения для компьютеров в сети и за ее пределами, которую они могут быстро синхронизировать.

Сочетание этих трех элементов выросло из экспериментов с цифровыми деньгами в 1990-х и начале 2000-х годов. Адам Бэк выпустил HashCash в 2002 году, который впервые использовал майнинг для отправки транзакций. Человек (или группа людей) с псевдонимом Сатоши Накомото добавил к этой инновации распределенный консенсус, создав Биткойн в 2009 году.

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

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

Ethereum был впервые предложен в 2014 году в “Ethereum White Paper”.

Ethereum допускает использование множества цепочек

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

Примечание

Для работы с протоколом Ethereum желательно обладать знаниями концепций как экономических, так и программирования. Эта книга содержит необходимые разъяснения.

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

Это такое же мошенничество, как и Биткойн!

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

Это верно лишь на половину: стоимость биткойна определяется рынком биткойнов. Конечно, определенные организации, работающие с биткойнами, получили лицензии на осуществление внутренних переводов денежных средств и могут выкупать ваши биткойны в обмен на доллары США, евро, золото или другие фиатные валюты. Но эти организации – частные компании, которые начисляют комиссию и могут прекратить работу в любой момент.

Таким образом, Биткойн и похожие на него сети уязвимы только в том плане, что у них нет организаций последней инстанции, производящих обмен цифровых валют, нет доверенных (правительственных или корпоративных) организаций, в которых можно быть уверенными, что они будут обменивать ваши биткойны или эфир на доллары США в будущем. За исключением расчетов через частных лиц, единственный способ обменять биткойны на что-либо, имеющее реальную стоимость, это связаться с онлайн-сервисом обмена цифровых валют и продать монеты за фиатную валюту, тем самым найдя другого покупателя.

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

Эфир как валюта и товар

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

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

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

Закон Грешема

Какое это имеет значение, если финансовые продукты, контракты, договоры страхования и тому подобные вещи будут выражаться в криптовалюте? И как это связано с Ethereum?

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

Изначально применявшийся к золотой и серебряной валюте, закон Грешема утверждает, что в экономике “худшие деньги вытесняют из обращения лучшие”. Другими словами, люди сберегают и копят валюты, которые, как они ожидают, повысятся в цене, при этом они тратят валюты, которые, по их мнению, упадут в цене.

Хотя этот закон и назван в честь финансиста из 16 века, эта концепция появилась задолго до него, в трудах средневековых авторов, и даже еще ранее, в античных текстах, включая комедию Аристофана “Лягушки”, обычно датируемую 405-м годом до н.э.:

“Монеты, не тронутые примесями, золотые или серебряные, Каждая хорошей чеканки, проверенная и звенящая чисто. Однако, мы никогда их не используем! Другие же монеты ходят по рукам…”

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

Путь к лучшим деньгам

Сегодня Биткойн (обозначаемый условным сокращением BTC) используется людьми, правительствами и компаниями для передачи ценности и для покупки товаров и услуг. Каждый раз, когда они отправляют биткойны, они платят небольшую комиссию в сеть, которая выражается в биткойнах. Эфир (обозначаемый условным сокращением ETH) можно использовать аналогичным образом. Чтобы понять, куда двигаться дальше, вам нужно узнать несколько вещей.

Во-первых, у эфира есть другое применение: им можно платить для запуска программ в сети Ethereum. Эти программы могут перемещать эфир сейчас или в будущем, или при определенных условиях.

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

В наши дни подавляющее использование фиатных валют может быть поводом считать, что криптовалюты – это “худшие” деньги, что они более подвержены обесцениванию в долгосрочной перспективе. И все же, биткойн и эфир, как всем хорошо известно, накапливаются держателями, и даже хранятся на счетах по крайней мере одной компании, на момент написании книги, – Grayscale, дочерней компании Digital Currency Group. Между тем, центральные западные банки экспериментируют с практически нулевыми процентными ставками и количественным смягчением, также известным, как печатание денег, во все более опасных и отчаянных попытках сдерживать инфляцию и дефляцию.

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

Криптоэкономика и безопасность

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

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

Это привлекательные преимущества, которыми должен восхищаться любой инженер или разработчик ПО. Но раскрутка монет в роли денег (или временных видов платежных средств) – это полностью отдельная, дополнительная задача по привлечению внимания людей к пользовательским приложениям. Эта книга решает обе половины данной проблемы.

И хотя наиболее очевидные примеры применения подобного программного обеспечения можно найти в сфере финансовых услуг, приложения будущего могут также использовать аналогичные рычаги – доверие, транзакции, деньги, разработка сценариев – для совершенно других целей. Как и в случае с командной строкой, которая со временем привела к GUI, а теперь и к приложениям виртуальной реальности (VR), вы можете выбрать, что создать с помощью Ethereum. Но мы обсудим несколько примеров, в любом случае.

Вспомним старые добрые дни

Это правда, что Биткойн и Ethereum добавляют немного сложности – экономическую составляющую – в написание программного обеспечения. Но при этом, в некоторых аспектах, они проще; работа с децентрализованными протоколами похожа на работу с компьютерами образца 1970-х годов. Это были громоздкие и дорогие системы с ресурсами общего пользования, и люди могли арендовать эти машины на время у компании или университета, владевших ими. Сеть Ethereum работает как один большой компьютер, который исполняет программы синхронно; это машина, которая виртуализируется сетью других машин. Будучи состоящей из множества частных компьютеров, виртуальная машина Ethereum (EVM) сама по себе может считаться компьютером, ресурсы которого используются совместно и который никому не принадлежит.

Изменения в EVM вносятся посредством хардфорка: нужно убедить все сообщество операторов узлов обновить программное обеспечение Ethereum на новую версию. Основная группа разработчиков не может просто так протолкнуть изменения. Они задействуют политический процесс убеждения и разъяснения. Подобное устройство, не имеющее владельцев, призвано максимально увеличить время безотказной работы и защищенность, при этом свести к минимуму мотивацию играть нечестно.

Криптохаос

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

Никто не знает, что будет дальше, но ясно, эта технология работает – капитализация рынка всех криптовалют вместе взятых достигла объема, превышающего 26 миллиардов долларов США (на момент написания этой книги). Розничные торговцы, крупные и не очень, в онлайне и в офлайне начинают принимать платежи в цифровых монетах. (Обратите внимание, что если не указано иное, все суммы в долларах выражаются в долларах США).

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

Сила в протоколе

В современной технологической индустрии правят протоколы прикладного уровня: это уровень, на котором обитают все пользовательские данные. Многомиллиардные компании типа Google, Facebook и Twitter построили огромную инфраструктуру для поддержки международных групп пользователей. Все построено на базе протокола управления передачей/межсетевого протокола (TCP/IP), протокола передачи гипертекста (HTTP), простого протокола передачи почты (SMTP) и ряда других протоколов.

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

Примечание

Рыночная капитализация является показателем ценности организации или экосистемы. Она рассчитывается путем умножения цены одной доли в капитале (например, один эфир) на их количество в обращении. Рыночная капитализация часто считается показателем внедрения криптовалюты; впрочем, использование денежной базы может быть более целесообразным. Денежная база – это общая сумма наличных денег в обращении и денег, хранимых в качестве резерва организациями, работающими с деньгами.

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

Однако, рыночная капитализация сети Bitcoin выросла до почти 19 миллиардов долларов менее чем за 10 лет. Рыночная капитализация Ethereum составляет порядка одного миллиарда долларов. Это беспрецедентный, быстрый новый способ раскрутки нового сетевого протокола.

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

Вы можете создать систему, не требующую доверия

Когда вы изучите язык Solidity, то быстро поймете, какие программы вы сможете написать, – именно в этот момент наступит реальный порог вхождения. Цель проектов из этой книги – точно показать, как и где блокчейны могут улучшить или автоматизировать взаимодействие конечных пользователей во всевозможных сферах деятельности, а также позволят создавать новые виды продуктов и услуг. Вы узнаете, как банковские продукты и услуги, которые мы знаем сегодня и которые на протяжение более ста лет развивались методом проб и ошибок, могут измениться, извлечь пользу или достичь определенного уровня при помощи не требующих доверия распределенных или полураспределенных систем. В этом контексте “не требующий доверия” означает “не требующий веры в то, что контрагенты будут действовать честно и без сбоев, а значит невосприимчивый к мошенничеству и другим рискам невыполнения контрагентами своих обязательств”.

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

Что делают смарт-контракты (на самом деле)

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

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

Но как именно это работает? Как данные могут выступать в роли денег в децентрализованной системе?

Ответ на этот вопрос зависит от ваших технических знаний. Итак, давайте рассмотрим достаточно углубленный пример.

Объекты и методы для ценности

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

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

Объект ниже представляет атрибуты торта и содержит метод, при помощи которого компьютер может отобразить инструкции о том, как объединить эти ингредиенты, чтобы сделать торт. Хранение информации подобным способом облегчает программе и программисту выполнение загрузки и выгрузки атрибутов без изменения кода для команд вывода данных на устройство отображения. Другими словами, объекты – это модульные фрагменты информации, которые могут комбинироваться и рекомбинироваться нужным образом. Это необходимо будет вспомнить в последующих главах, когда мы будем обсуждать строение блоков, составляющих блокчейн. В JavaScript вы можете написать объект “торт” следующим образом:

var cake = { firstIngredient: “milk”, secondIngredient: “eggs”, thirdIngredient: “cakemix”, bakeTime: 22

bakeTemp: 420 mixingInstructions: function() {

return “Add ” this.firstIngredient + ” to ” + this.secondIngredient + ” and stir with ” + this.thirdIngredient + ” and bake at ” + bakeTemp

+ ” for ” + bakeTime + ” minutes.” ;

}

};

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

Просто добавьте коммерческую деятельность

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

Представьте на мгновение, что выполнение функции mixingInstructions стоит несколько центов в эфире. После того, как цена за рецепт торта списывается с баланса Ethereum-кошелька пользователя, – что в среднем занимает несколько секунд – ваш смарт-контракт будет вызывать метод mixingInstructions и показывать пользователю, как приготовить торт. Все это можно сделать без аутентификации, платежных API, учетных записей, кредитных карт, обширных веб-форм и всех стандартных механизмов, используемых при создании приложений для электронной торговли. Фактически, все ваше JavaScript-приложение должно взаимодействовать с глобальным публичным блокчейном Ethereum с помощью упомянутой ранее программной библиотеки Web3.js.

Создание контента

До сих пор в этой главе мы фокусировались на использовании эфира в финансовых целях, но пример с рецептом торта демонстрирует еще одну большую потенциальную область применения Ethereum: интеллектуальная собственность, лицензирование и роялти за контент. Сегодня продажа контента в интернете или через приложения означает работу с влиятельными дистрибьютерами, включая Apple, Google и Amazon, которые создают штрафные правила, связанные с продажей цифрового контента, и взимают большие комиссии.

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

Где данные?

Подождите: если сетевой протокол предоставляет такой большой функционал “из коробки”, и это распределенная система, то где хранятся данные пользователей? Конкретное описание работы сети Ethereum является темой следующей главы, но если мы будем придерживаться принципа рассмотрения в первую очередь животрепещущих вопросов, то вот быстрое краткое изложение того, как транзакции записываются в сети Ethereum: все они хранятся на каждом узле (ноде) сети.

Все транзакции в Ethereum хранятся в блокчейне, каноническая история изменений состояния хранится на каждой отдельной ноде Ethereum.

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

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

Мы углубимся в то, как работает блокчейн Ethereum, в следующей главе.

Что такое майнинг?

Поскольку распределенная система не имеет одного владельца, машины могут свободно подключаться к сети Ethereum и начинать проверку транзакций. Этот процесс называют майнингом. Но какая у него цель?

Майнинговые ноды “совещаются”, чтобы прийти к консенсусу относительно последовательности транзакций во всей системе, что необходимо для табулирования балансов аккаунтов всех пользователей “на лету”, даже несмотря на большое количество транзакций, проходящих в сети. Этот процесс потребляет электроэнергию, которая стоит денег, поэтому майнерам выплачивается вознаграждение за каждый добытый блок: около 5 эфиров.

Эфир и цены на электричество

Майнерам выплачивается эфир за майнинг, а также за выполнение скриптов в сети (в виде газа, про который мы объясним позже). Стоимость расходов на электроэнергию для работы серверов в сети Ethereum является одним из факторов, который дает эфиру, как криптотовару, его внутреннюю стоимость – другими словами, кто-то заплатил реальные деньги своей энергосбытовой компании для работы своих машин для майнинга.

Специальные риги для майнинга, в которых используются массивы видеокарт для увеличения вероятности завершения расчета блока и получения награды, могут увеличивать счета за электроэнергию в пределах от $100 до $300 в месяц за одну машину, в зависимости от ваших местных тарифов.

Майнинг – это фундаментальная составляющая Биткойн и Ethereum, и, в принципе, работает аналогичным образом в обеих сетях, с некоторыми оговорками. Ethereum и здесь изменил парадигму, особенно касаемо выпуска эфира. Как именно это работает, мы рассмотрим в Главе 5.

Погружение в EVM

Цель этой книги – научить программистов и владельцев продуктов тому, как и для чего можно запрограммировать виртуальную машину Ethereum (EVM). EVM – это название только что описанной системы. Книга написана таким образом, чтобы ее смысл был понятен как для специалистов по финансам, так и для “технарей”, чтобы разработчики и прикладные специалисты могли легче прийти к общему пониманию того, что им стоит создать совместно, и какие инструменты подходят для их проекта. Но для начала мы должны потратить еще немного времени на основы использования и хранения эфира.

Примечание

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

Браузер Mist

В настоящее время развертывание приложений – это все еще сложный процесс, но есть способы простого прототипирования смарт-контрактов с использованием лишь скриптов на Solidity. Для этого вы будете использовать нативный браузер Ethereum, который называется Mist. Помимо всего прочего, этот браузер отображает состояние баланса на ваших аккаунтах. В Главе 2 больше рассказывается о кошельках, браузерах, инструментах командной строки и обозревателях блокчейнов, но сначала примечание по терминологии.

Браузер vs. блокчейн кошелек или цепочка ключей

Mist иногда называют кошельком, это термин, заимствованный из терминологии Биткойн в блокчейн. Почему Биткойн-приложения называют кошельками? Не потому, что они хранят ваши деньги, хотя приложения кошельков и позволяют вам отправлять и получать платежи. Эти приложения, будучи установленными на ваш смартфон, содержат выпущенные криптографические ключи, которые позволяют вам читать и записывать данные в распределенную базу данных. Итак, хотя “цепочка ключей” и была бы более подходящей метафорой, “кошелек” – это термин, который закрепился.

Если у вас есть желание забежать вперед и взглянуть на Mist, вы можете найти ссылку для загрузки под Windows, Mac и Linux на GitHub проекта Ethereum: https://github.com/Ethereum/mist/releases

С помощью инструментов командной строки в Mist и Ethereum можно протестировать пробные контракты, используя “ненастоящий” эфир, чтобы убедиться, что вы не потеряете никакие реальные деньги во время отладки. И хотя это кажется немного примитивным, если у вас есть опыт работы с современными средами разработки, это великолепная отправная точка для менее подготовленных в техническом плане обучающихся, поскольку это побудит их изучить сетевые и низкоуровневые компьютерные системы только лишь для создания простого демо-приложения.

Solidity похож на JavaScript, но…

Сферический код Solidity в вакууме будет большей своей частью интуитивно  понятен для тех, кто знает языки JavaScript, Java или C. Хотя Ethereum-приложения не хостятся на каком-то одном сервере, внутренности Ethereum-приложения представляют собой ряд (относительно) простых файлов смарт-контрактов, которые похожи на JavaScript. Вы создаете их локально, а затем разворачиваете их для распространения по всей сети и децентрализованного хостинга. В этом смысле разработка в Ethereum объединяет работу с сетью, хостинг приложений и работу с базами данных в одно целое.

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

Для чего подойдет Ethereum?

Ethereum подходит для создания экономических систем в чистом программном обеспечении.

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

Критика 

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

“Время простоя, цензура или вмешательство третьих сторон полностью исключены”

Если вы не знакомы с миром разработки программного обеспечения с открытым исходным кодом, то вам поначалу покажется малопонятным то, как происходит управление базой кода. Даже несмотря на то, что протокол Ethereum был написан небольшой группой основных разработчиков, для изменения того, как функционирует сеть, необходимо взаимодействие множества категорий участников проекта, это отлаженный процесс. По мере роста сети так называемые хардфорки станут менее целесообразными и менее необходимыми, и следовательно, менее частыми. Помните, что развитие сети Ethereum еще не завершено. Она находится в рабочем состоянии сегодня, но не будет полностью готова до, ориентировочно, 2019 года. Средства для дальнейшей разработки обеспечиваются швейцарской некоммерческой организацией Ethereum Foundation.

“Безопасная, свободная и открытая платформа для интернета вещей”.

Машины могут исполнять множество смарт-контрактов, в этом направлении идет работа. Например, вы забрели в район города, где раньше не бывали, и вы теряете сигнал сотовой связи. Ваш телефон может автоматически “арендовать” определенное время у ближайшей фемтосоты в сторонней сети и заплатить маршрутизатору небольшую плату, все это без необходимости запрашивать ваше разрешение. Цена и скорость могут быть переменными в смарт-контракте, созданном маршрутизатором, это похоже на соглашение об уровне предоставления услуги (SLA), благодаря которому могут быть переведены деньги в том случае, если вы даете свое согласие на это.

“Обеспечение прозрачного управления для сообществ и организаций”

Ок, здесь более неоднозначно: появление прозрачных компаний – это вероятный исход. Но децентрализованные автономные компании (попеременно называемые DAO или DAC), возможно, появятся в далеком будущем. Похоже, что индустрия остановилась на термине “децентрализованная организация” или DO, именно этот термин мы будем использовать в этой книге. Прогресс в этой области – очень запутанное дело. Управление посредством криптографического инструмента допускает использование всех тех манипуляций, от которых веками страдала демократия. Один голос – с одного адреса кошелька? Но кто его владелец? Если монета – это голос, будут ли править богатые? Разговор на эту тему лежит по большей части за пределами этой книги, но если кто-либо агитирует вам идеи о полностью автономных организациях, корпоративных или правительственных, возможно, вам стоит заинтересоваться истинными мотивами.

“Обработка аутентификации пользователей и безопасных платежей, а также обмен сообщениями, и даже децентрализованное хранение данных”

Это станет полностью правдой, когда Ethereum продвинется дальше по своей дорожной карте. В действительности, вы получаете аутентификацию пользователей и безопасные платежи уже при подключении к блокчейну Ethereum, но одноранговая связь и децентрализованное хранение (сам по себе только зарождающийся бизнес-сегмент в области программного обеспечения и блокчейнов) в настоящее время доступны только при сторонних интеграциях. Тем не менее, дорожная карта Ethereum включает в себя эти элементы, планируемые названия которых – Swarm и Whisper. В настоящее время оба они доступны в виде ограниченных экспериментальных версий.

“Нет необходимости регистрироваться или платить за хостинг приложений; первая в мире платформа с нулевой инфраструктурой”

Технически это правда, но время – деньги, и поскольку мы говорим о хостинге и развертывании, то становится ясно, что “бесплатно” и “эффективно” могут быть взаимоисключающими понятиями в мире этого нового программного обеспечения.

Состояние разработки смарт-контрактов в настоящее время

Несколько тестовых проектов разработки на Solidity доступны сегодня. Если вы думаете о развертывании полноценного пользовательского приложения, у вас не будет большой конкуренции. Пока что…

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

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

Альтернативные монеты

Альткойны – это Биткойн-аналоги, которые используют кодовую базу Биткойн. Могут существовать объективные основания для запуска альткойна; они не всегда создаются с целью осуществления прямой атаки на базу пользователей.

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

Финансирование вашего проекта

Краудфандинг – это один из способов для предпринимателей бороться с тяготами и расходами на бета-тестирование в реальном времени и сбор средств путем продажи раннего доступа к продукту или услуге потенциальным пользователям. В сфере криптовалют это называется запуском токена. Некоторые компании используют термин “первичное предложение токенов” (ICO), потому что это похоже на термин с Уолл-стрит “первичное публичное предложение” (IPO). Однако этот термин может ввести в заблуждение, поскольку токены не всегда являются эквивалентом акций. Это справедливо и для биткойна, и для эфира, которые не представляют собой долю чего-либо.

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

Решите, с какой стороны войти в эту сферу

Помимо освещения технических аспектов Ethereum, эта книга предоставляет целый ряд контекстуальной информации, которая поможет вам решить, как программирование на Solidity и распределенные приложения могут вписаться в вашу карьеру. Эта книга также направлена на выявление новых векторов для инновационного мышления о программном обеспечении.

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

Сеть Ethereum является также полностью резервированной распределенной базой данных с копиями на каждом узле. Это означает, что вы можете быть уверены в том, что приложение незамедлительно ответит, если будет выполнено определенное условие, даже если это условие произойдет через десятилетия в будущем – и даже если все узлы к тому времени поменяются.

Избавление от старых ограничений для программного обеспечения и банковского дела, а также представление новых, является сквозной темой этой книги.

Примечание для начинающих программистов

Знание о том, как работают монетарные, банковские и страховые системы будет большим преимуществом при проектировании приложений на Ethereum. Если вы сможете совместить эти знания с техническими, это будет круто.

Примечание

Вам не нужно добавлять в закладки URL-адреса или сохранять сноски в этой книге. Вы найдете актуальные ссылки для всех цитат из этой книги, проиндексированные по главам, по адресу: http://eth.guide

Так что, даже если вы непрограммист и не собираетесь им становиться, продолжайте чтение разделов, в которых обсуждается код, в любом случае. Это поможет вам уловить пределы возможностей. А если вы решаете изучить программирование на Solidity с нуля – не имея опыта в программировании – уроки из этой книги доступны и для вас.

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

Ethereum – свободный и с открытым исходным кодом

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

Стоит отметить, для непрограммистов, что “свободный” и “с открытым исходным кодом” – это не синонимы. Открытый исходный код – это методология создания программного обеспечения; свобода – это социальная концепция. Согласно GNU Foundation: “Когда мы называем программное обеспечение свободным, мы имеем ввиду, что оно уважает основные свободы пользователя: свободу запускать его, изучать и модифицировать, передавать копии с изменениями или без них”.

EVM намерена здесь закрепиться

Как вы узнаете, у Ethereum есть амбициозный план по развитию и еще более амбициозные цели. При условии, что Ethereum будет развиваться согласно планам команды ключевых разработчиков, его долгосрочным вкладом в развитие технологии блокчейна может стать EVM. Язык Solidity может стать одним из языков, код которых компилируется в байткод для EVM.

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

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

Что вы можете создать сегодня?

Мы достаточно поговорили о потенциале; что можно создать сегодня? Довольно много, но давайте разложим варианты на две категории: частные (приватные) и открытые (публичные). На сегодняшний день Ethereum можно описать как единый публичный блокчейн и протокол для создания множества блокчейнов. Понимание потенциала в различных областях (и как он может проявляться) зависит от понимания, чем публичная цепочка отличается от приватных Ethereum-цепочек, используемых в корпоративном секторе или других обособленных кругах.

Приватные и публичные цепочки

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

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

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

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

В публичных и приватных цепочках Ethereum вы можете делать следующее:

  • Отправлять и получать эфир.
  • Писать смарт-контракты.
  • Создавать доказуемо честные приложения.
  • Запускать свой собственный токен на основе эфира. Все это описывается в последующих подразделах.

Получение и отправка эфира

Вы можете отправлять и получать эфир, при этом в приватной цепочке у вас будет приватный эфир – не имеющее ценности временное платежное средство. Любой может получить публичный адрес кошелька Ethereum, загрузив кошелек Mist, который мы рассмотрим в следующей главе. Кроме того, доступны мобильные приложения кошельков в iOS App Store и Google Play. Чтобы продавать доллары за эфир, вам нужно зарегистрироваться на криптовалютной бирже или воспользоваться услугами коммерческих организаций, осуществляющих переводы денежных средств, типа Coinbase. Большинство людей просто покупают биткойны (которые более широко доступны в ATM-банкоматах, а также через сеть дилеров наличных средств LocalBitcoins.com) и конвертируют их в эфир на бирже, либо при помощи сервисов по обмену криптоденег типа ShapeShift.io.

Написание смарт-контрактов

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

Создание доказуемых честных приложений

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

Запуск собственного токена

С практической точки зрения, раскрутка вашего собственного токена – это нечто похожее на развертывание системы учетных записей пользователей.

С помощью контракта токена Ethereum вы можете создать субвалюту для использования в приватном транзакционном реестре, который доступен только вам и вашей закрытой группе, но который использует публичную цепочку во всех остальных случаях – это позволит вам избежать создания форка или поддержки вашей собственной сети майнинговых машин. Это удобно, и отлично подходит для большинства разработчиков и организаций. Динамика токенов и цепочек станет понятна в Главах 5 и 9.

Перспектива использования децентрализованных баз данных

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

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

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

Что дальше: новые способы работы

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

Итоги Главы 1

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

Далее, мы поработаем с Ethereum, создадим ключи для доступа к блокчейну Ethereum при помощи программ, называемых клиентами. В следующей главе рассматривается использование клиентских приложений Ethereum для Windows, macOS, Linux, iOS и Android.

Примечания к Главе 1

  1. Ethereum Blog, “Visions, Part 1: The Value of Blockchain Technology,” https://blog.Ethereum.org/2015/04/13/visions-part-1-the-value-of-blockchain-technology/, 2015.
  2. American Banker, “Blockchain Won’t Make Banks Any Nimbler,” www.americanbanker.com/bankthink/blockchain-wont-make-banks-any-nimbler-1079190-1.html, 2016.
  3. YouTube, “Technologies That Will Decentralize the World,” www.youtube.com/watch?v=er-k3ehpFaM&feature=share, 2016.
  4. Harvard Business Review, “Management in the 1980s,” https://hbr.org/1958/11/management-in-the-1980s, 1953.
  5. Wikipedia, “Merkle tree,” https://en.wikipedia.org/wiki/Merkle_tree, 2016. 6
  6. GitHub, “Ethereum White Paper,” https://github.com/ethereum/wiki/wiki/White-Paper, 2014.
  7. Coindesk, “Bitt Launches Barbados Dollar on the Blockchain,” www.coindesk.com/bitt-launches-barbados-dollar-on-the-blockchain-calls-for-bitcoin-unity/, 2016.
  8. Wikipedia, “Gresham’s Law,” https://en.wikipedia.org/wiki/Gresham%27s_law, 2016. 9
  9. USV Blog, “Fat Protocols,” www.usv.com/blog/fat-protocols, 2016. 10
  10. Daily Fintech, “Bitcoin Market Going into Consolidation Before Product Market Fit,” https://dailyfintech.com/2016/02/03/bitcoin-market-going-into-consolidation-before-product-mark et-fit/, 2016.
  11. Coinbase Blog, “App Coins and the Dawn of the Decentralized Business Model,” https://medium.com/the-coinbase-blog/app-coins-and-the-dawn-of-the-decentralized-business- model-8b8c951e734f#.cweqnimd2, 2016.
  12. Ethereum Blog, “The Business Imperative Behind the Ethereum Vision,” https://blog.Ethereum.org/2015/05/24/the-business-imperative-behind-the-Ethereum-vision/, 2015.
  13. GNU Foundation, “Why Open Source Misses the Point of Free Software,” www.gnu.org/philosophy/open-source-misses-the-point.html, 2016.
  14. Nesta.org.uk. “Why you should care about blockchains: the non-financial uses of blockchain technology,” https://www.nesta.org.uk/%E2%80%8Bblog/%E2%80%8Bwhy-you-should-care-about-blockchai ns-non-financial-uses-blockchain-technology, 2016.
  15. CNN Money, “5300 Wells Fargo Employees Fired Over 2 Million Phony Accounts,” http://money.cnn.com/2016/09/08/investing/wells-fargo-created-phony-accounts-bank-fees/, 2016
  16. Daily Fintech, “How Blockchain Technology Could Integrate Financial & Physical Supply Chains and Revolutionize Small Business Finance,” https://dailyfintech.com/2016/06/14/how-blockchain-technology-could-integrate-financial-physica l-supply-chains-and-revolutionize-small-business-finance/, 2016.

Понравилась статья? Поделить с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: