Опубликован: 01.02.2018 | Доступ: свободный | Студентов: 1346 / 258 | Длительность: 17:50:00
Лекция 11:

Будущее Биткойна

< Лекция 10 || Лекция 11: 1234

Пути интеграции блокчейна

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

Первый самый очевидный способ – использовать непосредственно цепочку блоков Биткоин. Именно он был использован в примере с умной собственностью. Цепочка блоков, алгоритм консенсуса и вся мощность сети Биткоин делают этот способ безопасным. С другой стороны, нет оснований полагать, что какой-то сложный контракт между разными участниками можно будет корректно представить в цепочке блоков и реализовать в виде атомарной сделки. Чтобы лучше понять, как это будет выглядеть, и каковы сложности, которые могут возникнуть в связи с атомарностью и репрезентацией, рассмотрим еще несколько примеров того, как можно попытаться осуществить децентрализацию непосредственно в цепочке блоков.

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

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

Краудфандинг

Рис. 11.5. Краудфандинг

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

Рассмотрим более сложный пример - плату за доказательство, или вознаграждение за доказательство. Предположим, что существует хэш-функция H, и Алиса утверждает, что знает некое входное значение X, так что хеширование X приводит к некоторой константе C, известной всем, другими словами, она знает прообраз криптографической хэш-функции с заданным значением. И Боб хотел бы заплатить Алисе в обмен на знание этого значения X. Возможно, это число X является значимым доказательством выполнения вычислений. Это число может быть решением любой функции, не только входными данными хеш-функции. Допустим, есть произвольная функция F. Алиса утверждает, что знает некоторое входное значение X, так что F(x) равно некоторому известному значению, и Боб хотел бы заплатить ей за знание этого значения. Появляется проблема обеспечения безопасности, ведь эта транзакция происходит через интернет, и нужно убедиться что, если Боб заплатит Алисе, Алисе передаст значение X Бобу. Решением является объединение платежа Боба и публикации Алисой значения X в атомарную транзакцию в цепочке блоков. Публикацию X видят все, но, возможно, для Боба это приемлемо.

Перейдем ко второму возможному и популярному способу интеграции блокчейн, - встраиванию. Встраивание также использует цепочку блоков. Стоит отметить, что выстроить произвольную схему репрезентации для кодирования значений истинности из реального мира в цепочку блоков весьма сложно. Цветные монеты, о которых было рассказано в девятой лекции, можно рассматривать в качестве подобного примера. Концепция цветных монет чем-то похожа на ту, что была в примере с передачей права собственности на автомобиль. Хотя цветные монеты немного сложнее. Автомобилю не нужно сканировать всю историю цепочки блоков, автомобиль уже выходит с завода с жесткой кодировкой и определённой транзакцией, а затем он просто наблюдает за каждым блоком, чтобы увидеть, будет ли эта транзакция передана. Цвет монеты определяется ее первоначальным блоком и всей историей в целом. Поэтому цветные монеты сложнее задействовать, но в то же время они дают больше возможностей. В частности, есть один интересный момент, который заключается в том, что пользователям нужно согласие по поводу того, какая именно сделка соответствует передаче права собственности на автомобиль. Или же права собственности на какой-то другой тип объектов. Это можно заложить в цвете монеты. И цветов можно установить сколько угодно. Любой может посмотреть на цепочку блоков и узнать, что произошла продажа машины, а также, сколько за неё было заплачено, при этом не обязательно знать личности участников. Мастеркоин также является примером встраивания. Выяснилось, что существует множество самых разнообразных способов, с помощью которых можно встраивать произвольные данные в цепочку блоков. В Биткоине есть скрипт OP_RETURN, который позволяет закодировать 40 байтов произвольных данных. Также можно использовать мультиподпись или же поддельные транзакции с несуществующими адресами и т.д.

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

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

Третий путь интеграции – так называемый сайдчейн, упомянутый в десятой лекции.

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

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

Для реализации умной собственности подходят все четыре способа. Однако при реализации более сложных контрактов различия между ними станут заметнее, например, в гибкости и вычислительной мощности. Или в возможности использования SPV-доказательств.

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

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

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

Перейдем к механизмам повышения безопасности. Если говорить о безопасности, то, безусловно, важна анонимность. Но есть и другие альтернативы повышения безопасности. Первое, что стоит упомянуть, это процесс урегулирования спора с участием третьей стороны. Здесь можно провести аналогию с атомарным свопом, который полностью автоматизирует процесс. Вторая альтернатива - репутация. Все посредники создают себе репутацию в течение долгого времени. Система репутации, за неимением других альтернатив безопасности вроде атомарного свопа, имеет свои проблемы. Компаниям нужно удержать свою репутацию в долгосрочной перспективе. Системой репутации невозможно воспользоваться, если организация полностью анонимна, либо предприниматель использует псевдоним. Все это можно наблюдать в реальном мире с ресторанами, сервисами и т.д. Например, что делает компания, получившая плохие отзывы на сайте услуг Yelp? Она закрывается, а затем снова открывается, возможно, в том же районе, просто под другим названием. Должен быть способ для организаций заработать хорошую или плохую репутацию за их сервис, который будет выходить за рамки системы "Я слышал, он/она сказала". Хоть сайт Yelp работает точно по такой же модели, там это работает, потому что на сайте зарегистрированы люди, использующие свои настоящие имена. Но если в системе работают под псевдонимами, как в сети Биткоин, это будет неудачной идеей. Проблемы есть и в сделках с участием третьей стороны, так как ничего нельзя было поделать со средствами в течение периода, когда участник транзакции мог оспорить сделку, а ведь есть ещё и такое понятие, как конфликт интересов. Атомарный своп был рассмотрен в предыдущих лекциях и также является механизмом повышения безопасности. Программно-аппаратные средства защиты применимы в ситуациях, когда потребитель готов заплатить за программное обеспечение, поэтому разработчик может выложить код и выполнить его в модуле доверенной загрузки. Люди, которые платят за эту услугу, могут быть уверены, что этот тот же самый код, который выполняется и предоставляет им услуги. Отсутствие принуждения - вот, что объединяет эти способы обеспечения безопасности в контексте децентрализованной парадигмы технологии блокчейн. В этой системе нет долгов и карательных мер, как в реальном мире, поэтому придется смириться с тем, что на время урегулирования спора средства будут недоступны.

Минимизация необходимости доверия достигается за счет использования криптографии. Возможно, термин "доверие" не всегда применим – ведь узел может вести себя некорректно не только из нечестных побуждений, но и потому что его взломали. В контексте децентрализации были рассмотрены умная собственность, вознаграждение за доказательство и т.д, а также пути интеграции блокчейна: прямо на биткойне, встраивание, сайдчейны и альтернативная цепочка блоков.

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

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

StorJ децентрализует само понятие файлового хранилища, коим является тот же Dropbox, и понятие конкуренции. Все ещё нужен посредник, которым является этот агент, а платеж осуществляется в биткоинах. Ничего особенного StorJ не предлагает, разве что атомарно связывает платеж с получением файла.

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

Терминологический словарь

Integration - интеграция

Bitcoin community – Биткойн-сообщество

Miner power - вычислительная мощность майнера

Consensus – алгоритм консенсуса

Сrowdfunding - краудфандинг

Kickstarter - Кикстартер (сайт для привлечения денежных средств на реализацию творческих, научных и производственных проектов по схеме краудфандинга)

Input - вход

Paying for a proof - плата за доказательство

Hash function - хэш-функция

Hash pre-image хэш-прообраз криптографической функции

Proof of work - доказательство работы (выполнения вычислений)

Block chain- блокчейн (цепочка блоков)

Embedding - встраивание

Сolored coins цветные монеты

Genesis – первоначальный блок

Mastercoin — Мастеркойн

OP_RETURN – скрипт, отмечающей транзакцию как невалидную

Script - скрипт (сценарий)

Merged mining - объединенный майнинг

Multisignature - мультиподпись

Altcoin - Альткойн

Scripting – скриптинг

Atomicity - атомарность

Side-chain - сайдчейн (боковая цепочка)

Testnet – тестовая сеть

Ethereum - Эфириум

Gas - газ

Turing-complete – тьюринг-полные или полные по Тьюрингу

Mining node - узел (нода)

SPV - упрощенная система проверки платежей

Escrow – эскроу (депонированный/с участием третьей стороны)

Law enforcement - правоохранительные органы

Intermediary - посредник

Prediction market – рынок предсказаний

Intrade – компания, занимающаяся созданием прогнозов

Competitive market - конкурентный рынок

Disintermediation – дезинтермедиация (отказ от посредничества)

Atomic exchange - атомарный своп (то есть транзакция может происходить из одного блокчейна в другой, минуя третьи лица в виде бирж и обменников)

Yelp - веб-сайт для поиска услуг, например, ресторанов, с возможностью просматривать и добавлять рейтинги этих услуг

Dispute mediation - урегулирование споров

Software program - программное обеспечение

Trust minimization - минимизации необходимости доверия

StorJ - децентрализованная система хранения, которая позволяет безопасно хранить ваши файлы в зашифрованном виде.

Agent - агент

Cloud storage – облачное хранилище

AI – искусственный интеллект

Reproduction – репродукция (воспроизведение)

Dropbox - файловый хостинг компании Dropbox Inc., включающий персональное облачное хранилище, синхронизацию файлов и программу-клиент.

Zerocoin - Зерокойн

Mixing – миксинг

Mixing service - Биткоин миксер (сервисы, которые смешивают биткоины своих пользователей)

Fork - форк

Burning a coin – сжигание монет

Genesis - первоначальный блок

Zero knowledge proofs – доказательство с нулевым разглашением (информации)

< Лекция 10 || Лекция 11: 1234