что такое блок чейн и как он работает
Что такое блокчейн и зачем он нужен
В сознании среднестатистического пользователя само слово “блокчейн” (“цепочка блоков”) стало довольно тесно связано с термином “биткоин”, что двояко отразилось на восприятии.
С одной стороны, популярность биткоина вызывает интерес и к блокчейну, с другой стороны, в массовом сознании биткоин часто ассоциируется лишь с чем-то негативным, запрещенным и подвергаемым преследованию со стороны законодателей. Мол, зачем расплачиваться биткоинами, когда есть целый зоопарк электронных кошельков и банковских карт? Ясное дело – чтобы проворачивать какие-то темные делишки.
Блокчейн же – по сути всего лишь инструмент, с помощью которого можно хранить данные транзакций (база данных). А инструмент не может сам по себе быть заведомо хорошим или плохим: с помощью топора можно пойти и нарубить дров, чтобы согреться зимой и приготовить пищу, а можно взять тот же самый топор и сокращать народонаселение процентщиц в отдельно взятом городе. Инструмент – один и тот же, применение и последствия – разные.
Сфер применения можно найти множество, главное – чтобы существовал аналог сделки или подобного взаимодействия, партнерства между сторонами. Поэтому на технологии блокчейна сейчас работают биткоин и лайткоин, к блокчейну весьма активно присматриваются банки (осенью 2016-го Bank of America и Microsoft заявили о начале разработки финансовой блокчейн-платформы).
Первая же реальная сделка с реальными деньгами тоже состоялась осенью того же года – израильский стартап (Wave), британский банк (Barclays) и ирландский производитель молочки (Ornua) провели аккредитив на 100 000 долларов. И если ранее процесс занял бы неделю или более из-за бюрократии и проверки всех документов, то благодаря криптографии и автоматизированной верификации на все про все ушло около четырех часов.
21 декабря 2016-го сделку-аккредитив через блокчейн провели Альфа-Банк и S7.
ЦБ РФ вместе с крупными банками страны создали платформу “Мастерчейн”, цель – повысить прозрачность и эффективность существующих финансовых систем.
А Парламент ЕС в принципе задумался о реализации выборов в органы государственной власти с помощью блокчейна.
Учитывая масштаб применения и уровень игроков, которые уже начали использовать технологию в деле, считать блокчейн каким-то странным подозрительным новшеством, о котором все забудут через некоторое время, уже нельзя.
Насколько это все безопасно?
Главные преимущества использования блокчейна – это прозрачность проводимых транзакций и множественное копирование всех этих транзакций таким образом, что у каждого участника процесса всегда есть информация о каждом шаге всех партнеров.
Если попробовать описать это попроще – представьте себе большую общую папку на FTP. Вы видите все ее содержимое (никаких скрытых файлов), вы можете быстро посмотреть, кто и в какие подпапки загружал файлы. Какие именно файлы, когда и для кого.
Но при этом у всех разный доступ к данным файлам. Кто-то может лишь наслаждаться видами и просматривать список файлов в каждой папке. А кто-то (адресат конкретного файла) может скачивать данные себе. Причем никто другой не сможет получить доступ к файлу – только тот, кому он предназначался.
Или, например, большой электронный кошелек с открытой статистикой. Вы видите, что на счет поступило 50 000 рублей от пользователя А для пользователя Б. Пользователь Б через час перевел их куда-то еще в системе. При этом сами пользователи, скрывающиеся за А и Б, могут быть как анонимными, так и вполне себе идентифицированными – зависит от самой платформы и цели ее создания. Все участники цепи могут наблюдать за перемещением средств, но доступ к самим средствам будет только у пользователя с необходимыми правами (Б). Остальные же в данном случае выполняют роль наблюдателей.
Это обеспечивает должный уровень открытости сделки – вся цепочка транзакций дублируется и хранится в неизменном зашифрованном виде у каждого участника, не получится как-то подделать ее.
Блокчейн децентрализован, нет какого-то одного общего “командного центра”, взломав который получится уничтожить все данные о сделке и ее участниках или подменить их.
Например, если проводилась транзакция, в которой участвовали 100 человек, то эта блокчейн-цепочка останется рабочей и доступной для просмотра даже в том случае, если 99 компьютеров других участников будут испорчены. Ведь по сути каждое звено блокчейн-цепи – это своеобразный полный бекап данных всех транзакций всех остальных участников на это звено.
Взлом одного из таких компьютеров никак не скажется на сохранности данных на остальных (как и на их изменении).
Блокчейн сейчас и в будущем
Вполне возможно, что сейчас – именно то время, когда технология проходит обкатку вживую на весьма значимых областях общественной жизни, и в скором времени мы увидим все больше и больше проектов и платформ, использующих блокчейн. Уже сейчас банки пытаются активно внедрять это у себя (в том числе и для снижения операционных расходов), на рынке появляются все новые и новые игроки, стремящиеся популяризовать использование технологии.
Новые проекты на блокчейне будут основываться на его главных преимуществах – открытости, защищенности, безопасности.
Поэтому блокчейн станет хорошим подспорьем для любых сервисов, где пользователи могли переживать о возможном мошенничестве или о сохранности данных:
Всего за несколько лет блокчейн уже прошел путь от новинки в технологическом мире до инструмента, которым начинают пользоваться крупные банки, корпорации и государства.
Что только укрепляет уверенность в том, что в будущем технология раскроет свой потенциал еще сильнее.
Немного о нас
Мы принимаем участие в развитии блокчейна с 2011 года (основание BitFury) и будем рады делиться с вами последними наработками и новостями.
Первые эксперименты с использованием центральных и графических процессоров для майнинга мы начали 6 лет назад, в 2011, в рамках разных проектов. Год спустя было решено сосредоточить усилия на одном – BitFury. В 2014-м майнинг был развернут уже в 3 странах (Финляндия, Исландия, Грузия) на собственном оборудовании. Планируем построить дата-центр и на территории США.
Несколько интересных проектов, которые мы уже успели осуществить к текущему моменту:
чип по 28-нанометровой технологии
Пришел на замену нашему специализированному 55-нанометровому чипу. Новый чип работал с потреблением 0,2 Джоуля на гигахэш.
Мы начали внедрять его в собственных дата-центрах. Данный чип уже потреблял 0,06 Джоуля на гигахэш, производительность же составляла 184 гигахэша в секунду (иммерсионное охлаждение) и 140 – при воздушном.
За 2014 и 2015 нам удалось привлечь инвестиции в трех раундах по 20 миллионов долларов, что на тот момент являлось примерно половиной всех мировых инвестиций в развитие биткоина.
На сегодня же BitFury – один из крупнейших майнеров и создателей блокчейн-платформы. Мы собираемся и дальше сохранять лидерские позиции и активно продвигать блокчейн-технологии.
Если у вас есть какие-либо конкретные вопросы о блокчейне в целом или каком-то из наших продуктов в частности (BlockBox, 16нм ASIC-чип, блокчейн и государство) – пишите в комментариях, мы ответим в следующих постах.
Технология блокчейн: что надо знать в 11 карточках
Что такое блокчейн простыми словами
Блокчейн — это распределенная база данных, которая содержит информацию обо всех транзакциях, проведенных участниками системы. Информация хранится в виде цепочки блоков. В каждом из них записано определенное число транзакций.
Что такое распределенная база данных? Слово «распределенная» означает: нет никакой централизованной организации, которая бы проверяла этот процесс.
Об эксперте: Артем Генкин, доктор экономических наук, профессор, один из ключевых спикеров онлайн-встреч с авторами онлайн-университета Skillbox и издательской группы «Альпина» –– «Новый мир, новый человек».
По мнению Банка Англии, блокчейн — «технология, позволяющая людям, которые не знают друг друга, доверенно и совместно использовать запись событий». Невозможно скрытно подделать данные внутри этой системы, поэтому она признана коррупционно-стойкой.
Аналогия с блокчейном — ожерелье. Каждая бусина –– это «блок» или запись действия. Это ожерелье — или «chain» (цепь) — не может быть уничтожено или разрушено. Таким образом, блокчейн — это нерушимая цифровая запись действий. Надежность этой системы позволила использовать ее для повышения эффективности денежных операций и обмена информацией среди частных лиц, корпораций и даже госсектора.
История понятия «блокчейн»
Понятие «блокчейн» не имеет национального происхождения, у него сетевое «гражданство». История термина началась в 2008 году, когда аноним или группа лиц, скрывшихся под псевдонимом Сатоши Накамото, опубликовали статью, ставшую манифестом этой инновационной технологии. В статье описывались ее сущностные характеристики и возможности создания децентрализованной системы денежных расчетов.
За последние годы было много версий того, кто мог быть автором этого манифеста. Убедительны некоторые доказательства в пользу его русскоязычного происхождения. Первый блок был сгенерирован в 2009 году, а на сегодня только криптоинструментов на базе разных модификаций блокчейна в мире циркулирует свыше 2 тыс. видов.
Как блокчейн связан с понятием биткоин?
Биткоин — исторически первое и наиболее известное применение блокчейн-технологии. Транзакции в нем –– это переводы средств между кошельками пользователей. Каждому участнику доступна информация о любой из транзакций, когда-либо происходивших в блокчейне, начиная с первого перевода в 2009 году.
Как первое применение блокчейна, биткоин поспособствовал глобальному росту популярности этой технологии и ознакомил мир с ее преимуществами. Но впоследствии в процессе развития на базе блокчейна и его модификаций появились и другие криптовалюты, а также другие, не связанные с криптоинструментами формы эффективного использования этой технологии.
Сферы применения блокчейна: криптовалюта
Внедрение блокчейна увеличивает скорость обмена, уменьшает временные затраты, улучшает качество, надежность и доступность услуг. При этом увеличивается прозрачность и надежность, снижаются риски.
Главная сфера применения блокчейна — криптоиндустрия. Но помимо этого проекты на блокчейне используются в банковском секторе, сфере финансовых услуг, платежных сервисах, госсекторе (госуслуги, реестры недвижимости, нотариат, электронное голосование и др.), транспорте и логистике, IoT, здравоохранении, управлении интеллектуальной собственностью, энергетике, и т. д.
В криптоиндустрии блокчейн стал технологической основой для выпуска криптовалют, которые являются осовремененной версией хайековских «частных денег». При этом крупнейшие из них, такие как биткоин и эфир, имеют глобальный характер обращения.
На основе этой технологии происходит токенизация. Выпуск токенов — это особая форма секьюритизации активов на базе массового и глобального спроса инвесторов. Снижение издержек при этом гораздо значительнее, по сравнению с процедурами традиционных финансовых рынков.
Сферы применения блокчейна: банковское дело
Блокчейн позволяет сделать все процессы в банковской индустрии безопаснее, надежнее и прозрачнее. Денежные переводы, расчеты при сделках с ценными бумагами, аккредитивы, KYC-комплаенс, рутинная работа бэк-офисов банков — все эти операции теперь проходят с внедрением этой технологии.
Блокчейн может сократить затраты банков до 50%. Об этом заявляли еще в 2017 г. аналитики Morgan Stanley. По их мнению, блокчейн мог бы оптимизировать инфраструктуру, радикально сократить затраты и обеспечить необходимое повышение RoE (доходности собственного капитала) банков. Многим банкам, несмотря на присущую им консервативность, опасно было бы недооценивать потенциал этой технологии. Повсеместное ее внедрение может привести к ликвидации некоторых участников мировой финансовой системы.
Сферы применения блокчейна: кибербезопасность
На каждом узле блокчейн-системы хранятся копии всей базы данных в целом, и они сверяются между собой. Это придает системе жизнеспособность даже в случае успешных хакерских атак на ее одиночные узлы. Несмотря на то, что приложения на блокчейне предлагают анонимность, технология может использоваться, чтобы прикреплять реальные идентификационные данные к криптографическим в базе данных.
Известен стартап, создавший удобный способ безопасного внесения данных, их отслеживания и передачи имущественных прав через блокчейн-платформу. Это помогает риэлторским фирмам: управление записями становится удобнее, сокращается время поиска, растет конфиденциальность и прозрачность. Другой кейс — система репутации интернет-юзеров, начисляющая денежное вознаграждение в криптовалюте эфир, исходя из показателей репутации.
Сферы применения блокчейна: удостоверения личности
Такие ID представляют собой перевод персональных данных о человеке на блокчейн, создание его цифрового профиля. Есть большой перечень госуслуг, доступ к которым может быть осуществлен посредством блокчейна, и есть статистика передовых блокчейн-стран (Эстония, некоторые эмираты ОАЭ). Использование блокчейна и блокчейн-ID активным гражданином может стать обычным паттерном поведения уже при жизни современного поколения.
И в России, и на Западе государства в последние десятилетия активно ищут пути оптимизации своей административной деятельности. Хорошим решением для этого было бы перевести в блокчейн все рутинные и архаичные процессы. Проблематику прайваси и защиты информационной безопасности при этом никто с повестки дня не снимал — напротив, в эру блокчейна она станет приоритетом.
Как работают платежные средства на блокчейне?
Можно выделить как минимум два типа платежных средств. Прежде всего, это традиционные негосударственные криптовалюты, такие как эфир и биткоин, которые имеют многомиллиардную (если измерять ее в «традиционных» фиатных долларах США) капитализацию.
Второй тип — криптовалюты центральных банков — это зачастую попытки фиатных государственных эмитентов влить «новое вино в старые меха»: представить новую форму зарабатывания сеньоража, т. е. эмиссию госвалюты, как нечто сверхмодное и прогрессивное. Только единицы проектов по выпуску КВЦБ на сегодня предусматривают подлинно децентрализованный характер их эмиссии.
Критика блокчейна: минусы технологии
Есть проблемы технологического характера. Прежде всего, масштабируемость: сегодня многие популярные системы распределенных реестров не могут обрабатывать большое количество транзакций, что приводит к торможению оборота и процессинга транзакций в них.
Другой минус — недостаток конфиденциальности в связи с квазианонимностью блокчейна. Некоторые типы блокчейна потенциально уязвимы перед хакерскими атаками, а также перед так называемыми «атаками 51%» — когда, в полном соответствии с правилами системы, коалиция пользователей, обладающих большими компьютерными мощностями, может изменить записи в конкретном блокчейне. Этот процесс аналогичен тому, как перехватывает контроль мажоритарный акционер в АО.
Кроме того, регуляторные и правовые риски, а также иногда зашкаливающая ресурсо- и энергоемкость остаются специфическими рисками криптовалютного сектора блокчейн-индустрии.
Прогнозы по рынку: будущее технологии в России и за рубежом
Крупнейшие игроки рынка еще в 2015-17 годах организовались в консорциумы. Ими уже реализованы сотни экспериментов и тестов с блокчейнами различного типа.
Обладание этой технологией остается пропуском в элитарный клуб, ее диффузия в «массы» бизнесменов и потребителей будет не одномоментной. Хайп (и расцвет множества мошеннических проектов с применением криптоактивов), который мы наблюдали в 2017-2018 годах, вряд ли повторится, но успешных внедрений блокчейна в различные сегменты коммерческого и госсектора будет все больше.
Конвергенция ICO / STO с традиционными IPO приведет к трансформации и частичному снятию лишних барьеров на фондовом рынке. Поляризация отношения различных юрисдикций к технологии и феномен blockchain-friendly states — а значит, и регуляторный арбитраж — продлятся еще несколько лет, сменившись глобальным осознанием преимуществ этой технологии и ее зрячим принятием законодателями.
Что нам стоит блокчейн построить?
Вся история человечества — это непрерывное избавление от цепей и создание новых, еще более крепких. (Анонимный автор)
Анализируя многочисленные blockchain проекты (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin и др.), я понимаю, что с технической точки зрения все они построены по одним принципам. Блокчейны напоминают дома, у которых при всем разнообразии конструкций, декора и назначений имеются фундамент, стены, крыша, окна, двери, которые связаны друг с другом определенными способами. И если понять основные принципы проектирования зданий, знать свойства применяемых материалов, то можно определить целевое назначение конкретного дома. В настоящее время с блокчейном возникла ситуация, что все про него слышали, но мало кто понимает архитектуру и принципы работы. Поэтому возникает непонимание для чего и как имеет смысл использовать технологии блокчейна.
В данной статье мы разберем общие для всех блокчейнов свойства и принципы. Далее посмотрим на задачи, которые можно решать с помощью блокчейна и для закрепления материала построим маленький, но настоящий блокчейн на своем виртуальном участке!
Итак, давайте вспомним какие проблемы изначально решил блокчейн.
Уверен, что многие скажут про распределенную, децентрализованную, публичную и неизменяемую базу данных. Но зачем это все было нужно?
Я предпочитаю начинать изучение любой технологии с чтения стандартов, так как именно на них основываются все статьи и книги по исследуемой теме. Но стандарты блокчейна в настоящее время отсутствуют, в ISO созданы только комитеты для их разработки. На текущий момент в каждом публичном блокчейн проекте имеется свой документ White paper, который по сути является техническим заданием. Первый общеизвестный блокчейн проект — это сеть Bitcoin. Идем на официальный сайт сети и смотрим с чего все начиналось.
Задача блокчейна
Итак, задача, которую решил блокчейн в сети пионере Bitcoin — это совершение доверительной передачи собственности на цифровые активы (assets) в недоверительной среде без посредников. Например, в сети Bitcoin цифровой актив — это цифровые монеты bitcoin. И все технические решения Bitcoin и других блокчейнов сводятся к решению этой задачи.
Проблемы, которые решает блокчейн
Предположим некая финансовая организация говорит, что построила сеть по всему миру, с помощью которой можно переводить деньги любому человеку. Поверите ли вы ей? Если эта организация Visa или MasterCard, скорее всего, поверите, а если, условно говоря, AnonymousWorldMoney, наверное, нет. Почему же? А потому, что мы прекрасно знаем, как делаются распределенные системы частными компаниями, с какими целями, и к чему это может привести. Рассмотрим подробнее проблемы таких систем, и как они могут быть решены с применением технологий блокчейна.
Допустим, в условной AnonymousWorldMoney стоят сервера с базами данных, и хорошо, если их будет несколько в разных дата-центрах. Когда отправитель переводит деньги, регистрируется транзакция, которая реплицируется на все сервера, и деньги доходят до получателя.
В идеальном мире такая схема прекрасно работает, в нашем же возникают следующие проблемы:
Как блокчейн решает эти проблемы
Архитектура блокчейна
Составные части блокчейна
Каждый участник может запустить свою ноду с полной копией блокчейна (full node). Полные ноды, которые могут записывать транзакции в блокчейн, называются узлами консенсуса (witness) или майнерами (miner). Полные ноды, которые только проверяют правильность транзакций называются узлами аудита (audit). Легкие клиенты (light clients) не хранят полных копий блокчейна, а взаимодействуют с сетью, используя полные ноды.
Большинство пользователей для совершения транзакций используют именно легких клиентов или web кошельки. Все ноды связаны друг с другом. При таком наборе элементов архитектура сети становится более устойчивой:
Жизненный цикл транзакции
Посмотрим на жизненный цикл транзакции и разберем его по частям:
Технологии блокчейна
Остановимся подробнее на технических решениях и их связях друг с другом.
Идентификация
Каждая блокчейн транзакция должна быть подписана цифровой подписью. Поэтому для совершения транзакции каждый участник должен иметь пару ключей: private / public. Иногда пару ключей называют кошелек (wallet), т.к. ключи однозначно связаны с уникальным цифровым адресом и балансом участника. В реальности ключи и адреса — это просто строки цифр в разных системах счисления. Примеры ключей и адреса кошелька:
Для создания цифровой подписи в блокчейнах используется алгоритм, основанный на эллиптических кривых: Elliptic Curve Digital Signature Algorithm (ECDSA). Для его работы приватный ключ (256 битное число), обычно, берется случайно. Число вариантов ключей составляет 2 в степени 256, поэтому можно говорить о практической невозможности совпадения значений приватных ключей.
Далее, публичный ключ получается из приватного путем умножения его значения на координаты точки, находящейся на эллиптической кривой, в результате чего получаются координаты новой точки этой же кривой. Это действие гарантирует получение пары ключей, пригодной для цифровых подписей транзакций. И наконец адрес кошелька однозначно вычисляется из публичного ключа.
Есть масса статей с подробностями по криптографии, используемой в блокчейне, например: Bitcoin in a nutshell — Cryptography
Приватный ключ должен быть строго секретен и храниться в безопасности. Публичный ключ известен всем. При утере приватного ключа доступ к активу (монетам) восстановить невозможно и деньги будут утеряны навсегда. Поэтому задача надежного хранения приватных ключей крайне актуальна, т.к. это не банк, куда всегда можно прийти с паспортом и восстановить счет. Существует целая индустрия по производству, так называемых, холодных криптокошельков, похожих на флешки:
или можно использовать более надежные способы, как пример, выбивать значение приватного ключа на жетонах:
Транзакции
Подробнее про структуру транзакции можно посмотреть в статье Bitcoin in a nutshell — Transaction. Нам же важно понимать, что каждая транзакция имеет по крайней мере следующие данные:
Далее транзакция подписывается приватным ключом и рассылается (см. подробности по работе протокола Bitcoin in a nutshell-Protocol) всем нодам в блокчейне, которые проверяют транзакции на валидность. Алгоритм проверки транзакции нетривиален и включает два десятка шагов.
Блоки транзакций
Проверив валидность транзакций, ноды формируют из них блоки. Помимо транзакций в блок записывается хеш предыдущего блока, число (счетчик Nonce), и происходит вычисление хеша текущего блока по алгоритму SHA-256. Хеш должен обладать установленным условиям сложности. Например, в сети Bitcoin сложность хеша автоматически меняется раз в 2 недели в зависимости от мощности сети так, чтобы блок генерировался примерно раз в 10 минут. Сложность определятся следующим условием: найденный хеш должен быть меньше заранее заданного числа. Если данное условие не выполняется, то к Nonce прибавляется 1, и работа по вычислению хеша повторяется. Для подбора хеша используется поле Nonce, т.к. это единственные данные в блоке, которые можно изменить, остальные должны оставаться неизменными. Правильный хеш должен иметь определенное число нулей в начале, например, один из реальных хешей:
После успешного нахождения хеша блок и сам найденный хеш записываются в блокчейн следующим блоком. Подробнее по структуру блоков можно посмотреть в статье Bitcoin in a nutshell-Blockchain, а ниже приведу упрощенную схему:
Блокчейн начинается с блока, у которого еще нет хеша предыдущего блока. Такой блок в блокчейне один и имеет собственное название Genesis block. У остальных блоков одинаковая структура и отличаются они только числом транзакций. Реальные транзакции и блоки создающиеся в настоящее время в Bitcoin или Ethereum можно смотреть в Block Explorer.
Размер блоков в Bitcoin ограничен 1Мб и при минимальном объеме информации в транзакции около 200 байт, максимально в блоке может быть около 6000 транзакций. Отсюда, кстати, и следует производительность Bitcoin, над которой все смеются: блок генерируется примерно раз в 10 мин * 60 сек = 600 сек, что и дает формальную производительность около 10 TPS. Хотя на самом деле — это не производительность, а сознательно реализованный алгоритм работы. В Ethereum для конкуренции просто сделали время генерации блока 15 сек. и производительность формально взлетела. Поэтому в блокчейнах, использующих PoW в качестве консенсуса вообще бессмысленно сравнивать производительность, т.к. она напрямую зависит от сложности вычисления кеша, которую можно назначить любую.
Форки
А что происходит, если, например, несколько узлов нашли хеши удовлетворяющие условиям сложности, но разные по значению (иными словами, пришли к разным консенсусам) и записали блоки в блокчейн? Давайте посмотрим, как блокчейн защищается от данной ситуации. В этом случае происходит, так называемый, форк (‘вилка’), и блокчейн имеет две версии цепочки:
Что происходит далее? Далее часть сети начинает работать над блоком N+2 от одной цепочки, а часть от другой:
Какой-то из этих блоков будет найден раньше и отправлен в блокчейн и тогда по правилам блокчейн должен будет переключиться на более длинную цепочку и отменить все транзакции из альтернативного блока:
При этом, может сложиться ситуация, когда транзакция участника находилась только в одном из блоков форка, который и был отменен. Поэтому, чтобы быть уверенным, что нужная транзакция записалась в блокчейн, есть общая рекомендация — прежде чем доверять транзакции надо подождать пока следующие несколько блоков не будут добавлены в блокчейн. Рекомендации, сколько блоков ждать для разных блокчейнов различаются. Например, для сети Bitcoin минимум — это 2 блока, максимум 6.
Такая же картина с форком блоков будет наблюдаться и при, так называемой, атаке 51% — это когда группа майнеров будет пытаться вырастить альтернативную цепочку блоков, добиваясь отмены цепочки cо своими мошенническими транзакциями. Хотя в настоящее время, вместо мошенничества, выгоднее тратить свои мощности на честный майнинг.
Консенсус
Для записи блока в блокчейн сеть должна прийти к консенсусу. Давайте вспомним, задачу достижения консенсуса в компьютерных сетях связи. Проблема формулируется, как задача византийских генералов BFT (Byzantine fault tolerance). Опуская живописное описание проблем византийской армии, задачу можно сформулировать так: как узлам сети прийти к общему результату, если часть узлов сети могут сознательно их искажать. Существующие алгоритмы решения задачи BFT показывают, что сеть может функционировать правильно, если мошенников меньше 1/3. Почему в сети Bitcoin не был применен консенсус BFT? Зачем нужно было использовать PoW? Есть несколько причин:
Консенсус PoS основан на выборе узла, который может записать блок с транзакциями в блокчейн в зависимости от количества средств на счету, вернее, не на счету, а в залоге, Т.е. чем у тебя больше средств в залоге, тем с большей вероятностью сеть выберет твой узел для записи блока. Залог не возвратится, если блок окажется невалидным. Таким образом реализована защита от мошенничества. Есть следующие вариации PoS:
Надежность и модели развертывания блокчейнов
Устойчивость Public или другое название Permissionless blockchain достигается тем, что каждый может подключиться и просмотреть информацию или даже подключить свой узел, а доверие строится на консенсусе PoW.
Private или Private Permissioned blockchain. В этих блокчейнах только определенная группа участников (организаций или людей) имеет доступ к информации. Такие блокчейны строят организации с целью увеличения общей выгоды или эффективности. Их надежность обеспечивается общими целями участников и алгоритмами консенсуса PoS и BFT.
Существуют Consortium или Public Permissioned blockchain. Это такие блокчейны, к которым каждый может подключиться для просмотра, но добавлять информацию или подключить свой узел участник может только с разрешения других участников. Такие блокчейны строят организации с целью повышения доверия со стороны заказчиков или потребителей продукции или общества в целом. Здесь надежность также достигается присутствием доверия между участниками и теми же алгоритмами консенсуса PoS и BFT.
Smart Contracts
В блокчейны, реализованные после Bitcoin, в той или степени добавлена возможность выполнения смарт-контрактов. По сути смарт-контракт — это транзакция, в которой помещен программный код для выполнения. Смарт-контракты в сети Ethereum выполняются в EVM (Ethereum Virtual Machine). Для начала выполнения смарт-контракта его надо явно запустить другой транзакцией, или должно выполниться предусловия для выполнения. Результаты выполнения смарт-контракта также запишутся в блокчейн. Получение данных извне блокчейна возможно, но крайне ограничено.
Какую бизнес логику можно реализовать с помощью смарт-контракта? На самом деле не так уж много, например проверка условий по данным из блокчейна, изменение собственников цифровых активов в зависимости от этих условий, запись данных в постоянное хранилище внутри блокчейна. Реализуется логика на специальном языке высокого уровня Solidity.
Классическим примером функциональности, которую реализуют с использованием смарт-контрактов — это выпуск токенов для проведения ICO. Например, мной был реализован смарт-контракт на выпуск скромных 500 000 000 AlexToken. По ссылке в Etherscan находится
Больше подробностей про смарт-контракты можно узнать в статье: Что такое смарт-контракты в Ethereum.
Заключение
Мы перечислили технологии на которых построены современные блокчейны и как они связаны друг с другом. Теперь давайте сформулируем, какие задачи можно решить с помощью блокчейна, а решения каких будет, в лучшем случае, неэффективно. Итак, использование блокчейна не обязательно, если: