Обзор децентрализованных технологий. Часть 2
Первую часть можно найти здесь, в ней я рассказал о том, что такое Blockchain, Ethereum, Ripple и Storj.io. Сегодня речь пойдет об интересных, новых и еще не освещенных в должной степени на Хабре Гиктаймсе технологиях, это Sidechains и умные контракты.
Sidechains
Криптограф, изобретатель и автор концепции сайдчейнов Адам Бэк и группа единомышленников, среди которых есть разработчики, стоящие у истоков популяризации Bitcoin, а также известные фигуры в индустрии онлайн платежей запустили стартап Blockstream. На роль руководителя был приглашен бывший CEO Zero-Knowledge Systems Остин Хилл. Согласно информации на официальном сайте, Blockstream ставит своей целью развитие и ускорение инноваций в области криптовалют, открытых активов и умных контрактов, а сайдчейн — его первая разработка, представленная на данный момент в виде технического документа.
Успешное внедрение сайдчейнов открывает следующие интересные перспективы:
Bitcoin может стать основным резервным чейном для множества других распределенных платформ и основной резервной валютой для других криптовалют. Это изменение ускорит распространение и развитие сторонних платформ, таких, как Ethereum, Maidsafe, Ripple, Zerocoin и других, дав возможность напрямую связать их с базовым функционалом Bitcoin.
В случае успешного применения sidechain, эта технология станет следующим этапом эволюции как криптовалют, так и децентрализованных распределенных сетей обмена информации в целом. Сторонние платформы станут более доступны для огромного количества пользователей Bitcoin и приобретут прочную обратную связь со всей его сетью.
Успешная адаптация sidechain также позволила бы объединить Bitcoin и множество других альтернативных криптовалют и распределенных платформ в единую экосистему, каждый участник которой сможет использовать все многообразие криптопродуктов и выбирать те из них, которые будут удовлетворять именно его нуждам.
Далее я хотел бы привести основные мысли из статьи «A simple explanation of bitcoin sidechains», которая объясняет базовые принципы технологии:
Описание сайдчейнов сейчас представлено в виде научной работы, упомянутой выше.
В работе описаны способы построения “привязанных сайдчейнов” (pegged sidechains). Сайдчейны сами по себе не являются чем-то новым: способы их создания и сама идея их создания обсуждаются на протяжении определенного времени, а ключевой прорыв в этой области наметился ранее в этом году. Данная работа, однако, более подробно раскрывает смысл этого понятия, и уже привлекла множество комментариев.
И все-таки, что такое сайдчейны? И почему вам вообще следует обратить на них внимание?
Как мы представляем себе Bitcoin
Ключевой момент для понимания большинства инновационных изменений, которые происходят с Bitcoin — убедиться, что у вас сложилась правильная умозрительная модель того, как он работает. На деле оказывается, много людей не понимают, как он работает и, в результате, имеют о нем ошибочное представление.
Чтобы помочь разобраться с этим, несколько месяцев назад автор придумал для Bitcoin аналогию, основанную на сравнении его "неизрасходованных выводов” (см. transaction output — прим. переводчика) с участками земли. Вот ее основы:
Для начала выкиньте из головы все, что связано с деньгами, валютой или платежами. Выкиньте также и словосочетание «регистр транзакций». Поразительный секрет Bitcoin заключается в том, что никакого регистра нет! Есть только две структуры, которые имеют значение — транзакции и их блоки. Очень важно уяснить это как следует, для того, чтобы смысл сайдчейнов стал для вас понятен.
Когда вы «перемещаете» биткоины, вы говорите:
- Всем привет… я бы хотел переместить вот эти конкретные биткоины, пожалуйста.
- Вот мое подтверждение того, что я имею право их перемещать.
- А вот таким образом получатель, в свою очередь, сможет доказать, что у него есть право перемещать их.
Здесь есть несколько важных моментов:
- Биткоины не поддаются идеальному измерению… когда вы перемещаете (то есть тратите) их, вы тратите некоторое количество определенных, уникальных биткоинов.
- Чтобы потратить их вам нужно доказать, что у вас есть право сделать это. Для этого, вам прежде всего надо предоставить решение некой задачи, которую вы получили, когда их отправили вам. Обычно условия этой задачи звучат так: «докажите остальному миру, что вы знаете открытый ключ, связанный с определенный Bitcoin-адресом и при этом обладаете также и закрытым ключом, связанным с ним». Однако эта задача может быть еще более усложнена.
- Когда вы отправляете биткоины куда-то, вы ставите задачу следующему владельцу. Как правило, вы просто указываете, что им нужно знать пару «открытый ключ-закрытый ключ», которые связаны с Bitcoin-адресом, на который вы отправили биткоины. Однако вы, опять же, можете сделать ее сложнее. В общем случае, вы даже не знаете, кто является следующим владельцем… им может оказаться любой человек, удовлетворяющий данному условию.
Эти три пункта должны прочно войти в вашу память!
Итак, «основы науки» Bitcoin-транзакций ясны: «Вот коины, которые я хочу переместить. Вот доказательство моих прав на то, чтобы сделать это, а вот что должен сделать получатель, если он хочет потратить их».
Эта транзакция попадает в обращение внутри общей сети, так или иначе находит свою дорогу в блок и, после того, как поверх него будут построены другие блоки, каждый участник сети может быть полностью уверен в том, что эти изменения необратимы. Все продолжает идти своим чередом. Вроде бы все хорошо, чего же еще можно желать?
Базовые основы Bitcoin в целом работают просто отлично...
И более того, вы, оказывается, можете делать с ее помощью по-настоящему интересные вещи. К примеру, вы можете использовать «неидеальность измерения» биткоинов для того, чтобы «пометить» их. На этом основана работа таких идей, как "Colored Coins" и "Smart Property".
Однако существуют и проблемы, такие как:
Интервалы формирования блоков
Интервал формирования Bitcoin-блока составляет 10 минут, поэтому для того, чтобы новая транзакция нашла свой путь до блока, требуется в среднем от пяти до десяти минут, независимо от того, насколько большую комиссию вы готовы заплатить. Для некоторых людей это слишком медленно — настолько, что они экспериментируют с альтернативными, основанными на программном коде Bitcoin криптовалютами, которые применяют более малый интервал.
Структура транзакции
«Трехступенчатая» структура транзакции очень распространена, однако она позволяет вам передавать только право владения биткоинами. Некоторые люди хотели бы передавать по таким системам более разнообразные формы информации. В качестве примера можно привести децентрализованную биржу, участникам которой нужен способ размещения заказов. Как следствие, проекты, такие, как Mastercoin, Counterparty, NXT и другие либо создают свои уровни взаимодействия поверх Bitcoin, либо используют совершенно иные базы исходных кодов для достижения своих целей.
Условия проведения транзакции
Выше я написал, что вы можете встроить в Bitcoin-транзакцию сложные правила для указания того, как будет проверяться право владения. Как бы то ни было, язык построения сценариев Bitcoin намеренно ограничен, а реализация многих идеи в области Smart Contracts (Умный контракт) является сложной или невозможной. Поэтому проекты, такие, как Ethereum строят совершенно новую инфраструктуру для разработки этих идей.
Одинаковые политики безопасность для всех
Независимо от того, перемещаете ли вы 1 миллиард долларов или сотую долю цента по сети Bitcoin, вы в обоих случаях получаете одинаковые гарантии безопасности. При этом вы теряете время и платите комиссии. А что если вы готовы пожертвовать безопасностью ради скорости? В таком случае сегодня для вас существует только один реальный вариант — послать коины централизованному провайдеру кошельков, которому вам придется доверить их целостность и сохранность. И тогда, используя их систему учета, вы сможете проводить любые желаемые транзакции с их остальными клиентами, никак не соприкасаясь при этом с регистром транзакций Bitcoin. Однако таким образом вы теряете все преимущества децентрализованной сети передачи ценных активов.
“Одинаковая для всех” не значит “Удобная для всех”
Применение экспериментальных или быстрых изменений в технологии Bitcoin — очень рискованное занятие, поэтому изменения в ней происходят медленно. При этом, если такая неизменная, “одинаковая для всех” архитектура не подходит для конкретного практического случая, у вас возникает проблема. Вам нужно либо использовать совершенно другую криптовалюту (может даже создавать свою!), либо использовать (или создавать) централизованный сервис, а это ведет к новым рискам.
Эта ситуация очень неудобна. Она также создает риски, фрагментирует и замедляет процесс добавления в Bitcoin-сеть продуктов, услуг и инфраструктуры.
Однако мы можем сделать интересное наблюдение. Представьте себе, что происходит, когда вы посылаете биткоины в централизованный кошелек, такой, например, как circle.com на безопасное хранение.
- Вы отправляете свои коины на определенный Bitcoin-адрес
- Они появляются внутри вашего кошелька на circle, однако теперь вы не можете контролировать их с помощью технологии blockchain.
- В определенный момент в будущем вы можете отправить свои коины обратно из circle-кошелька на свой Bitcoin-адрес
- Теперь у вас снова есть контроль над некими определенным коинами из блокчейна
С точки зрение сети Bitcoin, Circle представляет собой черный ящик. У вас были коины… вы отправили их на определенный адрес… произошло что-то, за чем Bitcoin не смог проследить… и через какое-то время вам в управление снова попали какие-то коины. Выглядит так, словно эти коины были перемещены из Bitcoin-сети куда-то в другое место, а потом возвращены назад.
Сущность сайдчейнов
Ключевая идея концепции сайдчейнов заключается в следующем:
Что если вы могли бы посылать биткоины не только отдельным лицам, на отдельные адреса или централизованные сервисы, но и в другие блокчейны?
Представьте, что существует некая похожая на Bitcoin система, которую вы хотели бы использовать. Возможно, это Litecoin или Ethereum или что-то совершенно новое. Возможно, она формирует блоки быстрее и обладает более богатым языком описания сценариев. Как бы там не было, суть такова: вы бы хотели этим воспользоваться, однако предпочтете не рисковать и не тратить усилия на покупку титульных знаков этой платформы. У вас ведь есть биткоины, почему вы не можете просто использовать их?
Сайдчейны предлагают такую идею:
- Отправьте свои биткоины на специально сформированный Bitcoin-адрес, который задуман таким образом, что после этой операции их использование становится недоступным как для вас, так и для кого-либо еще. Теперь они полностью заморожены и могут быть разблокированы только если кто-то сможет доказать, что они больше не используются где-либо еще (подробнее об этом дальше). Другими словами, вы использовали базовые правила Bitcoin-транзакций, которые объяснялись выше, для того, чтобы наложить на них условие об их будущем владельце. Кем бы он ни был, он должен будет выполнить это условие, чтобы получить право ими распоряжаться.
- Как только замораживающая транзакция получает соответствующее подтверждение, вы отправляете сообщение другому блокчейну – тому, который вы хотели использовать. Это сообщение содержит подтверждение того, что коины были отправлены на специальный адрес Bitcoin-сети, и, таким образом, были заморожены. Но самой важной составляющей этого сообщения является информация о том, кто сделал это отправление.
- Если второй блокчейн согласился быть Bitcoin-сайдчейном, он делает нечто очень особенное – создает точно такое же количество титульных знаков своей сети и передает их вам в управление.
- То есть все выглядит так, как если бы вы перевели свои биткоины в другой блокчейн. И помните: они заморожены в рамках сети Bitcoin, поэтому мы ничего не создали и ничего не уничтожили… Просто «переместили» их.
- Теперь с помощью этих коинов вы можете совершать транзакции, в другом чейне, какие бы правила он не использовал.
- Допустим, в этом сайдчейне блоки создаются быстрее. Допустим, его сценарии транзакций являются тьюринг-полными. Допустим вам необходимо выплачивать комиссии для того, чтобы стимулировать деятельность владельцев сайдчейна. Конкретные правила будут такими, какими их захотят увидеть его владельцы. Единственное правило, которое имеет значение: если вы можете доказать, что вы сделали недоступными некоторое количество биткоинов в сети Bitcoin, такое же их количество появиться в новом сайдчене, который согласился следовать этой договоренности.
- А теперь вторая часть этой умной идеи. Приведенная выше логика полностью симметрична. Поэтому кто бы ни держал у себя эти койны в сайдчейне в тот или иной момент времени, он может отправить их обратно в Bitcoin-сеть, создав в сайдчейне специальную транзакцию, которая заморозит коины в нем. Они исчезнут из сайдчейна и станут снова доступны в Bitcoin-сети, находясь под управлением того, кто до этого владел ими в сайдчейне.
Итак, повторим еще раз: мы используем стандартный функционал Bitcoin-транзакций чтобы сделать коины недоступными. Далее, доказываем второму, несвязанному напрямую чейну, что это сделали именно мы. Как только это будет сделано, их текущий владелец в сайдчейне может, произведя аналогичные действия, отправить их обратно в Bitcoin-сеть.
Таким образом, разработчики получают возможность экспериментировать с разными типами криптовалютных правил без необходимости создавать свою собственную валюту.
И теперь появляется возможность делать некоторые очень интересные вещи в области Bitcoin.
Ненадолго абстрагируйтесь от деталей и подумайте над тем, что мы описали. У нас теперь есть способ перемещать биткоины на другую платформу (сайдчейн) и опять возвращать их обратно. Это как раз именно то, что мы делаем, когда мы перемещаем их к провайдеру онлайн кошельков или биржу. Разница в том, что “платформа” на которую они были перемещены также является блокчейном… и таким образом получает возможность обладать безопасностью, прозрачностью, характерными для децентрализованных систем и возможность выиграть от других инноваций в этой области.
Представьте себе, к примеру, сайдчейн, который “майнит” только одна компания. Он был бы эквивалентом кошелька компании, но с полной прозрачностью транзакций.
Мы можем пойти дальше и представить себе сайдчейн, который майнится сотней разных компаний, которые объединены в рамках одной общей организации. Назвать это полной децентрализацией нельзя, однако влиять, вмешиваться или вредить их деятельности извне будет сложнее.
Существует также множество других возможностей. Самое главное здесь то, что вы можете создавать продукты и услуги, экспериментировать без необходимости создания новой валюты или возвращения к старому, централизованному характеру отношений.
Сайдчейн — это архитектура для построения полу-централизованных продуктов и сервисов для Bitcoin, создать которые прежде было просто невозможно.
Сейчас в концепции сайдчейнов есть серьезные проблемы. Питер Тодд усомнился в безопасности сайдчейнов, и считает, что применение сайдчейнов может потребовать внесения одноразового изменения в Bitcoin-сеть.
Прозвучали также ряд других замечаний и критики, на которые основатели Blockstream оперативно ответили, далее перевод комментариев на эти замечания:
Чего можно (и нельзя) достичь с помощью двусторонних привязанных сайдчейнов?
Сайдчейн представляет из себя обобщающий термин и обозначает любой чейн, который “выполняет проверку данных из других блокчейнов”. В этом смысле, большинство блокчейнов, обладающих достаточно выразительными системами создания сценариев могут быть очень легко представлены в качестве сайдчейнов.
В общем случае, двусторонний механизм привязки позволяет: принимать биткоины (или другие активы), перемещать их в другой блокчеин и пользоваться ими в любом в контексте, который он позволяет, и, в конечном счете, возвращать их в исходный блокчейн.
Во время использования другого блокчейна, вы будете ограничены лишь его правилами и лимитами. На данный момент основной способ применения сайдчейнов — экспериментирование с новыми системами создания сценариев, и форматами транзакций. Другие возможные способы применения исследуются в 5-ой части технического документа.
В общем, двусторонние привязанные сайдчейны позволят быстро и эффективно вносить различные изменения, такие, как расширения сценариев, создание активов или умные контракты, непосредственно в Bitcoin.
Есть ли основание для беспокойств о безопасности параллельного майнинга (merged-mining)?
Концепция привязанных сайдчейнов никак не пересекается с концепцией параллельного майнинга, поскольку каждый сайдчейн может выбирать между включением поддержки параллельного майнинга или существованием только за счет собственных усилий по добыче. Однако проблема популярности чейнов, когда майнинг во многих из них теряет смысл по сравнению с некоторыми другими более развитыми чейнами, поддерживающими параллельный майнинг, действительно существует.
В такой среде нейтрализация hashpower-атак становится сложнее.
Универсального способа защиты на данный момент нет, однако любой сайдчейн, который майнится децентрализовано и с достаточной силой (hashpower) может добиться такого же уровня устойчивости, который сейчас есть у Bitcoin.
Некоторое способы защиты сайдчейнов от hashpower-атак описаны в разделе 6.1 технического документа. Основные пути здесь — предоставление майнерам более разнообразных стимулов и ограничение возможности атакующих украсть коины.
Может ли эта технология привести к централизации Bitcoin?
Существует вероятность того, что комиссии и другие стимулы для майнинга будут распределяться между сайдчейнами, и прибыльность майнинга будет уменьшаться, что в свою очередь создаст стимул для еще большего объединения и централизации усилий.
Раздел 4.3 описывает возможность майнера динамически включать и отключать майнинг в отдельных сайдчейнах во время подтверждения блоков или майнят транзакции, проверенные 3-им лицом (подобно тому, как сегодня работают пулы) и частично подтверждают консенсус, предоставленный 3-ими лицами.
Подобные меры позволят майнерам получать максимум прибыли, при несущественном увеличении степени централизации.
В чем разница между sidechains и treechains?
Это две разные, несвязанные друг с другом идеи. Treechains – предложение по расширение внутри одного, отдельно взятого блокчейна, а двусторонняя привязка – механизм перемещения активов между блокчейнами без использования доверенного лица. Он позволяет связать между собой целую систему разных блокчейнов. Более того, для того, чтобы treechain стал доступен для пользователей Bitcoin, реализовывать его скорее всего придется на отдельном привязанном сайдчейне.
Правда ли что для внедрения sidechain нужно будет сделать небольшое программное ответвление для Bitcoin?
Мы хотели бы увидеть поддержку значительной части сообщества. Первая реакция была положительной, а авторы sidechain с большим интересом отнеслись к этому изменению еще до основания Blockstream. Выпуск технического документа был всего лишь первым шагом для получения обратной связи, и мы будем внимательно следить за сообществом и работать с ним в тесной взаимосвязи перед тем как перейти к каким-то конкретным изменениям.
Где можно увидеть исходные коды проекта?
Команда работает над проектом уже несколько месяцев и планирует выпустить раннюю версию системы в течение следующих нескольких месяцев. Схема ненавязчивой привязки (federated peg), описанная в документе не требует внесения изменений в Bitcoin. Кроме того, вместе с ее запуском возможно также и дополнение текущих динамических многосторонних подписей (DMMS) до их полноценного варианта, что позволит мгновенно улучшить безопасность блоков и их транзакций.
Исходный код проекта будет доступен на Github.
Децентрализованные умные контракты
Далее речь пойдет об умных контрактах (или как их еще называют – электронные договоры), которые могут быть созданы и проверены на подлинность в цифровом виде. Концепция частичной или полной автоматизации создания соглашений между несколькими сторонами и контроля над его выполнением, а также проведения на его основе операции или действий в реальном мире существует почти столько же времени, сколько и современные цифровые системы и сети. Однако до 1993 года она не получала широкого распространения и даже не имела собственного названия.
Одну из первых попыток объединить идеи из этой области в единое целое предпринял Ник Забо — известный криптограф, а также юрист по образованию, внесший немалый вклад в развитие Bitcoin. В 1994 году он ввел в обращение термин “умный договор”.
Оригинальная концепция
Умный договор — электронный алгоритм, описывающий набор условий, выполнение которых влечет за собой некие события в реальном мире или цифровых системах.
Работа умных договоров основывается на разработке и использовании так называемых “протоколов с низким доверием”. Понятие “низкое доверие” предполагает максимально возможное исключение человеческого фактора из цепочки принятия решений, с перекладыванием этой задачи на электронную систему, защищенную криптографическими, биометрическими или иными эффективными методами, с применением авторизации или идентификации. Работа протокола обеспечивается электронными алгоритмами, а человек выступает всего лишь в роли одной из сторон, ощущающих на себе результат выполнения договора.
Как и любая новая технология, концепция умных договоров ставит своей целью решение повседневных человеческих задач:
- Сделать выполнение договоров и соглашения более объективным процессом, избежать нарушений со стороны участников и манипуляций со стороны лиц, ответственных за контроль над его выполнением.
- Сделать финансовые и бизнес-процессы более прозрачными, эффективными, быстрыми и менее затратными.
- Свести до минимума фактор непредумышленной человеческой ошибки.
В статье “The idea of smart contracts” 1997 года Забо объясняет сущность “умных договоров” на примере покупки автомобиля в кредит.
Законный владелец автомобиля получает регламентированное договором право владения через электронный криптографический ключ. В самом простейшем случае машина будет находиться в заблокированном состоянии до тех пор, пока ее владелец с помощью этого ключа не проведет запрос на ее разблокировку. Протокол проанализирует запрос, используя метод авторизации, сверит ключ, и передаст владельцу контроль за автомобилем.
Давайте рассмотрим случай, согласно которому машина используется в качестве залога, обеспечивающего кредит. Сильный и эффективный механизм защиты станет для кредитора проблемой — лицо, ответственное за конфискацию автомобиля неплательщика не сможет произвести это действие при описанных выше условиях.
Для того, чтобы изменить ситуацию необходимо усовершенствовать механизм владения автомобилем, создав протокол умного удержания имущества, который передавал бы автомобиль в собственность банка в случаях неуплаты. Такой протокол был бы гораздо эффективнее любого коллектора и потребовал бы меньших затрат на реализацию.
Кроме этого, можно ввести другие усовершенствования: например продумать снятие права на удержание имущества после уплаты долга, и прочих непредвиденных расходов банка. К тому же необходимо проследить, чтобы право управления автомобилем не было отобрано в тот момент, когда он движется со скоростью 90 км/ч по шоссе.
Выходит, что от простой гарантии безопасности, мы пришли к контролю за соблюдением сложного соглашения, которое содержит множество нюансов.
Однако случай с машиной лишь один из полезных примеров применения “умных договоров”. Их использование в сфере финансового и юридического обслуживания могло бы избавить людей от множества ненужных процедур. Обслуживание в банке связано с простаиванием в очереди и оплатой комиссий за посреднические услуги. Банк является всего лишь лицом, которое взяло на себя ответственность за хранение ваших денег и обработку операций связанных с ними. Обслуживание у нотариуса или юридическая консультация связаны с оплатой вознаграждения, размер которого не всегда сопоставим с выполняемой работой. Применение умных договоров позволило бы убрать очереди, комиссии и вознаграждения, позволив клиентам сэкономить уйму времени и денег и значительно упростив процедуры.
Умные договоры не создают каких-то принципиально новых видов взаимодействий: они всего лишь описывают и формализуют уже устоявшиеся отношения людей и компаний между собой, применяя современные цифровые технологий, такие, как криптография и механизмы аутентификации, а в будущем и “интернет вещей”. Они являются более усовершенствованной, эффективной и менее затратной копией договоров бумажных, с которыми многие из нас имеет дело практически каждый день. Кроме того, являясь алгоритмами работы цифровых систем, они применимы повсеместно — от покупки предметов в онлайн игре или аренды недвижимости, до регулирования торговли с помощью финансовых инструментов на бирже или подписания соглашений между целыми государствами.
Такое многообразие ведет к тому, что в будущем продвинутые системы контроля на основе умных договоров cмогут выполнять огромный спектр самых разных задач с большим количество условий. Умные договоры будут регламентировать отношения в совершенно разных сферах человеческой деятельности, используя для этого различные технологии и выполняя действия над различными видами собственности. Для каждого такого случая будет необходима разработка своего собственного протокола, учитывающего особенности того или иного типа соглашения.
Современная реализация умных договоров
Реализации оригинальных идей Забо требовала наличия собственной цифровой системы, которая позволяла бы осуществлять программируемые транзакции. Существовавшие в те годы тогда банковские процедуры предполагали ручную авторизацию денежных переводов и не подходили для посредника по обработке умных контрактов. И даже, несмотря на повсеместное внедрение в банках электронных систем обработки платежей, большинство действий клиентов до сих пор не исключает человеческий фактор, требуя ручной проверки и авторизации операций. Компьютерные программы сегодня до сих пор не имеют возможности самостоятельно, автоматически запускать транзакции или обработку платежей, принимая решения, основанные на определенных условиях.
Лишь относительно недавно, с появлением и развитием Bitcoin сфера “умных договоров” получила новый толчок к развитию. Вitcoin сообщество уже предложило ряд, пока еще нереализованных, но перспективных идей в области умных контрактов.
Использование протоколов с низким доверием, основанных на Bitcoin, позволит создавать совершенно новые виды продуктов, такие, например, такие как:
- Умная собственность (Smart property) — реальное движимое и недвижимое имущество, которое может быть использовано в товарных отношениях и займах, с проведение операций через блокчейн.
- Передаваемая виртуальная собственность (Transferable virtual property). Это идея торгового обмена цифровыми предметами: уникальными, существующими в единственных экземплярах (учетная запись) или копируемыми на определенных условиях (mp3 файл, цифровая фотография).
- Агенты (Agents) — автономные программы, которые продают услуги за Bitcoin и используют часть прибыли для оплаты своего существования на сервере. Агенты действуют абсолютно самостоятельно и используют свой собственный кошелек для проведения операций. Если спрос превышает предложение, агенты могут создавать других, себе подобных агентов которые продолжают свое существование до тех пор, пока они все еще могут оплачивать аренду серверных мощностей под свои нужды или пока предложение не удовлетворено. Агенты также могут быть вовлечены в операции связанные с имуществом, например — автомобилями.
- Распределенные рынки (Distributed markets) представляют собой реализацию торговли ценными бумагами, их производными и другими активами непосредственно между равноправными участниками, без централизованного вышестоящего посредника. Их реализация позволит децентрализованным криптовалютным сетям конкурировать с международной финансовой системой, превратив Bitcoin в ее полноценный аналог.
- Децентрализованные биржи обмена валют, позволяющие проводить мгновенные межвалютные транзакции.
Как известно, Bitcoin, кроме всего прочего, является также и компьютерной программой, описываемой конкретным программным кодом. Этот факт позволяет протоколам умных контрактов обращаться к его коду и использовать его для получения данных и проведения транзакций. Иными словами, спустя почти два десятилетия с момента своего появления, концепция “умных договоров” становиться реальностью, поскольку, в отличие от своих предшественников, автономная и децентрализованная сеть Bitcoin способна самостоятельно оформлять и проводить транзакции.
Однако оригинальная технология Bitcoin имеет ряд жестких ограничений, таких, как время формирования блока и крайне простой язык описания сценариев транзакций, поэтому умные контракты начали получать свое воплощение в сторонних криптовалютных проектах, берущих за основу и расширяющих идеи Bitcoin, блокчейна и использования сценариев для управления транзакциями. Технология “умных договоров” развивается на основе проектов сообщества, которые негласно получили название Bitcoin 2.0.
Counterparty
Наиболее ранней и успешной попыткой расширить возможности Bitcoin сети является децентрализованная платформа Counterparty. Она использует транзакции блокчейна Bitcoin для проведения своих собственных, которые, по завершению транслируются в Bitcoin-блокчейн и проходят проверку во время майнинга.
Counterparty состоит из трех компонентов: одноименного протокола для проведения транзакций, собственной валюты XCP и браузерного веб-приложения Counterwallet, которое предоставляет пользователям услуги хранения средств на своих собственных онлайн-кошельках.
Протокол Counterparty расширил возможности описания транзакций, а введение собственного титульного знака XCP позволило связать протоколы Counterparty и Bitcoin. Использование этих нововведений позволило пользователям Counterparty расширить функционал Bitcoin-сети, превратив ее из децентрализованной платежной системы в более сложную децентрализованную финансовую платформу. Counterparty позволяет проводить следующие операции, основанные на использовании “умных договоров”:
- Создание новых титульных знаков на базе блокчейна биткоин, путем их обмена на пропорционально меньшее количество Bitcoin или XCP. Создаваемые таким образом валюты работают только внутри платформы Counterparty.
- Создание новых произвольных активов, стоимость которых измеряется в биткоинах или XCP.
- Реализация аналогов финансовых инструментов — создание заявок на покупку/продажу акций, опционов, фьючерсов и других создаваемых производных, а также организация систем выплат дивидендов. Автоматизированное депонирование активов или валюты, а также автоматизированный клиринг, где в роли депонента и клирингового центра выступает платформа.
- Реализация системы ставок — незначительное для Bitcoin, но уже давно и успешно применяемое на практике нововведение.
Платформа работает с января 2014 года и может похвастаться успешным примером краудфандинга для Storj (децентрализованное облачное хранилище, про него я писал в предыдущей статье).
Ethereum
О проекте Ethereum я также писал в предыдущей части, но тут надо о нем отдельно рассказать в контексте умных контрактов, он представляет из себя децентрализованную платформу для создания приложений и существенно расширяет возможности Bitcoin. По сравнению с Counterparty, разработчики Ethereum более основательно подошли к идее альтернативных применений блокчейнов, значительно расширив возможности платформы, а также предложив иную концепцию ее работы.
Платформа имеет собственную валюту, призванную заменить Bitcoin в рамках системы — ether. Особенностью Ethereum является тот факт, что концепция “умных договоров” лежит в основе каждой транзакции и операции, проводимой в системе. Составной единицей платформы являются т.н. contracts (контракты) — программы, хранящие в распределенной сети системы и обладающие своей собственной памятью и эквивалентом денежного баланса.
Благодаря усилиям сообщества Ethereum обладает собственными python и C-подобными языками для написания кода контрактов, создания программ на их основе и интеграции их в платформу. Это открывает возможности для создания целого спектра приложений:
- Выпуск собственных акций
- Юридические договоры и депонирование у третьего лица (без посредничества)
- Собственные финансовые инструменты и их производные
- Децентрализованные автономные организации (агенты)
- Децентрализованные голосования
- Децентрализованные хранилища данных
Проект находится в разработке на стадии proof of concept и уже получил широкую поддержку сообщества. Выход платформы намечен на зиму 2014/2015 годов. Ознакомиться подробнее с механизмами работы системы, скачать клиенты и получить доступ к спецификациям для разработки вы можете в Ethereum wiki.
Blackhalo
Другой интересный проект, не вносящий столь радикальные изменения, как Ethereum является проект Blackhalo — платформу для анонимного децентрализованного обмена любых ценностей.
Так же, как и предыдущие платформы, он предоставляет пользователям свой собственные одноименные протокол и клиент, валюту Blackcoin, а также Nightwatch — децентрализованную биржу и платформу для торговли активами и их производными.
Список возможностей, которые предоставляет Blackhalo впечатляет:
- Обмен фиатных валют на биткоины и Blackcoin’ы с использованием таких сервисов, как Western Union, Paypal, а также банковских карт.
- Бартерная торговля любыми реальными предметами или правами или валютами
- Микроторговля — платежи дробятся на мелкие транзакции, которые возможно отправлять постепенно и по очереди. Это позволяет минимизировать риски и установить доверительные отношения с другой стороной торгов
- Совместные аккаунты для ведения бизнеса с партнерами или семейными счетами. Транзакции одобряются группой лиц через их криптографические ключи, основываясь на коллективном решении
- Наем сотрудников на проплаченной основе. Сотрудник получает гарантии платежа по истечению определенного времени или выполнения определенного объема работы, работодатель — временные гарантии выполнения работы. Перспективно для таких направлений, как фриланс и аутсорсинг.
- Децентрализованная торговля любыми парами криптовалют, без ограничений и рисков, накладываемых платформами или владельцами бирж-посредников
- Возможность предварительного регламентирования условий и автоматизирования возврата платежа. Каждая из сторон будет знать об условиях и предвидеть развитие событий.
- Сбор и группировка остатков счетов на разных кошельках в один общий счет. Сдачи вроде 1$ перестают быть проблемой, поскольку со временем складываются вместе в одном Blackcoin кошельке.
- Депонирование средств для сделок с недвижимостью.
Разработчики платформы планируют вводить и другие нововведения, информация о которых доступна на официальном сайте. В настоящий момент пользователям доступен для скачивания и использования клиент Blackhalo, Nightwatch находится в стадии разработки и бета-тестирования.
Codius от Ripple Lab
Однако наибольший интерес представляет открытый проект Codius, разрабатываемый Ripple Labs. В отличие от других Bitcoin 2.0 разработок, которые направлены, прежде всего, на создание продвинутых децентрализованных средств обмена валютами и активами, Codius ставит своей целью сделать возможным создание настоящих “умных договоров”. Ripple Labs разрабатывают универсальную совместимую с различными технологиями и взаимодействующую с реальным миром среду для написания умных договоров, доступную каждому желающему.
Codius вводит понятие “умный оракул” (smart oracle). Речь идет о компьютерной программе, которая позволяет создавать свои собственные умные контракты, регистрировать их в системе, и собирать и обрабатывать информацию, которая имеет к ним отношение. Эта программа также может отвечать и за принятие платежей связанных с контрактом. Работа оракула должна быть автоматизирована, автономна и основана на протоколе с низким уровнем доверия.
Умный оракул, будучи клиентом, работает на базе собственного движка Codius — системы, которая отвечает за выполнение программного кода контракта и оповещение участвующих в нем клиентов.
В качестве “песочницы” для создания договоров Codius использует технологию Native client от Google, которая позволяет писать программный код на С и C++ и мгновенно компилировать его непосредственно в браузере, независимо от того, какой операционную систему использует пользователь. В будущем предполагается, что Codius будет поддерживать широкий спектр современных языков программирования с возможностью интегрирования новых, удобных конкретным авторам.
Codius — очень перспективный проект, особенно с учетом его открытости. В настоящий момент проект находиться в разработке и его авторам необходимо решить еще множество технических проблем, связанных с безопасностью, безотказностью и интеграцией с различными блокчейнами и платежными системами. Исходный код и прототип системы с примерами доступны в GitHub репозитории Codius.
Существует также и ряд других Bitcoin 2.0 проектов, посвященных концепции “умных договоров” таких, как Mastercoin и Clearing house, которые также находятся в разработке.
Перспективы развития
Помимо простого упрощения финансовых и юридических процедур, умные договоры имеют множество других нетривиальных применений. В более широком смысле они могут сделать юридические услуги более доступными для бедных, незащищенных слоев населения. Ни для кого не секрет, что качество защиты интересов клиента тем выше, чем выше гонорар юриста, поскольку действительно хорошие юристы взимают за свои услуги гораздо более высокую плату. Это создает огромное неравенство в праве получения квалифицированной помощи.
Умные договоры позволят исключить человеческий фактор и во многих случаях просто избежать суда и необходимости искать юриста, который сможет защитить законные права подзащитного. Во многих случаях, такие процедуры смогут сделать преступление или правонарушение просто невозможным. Кража автомобиля или другого имущества, например, потеряет всякий смысл, если это имущество можно будет удаленно обездвижить или заблокировать. Конечно, какой бы замечательной не была это картина, в реальности человеческий фактор все равно будет вмешиваться в процессы, и, тем не менее, подобные технологии все же смогут улучшить прозрачность и качество работы систем, в которых они применяются, а также сделать их более объективными.
Другая интересная перспектива — применение “умных договоров” совместно с “интернетом вещей”. Описанный ранее пример Ника Забо с передачей контроля над автомобилем в принципе невозможен без широкого встраивания в него средств удаленного взаимодействия с оракулом и участвующими в договоре сторонами. Однако в результате симбиоза всего лишь двух таких идеи, человечество получит миллионы полезных применений. В комбинации с “умными договорами” этот процесс станет автоматизированным и прозрачным, а риск нарушения значительно уменьшиться.
Конечно, все эти технологии находятся на заре своего развития. Современные децентрализованные платформы, которые мы рассмотрели выше, работают преимущественно с финансовыми активами, транзакциями и валютам, и лишь одна из них — Codius ставит своей целью повсеместную реализацию умных договоров независимо от сферы их применения. К тому же большая часть из них все еще находится на стадии разработки и не прошли проверку временем, не получили широкого признания и применения. Однако их успешное развитие и использование в решении повседневных, в случае если оно произойдет, сыграет огромную роль, став всего лишь первым шагом человечества на пути к новому, более правовому, технологичному и гуманному будущему.
Источник: geektimes.ru/post/241426