О технологии блокчейн
Слова криптовалюта и блокчейн, несколько лет назад известные лишь единицам, теперь встречаются повсеместно. В этой обзорной статье мы детально разберем принцип работы технологии, рассмотрим варианты её применения и наметим возможные пути развития блокчейна.Кроме того, мы поделимся опытом компаний, заинтересованных в более глубоком изучении технологии, а также расскажем о возможностях для разработчиков поучаствовать в первом конкурсе […]
Слова криптовалюта и блокчейн, несколько лет назад известные лишь единицам, теперь встречаются повсеместно. В этой обзорной статье мы детально разберем принцип работы технологии, рассмотрим варианты её применения и наметим возможные пути развития блокчейна.
Кроме того, мы поделимся опытом компаний, заинтересованных в более глубоком изучении технологии, а также расскажем о возможностях для разработчиков поучаствовать в первом конкурсе NEO.
Подобное внимание общественности можно объяснить двумя факторами: высокой стоимостью криптовалюты Bitcoin и сложностью понимания сути технологии. Разобраться в этих «криптоджунглях» нам поможет история появления первой цифровой валюты и лежащей в её основе технологии P2P.
- История
- Технология
- Состязательные модели
- Использование технологии
- Применение
- Развитие и поддержка
- Будущее
История
Децентрализованные сети
Существует два определения термина Блокчейн (Blockchain):
- Реплицированная распределенная база данных;
- Непрерывная последовательная цепочка блоков, содержащих информацию.
Оба определения верны в своей сути, но не дают ответа на вопрос о том, что же это такое. Для лучшего понимания технологии необходимо вспомнить, какие архитектуры компьютерных сетей существуют и какая из них доминирует на современном рынке IT-систем.
Всего существует два типа архитектур:
- Клиент-серверная сеть;
- Одноранговая (пиринговая) сеть.
Организация сети первым способом подразумевает централизованный контроль всего: приложений, данных, доступа. Вся системная логика и информация скрыты внутри сервера, что позволяет снизить требования к производительности клиентских устройств и обеспечить высокую скорость обработки данных. Именно этот метод получил наибольшее распространение в наши дни.
Одноранговые или децентрализованные сети не имеют главного устройства, и все участники имеют равные права. В такой модели каждый пользователь является не только потребителем, но и сам становится поставщиком сервиса.
Ранней версией одноранговых сетей является система распределенного обмена сообщениями USENET, разработанная в 1979 году. Следующие два десятилетия были отмечены созданием P2P (Peer-to-Peer) — приложений в совершенно разных сферах. Одни из самых известных примеров— сервис Napster — некогда популярная файлообменная пиринговая сеть или BOINC — программная платформа для организации распределенных вычислений, а также BitTorrent протокол, который является основой современных торрент-клиентов.
Системы на основе децентрализованных сетей продолжают существовать, но заметно проигрывают клиент-серверным в распространенности и соответствии потребностям потребителей.
Хранение данных
Преобладающее большинство приложений и систем для нормальной работы требует возможности оперировать набором данных. Способов организации подобной работы великое множество и один из них использует метод одноранговых сетей. Распределенные, или параллельные, базы данных отличаются тем, что информация в частичном или полном составе хранится на каждом устройстве сети.
Одним из преимуществ такой системы является доступность данных: нет единой точки точки отказа, как в случае с базой данных, расположенной на одном сервере. Такое решение также сопряжено с определенными ограничениями по скорости обновления данных и распространения их среди участников сети. Подобная система не выдержит нагрузки от миллионов пользователей, постоянно публикующих новую информацию.
Технология блокчейн предполагает использование распределенной базы данных блоков, которые представляют собой связный список (каждый следующий блок содержит идентификатор предыдущего). Каждый участник сети хранит у себя копию всех операций, совершенных за всё время. Подобное было бы невозможно без определенных нововведений, призванных обеспечить безопасность и работоспособность сети. Это подводит нас к последнему «столпу» блокчейна — криптографии.
Шифропанки (Cypherpunks)
В конце 20 века зародилось сообщество, заинтересованное в развитии анонимности и безопасности в сети через разработку новых криптографических методов. Они полагали, что единственный способ сохранить приватность в сети — это шифрование данных. Первые попытки шифропанков разработать цифровую валюту относятся к самому началу 2000-ных.
Первая версия цифровой валюты была создана Вэй Дай и получила название b-money. Следующей попыткой стал Bit Gold, разработанный Ником Сабо. Обе валюты обладали большим недостатком — несовершенством системы принятия решения среди удаленных абонентов.
Датой рождения полноценной криптовалюты — Bitcoin, считается 2008 год. Именно тогда Сатоши Накамото, собрав воедино наработки единомышленников, выложил в открытый доступ научную работу с описанием основным элементов блокчейна, принципов работы и математической модели сети. Автор с самого начала подчеркивает цель работы — создание нового способа необратимой передачи средств (транзакций) между людьми без посредников.
Технология «Блокчейн»
После изучения основных компонентов и истории создания технологии пришло время окончательно развеять миф, связанный со словом «блокчейн». Рассмотрим на простом примере обмена цифровой валютой принцип работы технологии блокчейн без компьютеров.
Предположим, у нас есть группа из 10 человек, которые хотят иметь возможность производить операции обмена валютой вне банковской системы. Рассмотрим последовательно действия совершаемые участниками в системе, где блокчейн будет представлен обычными листами бумаги:
1. Пустая коробка
У каждого из участников имеется коробка, в которую он будет добавлять листы с информацией о всех совершенных транзакциях в системе.
2. Момент транзакции
Каждый участник сидит с листом бумаги и ручкой и готов записывать все транзакции, которые будут совершаться.
В какой-то момент участник №2 хочет отправить 100 рублей участнику №9.
Чтобы совершить транзакцию участник №2 объявляет всем: «Я хочу передать 100 рублей №9, поэтому сделайте запись об этом на своем листе».
После этого все проверяют, имеет ли участник №2 баланс, достаточный для совершения операции. Если это так, все делают пометку о транзакции на своих листах.
После этого транзакция считается выполненной.
3. Выполнение транзакций
С течением времени у других участников также появляется потребность совершать операции обмена. Участники продолжают объявлять и записывать каждую из проведенных транзакций. В нашем примере на один лист можно записать 10 транзакций, после чего необходимо отложить заполненный лист в коробку и взять новый.
4. Добавление листа в коробку
Факт помещения листа в коробку означает согласие всех участников с валидностью всех совершенных операций и невозможность изменения листа в будущем. Именно это обеспечивает честность всех транзакций между участниками, которые не доверяют друг другу.
Последний этап является общим случаем решения задачи Византийских генералов. В условиях взаимодействия удаленных участников, часть из которых могут быть злоумышленниками, необходимо найти выигрышную для всех стратегию. Процесс решения этой задачи можно рассматривать через призму состязательных моделей.
Состязательные модели
Под состязательными моделями понимается ситуация нахождения среди участников зловредной группы, которая хотела бы эксплуатировать уязвимость двойной траты (списание средств на два счета и последующая отмена честной транзакции). Можно выделить следующие категории моделей:
- Пороговые модели. Для стабильной работы сети требуется, чтобы число злоумышленников было меньше некого значения (половины или трети от всех участников).
- Вычислительные пороговые модели. Разработанная Сатоши Накамото модель использования вычислительной мощности участников для выбора правильного блока. В отношении к блокчейну такие системы основываются на принципе Proof-of-Work (Доказательство работы). К ним относится Bitcoin, Ethereum и другие.
- Долевая пороговая модель. Объединение предыдущих идей, где вычисления компьютеров заменяются неким объектом, представляющим ценность. Например, сама криптовалюта служит объектом залога, который участник используется для подтверждения валидности блока. Следующее поколение блокчейна использует этот метод под названием Proof-of-Stake (Доказательство доли владения). Ярким представителем такой модели является NEO.
Выбранная состязательная модель блокчейна определяет способ получения вознаграждения за создание нового блока. Мы уже разобрали, что блокчейн — это распределенная база данных, состоящая из блоков. Сложность добавления новых блоков определяется состязательной моделью:
- Модель доказательства работы использует вычислительную мощность устройств участников сети. Группа устройств первой создавшей новый блок получает вознаграждение в виде криптовалюты (это и есть майнинг).
- Модель доказательства доли владения подразумевает использование активов пользователей в качестве залога для подтверждения честности всех операций в новом блоке. Вознаграждение получают все участники в размере пропорциональном заложенным активам.
В широком смысле, ключевой особенностью блокчейна является устранение человеческого фактора — ответственность за достоверность операций ложится на плечи математики и ЭВМ, которые гораздо более надежны.
Подробнее о принципах работы технологии блокчейн можно прочитать в статье WTF is the Blockchain?
Варианты использования
Шифропанками изначально преследовалась задача создания криптовалюты, которая не зависела бы от третьей стороны и обладала бы свойствами наличной валюты в электронном мире: мгновенный обмен средств на товар или услугу. Именно для этой цели и была разработана технология блокчейн, которая позволила переосмыслить подход к решению задач в других сферах.
Платежи
Использование криптовалюты в качестве платежного инструмента было первым применением технологии блокчейн и получило большое распространение на черных и нерегулируемых рынках. Цель создателей первых цифровых валют была достигнута, однако для обычного потребителя это не является предпочтительным способом. Блокчейн по своей природе гораздо более удобен для продавцов, чем для покупателей:
- невозможность отменить транзакцию и получить обратно деньги за некачественный товар или услугу;
- единственное, что обеспечивает безопасность и доступ к электронному кошельку — приватный ключ, в случае потери которого средства теряются навсегда.
Умные контракты
Технология блокчейн позволяет создавать на своей основе распределенные приложения, код которых выполняется на машинах участников сети. Принцип работы контрактов очень прост:
Если случилось A, выполни B.
Это позволяет составлять договоры в виде исполняемого кода, который будет выполняться в любом случае: он защищен от человеческого фактора и нарушений правил. Ошибок при разработке интерпретатора смарт-контрактов можно избежать, используя открытое программное обеспечение.
Хранение данных
Поскольку блокчейн по своей сути это распределенная база данных, в ней можно хранить любую информацию, не только записи о транзакциях. Такой подход позволит обеспечить надежность и доступность информации для всех участников сети в любое время. Однако, в системах распределенного хранения данных на блокчейне данные шифруются и распределяются между узлами сети, что делает процесс изменения данных очень медленным и ненадежным.
Голосование
Принцип устранения управляющего устройства между удаленными абонентами позволяет реализовать на основе блокчейна справедливую модель голосования, где невозможна подтасовка результатов.
Например, на сайте Ethereum есть подробная инструкция по настройке распределенной автономной организации на основе своей сети. Полученное распределенное приложение может быть использовано для управления активами не только валюты Ether, но и любых других.
Применимость блокчейн технологии
Важно понимать, когда блокчейн действительно необходим и не пытаться использовать его абсолютно во всех сферах. Хотя подобное желание вполне объяснимо — сама по себе технология невероятно любопытная и несет в себе большие возможности.
Оригинал фото: http://dilbert.com/strip/1995-11-17
Многие критики блокчейна говорят о том, что за 10 лет его существования никто не придумал killer app — приложения, которое покорило бы рынок и стало бы повсеместно используемым. Возможно, такой системы, использующей только блокчейн никогда и не появится, но определенно будет найдена своя ниша и узкая сфера применения.
Развитие и поддержка компаниями
VMware
Многие компания заинтересованы в изучении и развитии технологии блокчейн. Например, в VMware был создан целый исследовательский отдел, который изучает влияние блокчейна на область финансовых технологий в целом. Ими было сформировано их уникальное видение, которое базируется на пяти пунктах:
- приватные распределенные системы хранения без использования доказательства работы (PoW);
- высокоскоростная репликация данных;
- мир множества блокчейнов, а не единой сети;
- поддержка транзакций с возможностью кросс-операций;
- встроенная возможность регулирования членства, не только authX/authZ.
Настоятельно рекомендуем ознакомиться с публикациями исследователей VMware всем, кто хочет больше узнать о работе блокчейна и будущем этой технологии.
Кроме того, для пользователей услуг VMware доступно готовое решение BlockChain on vSphere, которое позволяет создать свою сеть в несколько простых шагов.
HyperLedger
В 2015 группой Linux Foundation был основан зонтичный проект открытого программного обеспечения для блокчейна и сопутствующих инструментов — HyperLedger, который предназначен для поддержки совместной разработки технологий распределенного реестра на базе блокчейн.
Проект HyperLedger также имеет собственный исследовательский центр, в котором аккумулируется опыт многих компаний: от консалтингового и финансового сектора до IT-гигантов.
NEO
NEO — это открытый блокчейн для умной экономики. Создатели своей целью ставят развитие экосистемы смарт контрактов на основе своей сети.
В основе NEO лежит модель доказательства доли владения (Proof-of-Stake), что позволяет добиться проведения до 10000 операций в секунду. В качестве залога используется криптовалюта Neo, а для оплаты комиссий за проведение транзакций используется NeoGas, который создается при получении новых блоков и распределяется между владельцами Neo.
Конкурс
В данный момент проходит конкурс разработчиков NEO с призовым фондом в 490000$ в партнерстве с Microsoft. Участникам предлагается представить прототип приложения использующего возможности умных контрактов NEO.
Отдельно стоит отметить наличие поддержки нескольких языков программирования (C#, Python, Java), что позволяет использовать возможности блокчейна в уже существующих системах и не тратить время на изучения нового языка.
На основе Neo можно реализовать свой приватный блокчейн. Создатель сети сразу получает в свое распоряжение 100 миллионов Neo и может использовать их в качестве валюты для приложений или других целей. Для обслуживания и первоначального запуска сети требуется минимум 4 машины, которые можно создать в одном приватном облаке.
Будущее
В сфере финансовых инструментов Bitcoin, будучи первой массовой криптовалютой, безусловно показал как можно играть по новым правилам без посредников и управления сверху. Однако, возможно даже более важным результатом появления Bitcoin стало создание технологии блокчейн.
Как мы рассмотрели выше, блокчейн в силу своей природы не является ответом на решение всех проблем, поэтому большая часть новоиспеченных компаний, внедряющих эту технологию, скорее всего, исчезнет в ближайшее время. Но именно блокчейн, как технология, позволяет организовать взаимодействие удаленных участников без контролирующего органа и там, где это будет востребовано, технология найдет применение.