🌐 EOS — Введение (Ян Григг) (часть 1)
05 Июля 2017 - v0.4 - ЧЕРНОВИК
Аннотация—Современные блокчейн-технологии вплотную подошли к тому, чтобы обеспечить разработчиков и конечных пользователей всем необходимым для заключения контрактов и создания крупномасштабных бизнесов. Мы предлагаем EOS, ориентированный на производительность самоуправляемый блокчейн, предоставляющий операционную систему для разработки крупномасштабных, ориентированных на потребителя распределенных приложений. Эта бумага описывает контекст, вИдение и программную архитектуру, закладываемую в EOS, которая строится нами для широкого круга различных применений в смарт-бизнесе.
Ian Grigg является финансовым криптографом и партнером block.one. iang в block.one (см. http://iang.org/).
Примечания:
(i) Этот документ главным образом говорит о ПО EOS.IO, позволяющем сообществу развивать блокчейн EOS. Поскольку исходный код ПО открыт, а сообщество не контролируется ничем, кроме своей собственной Конституции, этот документ может только характеризовать, но не диктовать какой-либо конкретной дизайн блокчейна EOS, который сообщество захочет развивать.
(ii) Я очень старался сделать этот документ как можно более объективным, но всё же у меня есть точка зрения, и это то, что делает жизнь особенной. Для записи: конфиденциальная информация, известная автору, была исключена, поскольку она изменила бы часть критики в лучшую или худшую сторону, если бы была оставлена в документе.
(iii) Настоящая версия является ЧЕРНОВИКОМ, обстоятельные комментарии и отзывы на который только приветствуется! Ничто из написанного в документе не является окончательным для ПО EOS.IO, и возможно, в дальнейшем будет изменено.
I. ВВЕДЕНИЕ
Понятия цифровой наличности и смарт-контракта известны уже довольно давно, однако только недавно начали предприниматься попытки реализации этих концепций на практике.
Эта бумага представляет программное обеспечение EOS.IO, лежащее в основе EOS - новой платформы общего назначения, служащей для обеспечения взаимодействия сторон. EOS рассматривается на фоне трех уже существующих чемпионов, потому что (а) они представляют широкий спектр мнений о Технологиях Распределенного Реестра (DLT - Distributed Ledger Technologies), (б) достаточно масштабны, чтобы с ними приходилось считаться, и (в) автор с ними хорошо знаком.
Биткойн (Накамото, 2008) представлялся тем словом в блокчейн-движении, которое созвучно как цифровой валюте, так и смарт-контрактам. Но несмотря на то, что он завладел вниманием шифропанков, медиа и держателей валют, стать знаковым для бизнеса ему не удалось. Ethereum (Вудс, 2014) попытался удовлетворить ожидания от смарт-контактов, предложив “вечный мировой компьютер”, тогда как Bitshares (Лаример, нач. 2014) попытался открыть доступ к рынку торговых активов. Сотни альтернативных Биткойн-блокчейнов, или альткойнов, пытались сыграть на незначительных по сути различиях с целью заявить о себе. Corda (Браун, нач. 2016) вообще решили отказаться от идеи блокчейна и углубились в исследования внутренних взаимодействий в децентрализованных системах.
Мы подошли вплотную, но конечные пользователи не спешат вручать приз. Самое время по-новому взглянуть на их потребности, с их точки зрения, и заложить основу принципов создания производительных и практичных торговых площадок на блокчейне. Во-первых, мы обобщим Контекст сегодняшнего рынка DLT. Во-вторых, мы рассмотрим всё с Точки зрения Пользователя пользовательских потребностей и способов их удовлетворения. В-третьих, мы рассмотрим Архитектуру, способную удовлетворить потребности рынка. И наконец, мы проведем быстрое Сравнение с известными системами и Подведем итоги. За более детальным описанием программного обеспечения EOS.IO читатель может обратиться к документу “EOS.IO Техническая Белая Бумага” (Лаример, 2017).
II. КОНТЕКСТ
Рынок.
Рынок является конкурентным для любых продуктов, и DLT или блокчейны не являются исключением. Что предлагает рынок? Биткойн можно рассматривать как цепь надежности, хотя сильная цепь ценна ровно настолько, насколько ценен построенный на ней бизнес. Возможно, понимание этого заставило Ethereum предложить рынку глобальный вечный Тьюринг-полный компьютер – цель, достойная специалистов в области информатики, но, по всей видимости, иллюзорная в других дисциплинах. R3 построила Corda для удовлетворения потребностей финансовых организаций, рынок которых настолько же велик, насколько дорог и закрыт.
Этот раздел рассматривает предшествующие системы с точки зрения основных особенностей архитектуры или требований, служащих отправной точкой для оценки производительности и нужд индустрии.
Консенсус.
В блокчейне мы приходим к консенсусу относительно блока транзакций таким образом, чтобы ни одна транзакция не противоречила другой как в текущем блоке, так и ни в одном из предыдущих. Задача Двух Генералов, обладающая богатой историей о достижении соглашения между удаленными друг от друга сторонами, может быть сформулирована так: “Я знаю, что ты видишь то же, что и я”. См. рис.1
Рис. 1.
В информатике Задача “Двух генералов” является фундаментальной
Биткойн установил доказательство выполненной работы, или подпись Накамото, в качестве способа объединения открытого сообщества в публичный реестр, в котором все стороны обладают его полной копией. Этот механизм разыгрывает лотерею среди множества майнеров с целью определить, кто именно создаст очередной блок. Билеты в этой лотерее вычисляются как паззл SHA2, что требует затраты энергии, а победитель награждается фиксированным количеством Bitcoin. В результате каждый может стать Генералом, а тот, кто выигрывает в лотерею, задает план текущего сражения. Следующие за ним генералы могут либо принять план (блок), либо отказаться от него, если он был создан некорректно.
Полностью дублируемый реестр и затраты на алгоритм доказательства работы, доходящие до 4% у Bitcoin и до 11% у Ethereum (на момент написания документа), начинают приносить много проблем. В ответ были предложены Реестры с разграничением полномочий (Swanson, 2015) – не только с целью блокировки нежелательных участников, но также для того, чтобы мы могли вспомнить, как в информатике изначально определен эффективный консенсус – практичные, но централизованные системы, хорошо известные из теории баз данных. Кроме того, периодически появляются алгоритмы доказательства владения долей, по сути являющиеся экзотическими анклавами криптографической безопасности. Corda (Brown, нач. 2016) обеспечивает пользователю возможность на определенном этапе создания транзакции самостоятельно выбирать алгоритм консенсуса. Допустив взаимозаменяемость серверов-заверителей, способных достигать консенсуса любым из описанных выше способов, Corda снизила сетевые издержки до уровней, сравнимых с аналогичными в сегодняшней IT-инфраструктуре.
Ценность.
Аналогично, существует широкий выбор механизмов установления ценности таких взаимозаменяемых вещей, как наличные деньги. Смарт-карты в 1980-1990-х, как правило, размещали данные внутри каждой карты путем организации защищенного хранилища, осуществляющего атомарные транзакции между карточками.
В те же годы eCash Дэвида Чаума (Chaum, 1983) сделал популярным определение, согласно которому монета (coin) являлась случайным числом, подписанным слепой подписью, и свободно передавалась от пользователя к пользователю. Тройная запись (Grigg, 2005) устанавливает возможность просмотра одной и той же записи о транзакции обеими ее сторонами, при этом каждая из сторон создает транзакцию без участия посредников. Баланс же вычисляется как сумма записей о входящих и исходящих транзакциях.
Биткойн использует концепцию неизрасходованных выходов транзакции (UTXO - unspent transaction output), то есть схема меняется при изменении состояния. Запись о каждой транзакции расходует (тратит) набор ранее неизрасходованных значений и создает новое значение, доступное для расходования в будущем. В противоположность этому подходу, виртуальная машина Ethereum использует механизмы базы данных, позволяющие создавать валюту на основе таблиц. Это значительно увеличивает гибкость, однако открывает широчайшие возможности для атак.
Наличие этих пяти различных механизмов заставляет нас констатировать отсутствие устоявшегося научного подхода к расчету ценности.
Смена состояния.
Блок Bitcoin, представляющий собой список UTXO (неизрасходованных выходов), как описано выше, претендует на изменение состояния, являющегося природой этих монет, блока, цепи в этот момент времени. Дуализм концепции UTXO происходит из потребности в облегченном, или “SPV”, клиенте, который подтверждал бы поступление монет в общий реестр: получающий клиент с ограниченным доступом должен иметь возможность только проследить путь каждой отдельной “монеты” от ее текущей позиции в блоке назад к моменту ее создания – только в этом случае входящая транзакция будет считаться корректной. Получателю нет необходимости проверять что-либо, находящееся снаружи и не содержащееся в самих монетах, как например, баланс отправителя, чтобы удостовериться в полном контроле над ценностью.
Значительность утверждения о том, что блокчейн является графом состояний, подтверждается широким признанием в сфере распределенных реестров. Даже после замены UTXO в Ethereum более мощной виртуальной машиной, он по-прежнему считает состояние той точкой, в которой все узлы сети должны приходить к консенсусу. Как только приходит новый хешированный блок, каждый валидирующий узел вычисляет и подтверждает точное состояние на выходе, состоящее из всех контрактов каждого из новых блоков.
Контракты.
Биткойн добавил к деньгам бизнес-логику посредством внедрения “скриптов” валидации в транзакции, предложив ограниченную форму достижения соглашения, получившую ставшее популярным название “смарт-контракт” (Szabo, 1994, 1997). Создание вечного глобального Тьюринг-компьютера, предложенное Ethereum, обеспечило более мощные возможности программирования, обмена сообщениями и хранения данных. В Corda эти архитектуры были объединены с целью валидации и достижения соглашения по схожему с UTXO состоянию с возможностью внесения в него изменений выполнением команд, но также было установлено ограничение: по соображениям конфиденциальности только непосредственные участники имеют доступ к данным. И Ethereum, и Corda представили более мощные высокоуровневые языки для разработки контрактов.
Производительность.
Биткойн установил общий лимит примерно в 3 транзакции в секунду (TPS), в связи с чем транзакции могут сильно запаздывать. Ethereum, кажется, достиг 15 TPS, но недавние проблемы сети были отмечены возросшей до $2000 комиссией, выплачиваемой только за то, чтобы транзакция попала в очередь.
Производительность блокчейнов имеет множество ограничений: валидация ранее запрошенных блоков, обработка новых блоков, сам майнинг. Corda по большей части избегает этих ограничений благодаря тому, что ее консенсус основан на избираемых, независимых и локально расположенных заверителях, так как у этой цепи нет необходимости в консенсусе более широком, чем между сторонами. Каждая система обременена физическими ограничениями из-за времени распространения сообщений по сети.
Сценарии использования.
Несмотря на весь хайп, поднятый вокруг блокчейна, настоящих подтверждений полезного применения технологии не так много. Биткойн является всего лишь валютой, а взрыв альткойнов, падение цветных монет и отсутствие по-настоящему интересных смарт-контрактов очерчивают четкие границы этого направления.
Ethereum пытался выйти за рамки, но до настоящего момента успехи можно считать весьма скромными, если не рассматривать одного постоянно воспроизводимого сценария по привлечению средств под обещания будущих применений. Это подтверждается стабильным трафиком контрактов стандарта ERC-20.
Удивительно, но предшественниками EOS, представлявшими собой два “интересных” сценария использования, достигшими стадии готового продукта и показавшими стабильный рост, были децентрализованная биржа (Bitshares) и социальная медиа-площадка (Steem). Однако перспективы смарт-контрактов, тем не менее, остаются неясными.
Управление.
Для автора по-настоящему важным открытием, сделанным Биткойном, является не то, что мы можем взаимодействовать между собой с использованием криптографии, или что децентрализация и публичная запись [транзакций] являются гарантом стабильности архитектуры, но сам факт необходимости сохранения этих характеристик для выживания сети.
Общий доступ к записям не только является ключевой особенностью модели консенсуса, построенной на майнинге хэшей для распределенного реестра, но также является ключом для способности системы к выживанию.
Предшествующие реализации цифровой наличности потерпели неудачу из-за того, что у них был центр, который мог быть атакован тем или иным способом, и система теряла управление. В качестве доказательства даже более крупного провала, централизованные биржи эпохи Биткойна часто были подвержены проблемам с хищениями, взломом контрактов, отказами в обслуживании [DDOS], банкротствами, захватами и принудительным изменениям правил работы.
Затем этот мир разделился на две основные части: полностью децентрализованные системы с публичными транзакциями, классифицируемые как блокчейны, и противоположно ориентированные централизованные и закрытые реестры. У систем же, оставшихся посередине, нет однозначного определения. Разделение доступа к публичным транзакциям поднимает вопрос о том, кто и как управляет распределением доходов сети, и управляет ли вообще.
В целом подход открытой записи основан на том, что качество определяется покупателем, и направлен на аккуратную реализацию технической возможности гарантировать покупателю его права посредством автоматизации большей части базовых механизмов, обеспечивающих такие гарантии на уровне программного кода.
Указанный подход пытается решить проблему дефицита доверия, заключающуюся в существовании четкой границы между тем, что технически гарантировано и непоколебимо как цепь [блокчейн], и тем, что определяется на усмотрение пользователя и, как следствие, подвержено бОльшим рискам.
Необходимость более или менее успешно защищать пользователей от целого ряда рисков приводит к выработке организационных подходов, таких как введение механизма для реализации предложений об улучшениях и создание центральных органов, таких как фонды и команды (Gupta, 2014). Такой подход характерен для Bitcoin и Ethereum.
В противоположном подходе, который развивают сети с ограничением доступа и закрытые платформы, совершать операции разрешается только авторизованным пользователям. Этот сценарий подразумевает появление новых участников только через авторизованных агентов, что позволяет рассчитывать на презумпцию хорошего поведения в процессе торговли. Явно или неявно, но обеспечение хорошего поведения обычно выносится за рамки технологии, при этом роль идентификационной записи пользователя конкретно не определена.
Обратной стороной закрытости является то, что строительство и поддержка стены вокруг системы может иметь высокую стоимость, а сторож, охраняющий вход, с каждым годом может поднимать цену всё выше. Такой подход широко распространен в сильно зарегулированных рынках, например в банковском секторе и ему подобных, а также используется в Corda.
Ни одна из этих тенденций в мире блокчейнов не является дружественной пользователю – они либо теряют слишком много денег на обеспечение гарантий сделок, либо страдают от дискриминации – конкурентной или социальной – в системах с ограниченным доступом. Это объясняет обычно скептическое отношение со стороны пользователей.
III. ВИДЕНИЕ
Конечные цели. Что нужно нашим пользователям? Образно, он хочет:
- Знать своих друзей, партнеров по бизнесу и заказчиков.
- Общаться с ними.
- Иметь возможность совершать с ними сделки:
a) мелкие, заключая персональные соглашения, и
b) крупные, выстраивая сложные бизнес-схемы, удовлетворяющие потребности рынка. - Иметь возможность сохранять свои активы и управлять ими (платить по счетам, и т.д), что обязательно сопровождает ведение бизнеса.
a) При этом всё должно делаться безопасно и надежно. - Иметь возможность инвестирования в предсказуемый бизнес. Это сложный случай, и похоже, он требует наличия трех составляющих:
a) Знания, что экосистема развивается, и при этом не только в направлении защиты от сбоев.
b) Платы за усилия, направляемые на развитие, и ожидать отдачи от этих усилий в будущем.
c) Поскольку он знает, что всё – контракты, активы, транзакции, намерения – может пойти не так, он хочет иметь возможность решать потенциальные проблемы. Включая проблемы, связанные с друзьями, бизнесом, активами, и решать их быстро, недорого и без лишнего шума.
Сразу оговоримся о возможности преувеличения: мы рассматриваем только вариант совпадения потребностей и желаний. Или точнее, что предпринимательская логика диктует нам - в чем пользователь вероятнее всего нуждается, и что он действительно захочет получить, как только узнает о появившейся возможности.
Большая идея.
Совершенно очевидно, что по той или иной причине, децентрализованные контракты и деньги не получили широкого признания Интернет-сообщества. Биткойн слишком небезопасен, и его контракты непрозрачны. Ethereum слишком страшный, сложный, и подходит только для гиков. Corda является “большой корпорацией”. Другие системы имеют собственные слабые места, они доступны только элите кодеров-программистов, и все имеют различное видение.
Рынку нужен умный бизнес для обычных людей. Типичное распределенное приложение нуждается в глобальном блокчейне, который сможет раскрыть всё богатство открытия Bitcoin, будет иметь достаточно производительности, чтобы справляться с большим бизнесом, будет достаточно связным, чтобы объединить людей, а также достаточно безопасным и надежным, чтобы Gordon Gekko с Уолл-стрит мог торговать рядом с Mama Biashara из Африки. Без драмы, страха и непонимания.
Цель.
Мы видим решение в глобальном, масштабируемом блокчейне, способном обслуживать контракты взаимодействующих между собой бизнесов таким образом, чтобы все стороны имели доступ к преимуществам надежной и безопасной экосистемы.
С более практической точки зрения, пока ценность Интернета остается значительной, мы концентрируемся на веб-приложениях и пока оставляем за кадром возможности применения в мобильных и десктоп приложениях. Чего хочет разработчик веб-приложения? Мы полагаем, что целевой пользователь является веб-предпринимателем, и потому давайте действовать исходя из этого предположения.
Основные особенности.
Наш подход к построению блокчейна подразумевает способность обрабатывать тысячи транзакций в секунду, выполняя контракты бизнеса, зафиксированные в форме простых для использования и безопасных языков программирования. К основным его особенностям относятся:
- Высокая производительность обмена сообщениями, генерируемыми на основе событий
- Делегированное Доказательство владения Долей
- Контракты для согласования и намерений, основанные на сообщениях
- Простота использования во всей цепочке от пользователя к автору контракта, к разработчику и к предпринимателю
- Управляемость - как для бизнеса, так и для поддержания работоспособности цепи
Последующие разделы рассматривают подход более детально
ВТОРАЯ ЧАСТЬ
Свежие новости в Телеграм: t.me/EOS_RU
Оригинал поста: ЗДЕСЬ
@blockchained только сегодня зарегистрировался на стиме, собираю интересные контакты с голоса, удачи! Подписался.
EOS лучший!
Собираемся в стаю! Растём до китов!