Ознакомительная версия. Доступно 16 страниц из 76
срочные сделки.
Но не во всех областях смарт-контракты будут работать так успешно. Рассмотрим, например, трудовой контракт: А соглашается выполнить определенную работу для B в обмен на X единиц валюты C. Платежную часть сделки несложно реализовать в виде смарт-контракта. А вот с подтверждением того, что работа действительно выполнена, все не так просто. Если она связана с физическим миром, смарт-контракт тут совершенно бесполезен, ведь у блокчейна нет никакого доступа к внешнему миру. Даже если речь идет о создании сайта, оценить его качество будет очень сложно, и, хотя в некоторых случаях программы могут эффективно использовать алгоритмы машинного обучения для оценки подобных характеристик, невероятно трудно заключить такой контракт, в котором работник не сможет найти лазейки. Одних лишь алгоритмов для управления обществом недостаточно.
К счастью, есть решение, которое позволяет взять лучшее из обоих этих миров: арбитраж. В обычной судебной системе судья обладает почти неограниченной властью делать все, что сочтет нужным, и сам судебный процесс – не самая оптимизированная штука: человек должен подать иск, дождаться начала процесса, после чего судья наконец вынесет вердикт согласно существующим законам. Не слишком быстро и эффективно. Третейский суд часто оказывается дешевле и быстрее, но и он не лишен тех же проблем. В свою очередь, арбитраж фактического мира устроен совсем иначе. Трудовой смарт-контракт может выглядеть следующим образом:
if says(B,“A did the job”) or says(J,“A did the job”):
send(200, A)
else if says(A,“A did not do the job”) or says(J,“A did not do the job”):
send(200, B)
says – это алгоритм проверки подписи; функция says(P,T) проверяет, не отправил ли кто-либо сообщение с текстом T и цифровой подписью, которая подтверждает использование публичного ключа P. Как же работает этот контракт? Сначала работодатель должен отправить на контракт 200 единиц валюты, где они будут храниться на эскроу-счете. В большинстве случаев наниматель и работник ведут себя по отношению друг к другу честно. Поэтому либо А не станет завершать работу и вернет В оплату, подписав сообщение с текстом «А не выполнил работу», либо В подтвердит, что А завершил работу, и контракт отправит деньги А. Но если А сделает работу, а В с этим не согласится, в дело вступит арбитр J, который решит, сделана работа или нет.
Обратите внимание, что полномочия J определены очень четко: он вправе лишь сказать, выполнил А работу или нет. В более сложном контракте арбитру можно предоставить право оценивать результат по определенной шкале. J не имеет права, например, решить, что А на самом деле заслуживает 600 денежных единиц – или что контракт вообще незаконен и 200 единиц должен забрать J. Полномочия арбитра реализуются по факту – контракт содержит его публичный ключ, и поэтому оговоренная сумма отправится либо к А, либо к В на основании указанных условий. Контракт может даже потребовать сообщений от хотя бы двух из трех арбитров или предусматривать разных арбитров для оценки разных аспектов работы, чтобы затем автоматически определить качество ее выполнения. В любой контракт можно включить любого арбитра с любым запросом: подтвердить истинность или ложность конкретного факта, измерить некоторую переменную или участвовать в урегулировании спорных ситуаций.
Чем такая система лучше той, к которой мы привыкли? Если коротко, она предлагает нам «арбитраж как услугу». Сегодня, чтобы стать «арбитром», вам нужно получить должность в частной арбитражной компании или в государственном суде. Но благодаря криптографии возможна фактическая правовая система, где арбитром может стать любой обладатель открытого ключа и компьютера с доступом к интернету. Как бы странно это ни звучало, арбитрам не обязательно разбираться в законах. Например, некоторые арбитры могут специализироваться на вопросах логистики и определять, корректно ли был доставлен продукт (в идеале этим должны заняться почтовые службы).
Другие судьи могут верифицировать выполнение трудовых контрактов. Третьи – оценивать ущерб для страховых договоров. Авторы контрактов сами будут решать, какую часть договора лучше предоставить на суд арбитра, а с чем справится программный код.
Вот и все, о чем я хотел сегодня рассказать.
Об изолированных системах
БЛОГ ETHEREUM
31 декабря 2014 года
Критика нынешнего пути развития криптовалютного пространства часто затрагивает проблему его раздробленности. Сообщество, которое раньше объединяла разработка общей инфраструктуры биткойна, теперь все активнее распадается на изолированные системы – обособленные проекты, отдельно от других работающие над конкретными задачами. К примеру, ряд разработчиков и исследователей работают над Ethereum – как внутри самого проекта, так и самостоятельно, в тесном взаимодействии с сообществом, – и всех этих людей объединяет стремление реализовать наши конкретные идеи. Другой квазидецентрализованный коллектив Bitshares развивает собственный проект, в котором особая комбинация DPoS[12], активов, связанных с рынком, и блокчейна как децентрализованной автономной корпорации используется для достижения определенных политических идеалов – рыночного либертарианства и общества без контрактов. Стоящая за «сайдчейнами»[13] компания Blockstream тоже объединяет людей с общими взглядами и замыслами. То же самое можно сказать о Truthcoin, Maidsafe, NXT и многих других.
Биткойн-максималисты и сторонники сайдчейнов часто утверждают, что эта фрагментация вредна для экосистемы криптовалют – вместо того чтобы разбредаться в разные стороны и конкурировать в борьбе за пользователей, мы должны работать вместе под общим знаменем биткойна. Как резюмирует Брайан Фабиан Крейн:
Еще сильней дискуссию разожгла недавняя публикация предложения о сайдчейнах. Идея сайдчейнов предполагает сочетание инновационного отказа альткойнов от систем, работающих на доверии, с монетарной базой, ликвидностью и мощностью майнинга сети Bitcoin.
Сторонники видят в этом возможность выстроить криптовалютную экосистему вокруг ее самого успешного проекта и опираться на уже существующую инфраструктуру и экосистему, а не распыляться в сотне разных направлений.
Даже для тех, кому чужд биткойн-максимализм, это звучит довольно разумно. Пусть криптовалютное сообщество и не обязано объединяться под знаменем биткойна, вполне можно согласиться, что нам стоит вместе поработать над созданием более унифицированной экосистемы. Если система Bitcoin недостаточно мощная, чтобы стать надежной основой для жизни, криптовселенной и всего остального, то почему бы не создать лучший и более масштабируемый децентрализованный компьютер и не построить всё на его основе? Гиперкубы кажутся достаточно перспективными тем, кто считает, что «одно [х] должно править всеми». Но члены Bitshares, Blockstream и других изолированных систем тоже часто считают свои конкретные решения единственно правильными, на чем бы они ни были основаны – на объединенном майнинге, DPoS у BitAssets или на чем-то еще.
Так почему бы и нет? Если действительно существует некий совершенный механизм консенсуса, то что мешает нам объединить различные проекты, придумать идеальный децентрализованный компьютер в качестве основы для криптоэкономики и существовать в рамках одной унифицированной системы? В некотором смысле это действительно звучит благородно: у «фрагментации» есть недостатки, и рассматривать «совместную работу» как благо вполне
Ознакомительная версия. Доступно 16 страниц из 76