Технологии блокчейна в настоящее время слишком раскручены.
О нем все пишут и говорят: с конференций Сибос И Деньги20/20 к популярным материалам в изданиях Экономист И Евроденьги – кажется, что каждый пытается отхватить свою долю от золотой лихорадки блокчейна.
Как определить, что у вас есть реальный вариант использования технологии блокчейн? Мы в Веб-платеж.
ру много мы пишем о технологии распределенного реестра, и учитывая род деятельности нашего Digital-агентства, ориентированного на финтех-компании, отметим, что поднятый вопрос весьма актуален для многих игроков рынка.
Ээта статья опубликована в блоге открытой платформы для создания собственных блокчейнов Мультичейн , призван помочь понять это.
Огромное количество проектов, приходящих в MultiChain, вообще не имеют никакого отношения к технологии блокчейн.
Все происходит по следующему сценарию.
Крупная компания узнает, что блокчейн — это технология будущего.
Крупная компания находит людей со стороны, которые работают с банковскими технологиями для распространения криптовалюты Биткойн.
Крупная компания выделяет им бюджет и поручает сделать что-то «блокчейн».
И вскоре эти умельцы приходят в MultiChain и, размахивая деньгами, просят нас помочь им придумать какой-нибудь вариант использования.
Что не так с теми, у кого действительно есть идея проекта? Очень часто проект можно прекрасно реализовать, используя простую реляционную базу данных.
Это такие железные монстры, как Oracle и SQL Server, а для менее предвзятых — MySQL и Postgres. Итак, начну с расстановки точек над i: Если современные реляционные базы данных отвечают вашим требованиям, то нужно быть сумасшедшим, чтобы использовать блокчейн.
Почему? Потому что такие продукты, как Oracle и MySQL, проверены десятилетиями разработки.
Они были установлены на миллионах серверов, обрабатывающих триллионы запросов.
Их код был наиболее тщательно протестирован, оптимизирован и отлажен из всех на планете Земля.
Они обрабатывают тысячи транзакций в секунду, не напрягаясь.
Так что же мы имеем с блокчейном? Есть продукты, которые стали пионерами рынка и являются относительно стабильными.
Но, несмотря на это, все товары этой категории, образно говоря, по-прежнему в подгузниках.
Пытаюсь ли я доказать, что технология блокчейна бесполезна? Ни за что.
Но прежде чем вы с головой окунетесь в такой передовой и блестящий блокчейн-проект, вам следует выработайте четкое понимание того, почему вы используете блокчейн .
Есть несколько условий, которые необходимо выполнить.
Если нет, то следует вернуться к этапу проектирования.
Возможно, вы могли бы лучше определить и описать проект более подробно.
Возможно, вы сможете сэкономить всем кучу времени и денег, потому что вам вообще не нужна технология блокчейна.
1. База данных
Вот первое правило.Блокчейн — это технология общедоступных баз данных.
Поэтому вам следует начать с понимания того, почему вы используете базу данных.
Здесь я имею в виду структурированное хранение информации.
Это может быть традиционная реляционная база данных с одной или несколькими электронными таблицами.
Или это могут быть более модные базы данных NoSQL, которые больше похожи на файловые системы или словари.
(Теоретически базы данных NoSQL в любом случае являются подмножеством реляционных баз данных.
) Регистр финансовых активов обычно можно представить в виде таблицы базы данных, в которой каждая строка представляет один тип актива, принадлежащий одной конкретной организации.
Каждая строка содержит три столбца, содержащие: (a) идентификатор владельца, например номер счета; (b) идентификатор типа актива, например «USD» или «AAPL»; (c) количество единиц актива на счету конкретного владельца.
Базы данных изменяются с помощью «транзакций», которые представляют собой набор изменений в базе данных, которые необходимо принять или отклонить.
Например, в случае учета активов платеж от одного пользователя другому представляет собой транзакцию, которая вычитает соответствующую сумму средств из одной строки и добавляет ее в другую.
2. Многие авторы
Это простое правило.Блокчейн — это технология создания баз данных с несколькими авторами.
Другими словами, должно существовать более одного объекта, генерирующего транзакции, изменяющие базу данных.
Знаете ли вы, кто эти авторы? В большинстве случаев авторы также будут поддерживать узлы, содержащие копию базы данных, и ретранслировать транзакции на другие узлы в одноранговой манере.
Однако транзакции для запуска самого узла также могут создаваться пользователями, которые не поддерживают узлы.
Рассмотрим, например, платежную систему, которая коллективно поддерживается небольшой группой банков, но имеет миллионы конечных пользователей с мобильными устройствами, которые взаимодействуют только с системой выбранного ими банка.
3. Отсутствие доверия
А теперь перейдем к третьему правилу.Если несколько объектов изменяют базу данных, между ними должна существовать определенная степень недоверия.
Другими словами, блокчейн — это технология для баз данных со многими авторами, которые не доверяют друг другу .
Можно подумать, что недоверие возникает только между отдельными организациями, такими как банки или компании, участвующие в цепочке поставок.
Но недоверие возникает и внутри одной крупной организации, например, между подразделениями или при проведении сделок в разных странах.
Что именно я имею в виду под отсутствием доверия? Я говорю о том, что один пользователь не хочет, чтобы другой пользователь изменял строки в базе данных, которой он «владеет».
Аналогично, когда дело доходит до чтения содержимого базы данных, пользователь не примет «правду» другого пользователя, потому что у каждого из них разные экономические или политические мотивы.
4. Сделки без посредников
Итак, проблема до сих пор заключалась в том, что к базе данных имеют доступ несколько авторов, которые не доверяют друг другу.Но есть известное решение этой проблемы: доверенный посредник .
Это тот, которому доверяют все авторы, даже если они не доверяют друг другу.
Действительно, в мире полно таких баз данных, включая реестры банковских счетов.
Ваш банк контролирует базу данных самостоятельно и гарантирует, что каждая транзакция действительна и осуществлена авторизованным пользователем, средства которого переводятся со счета на счет. И как бы вежливо вы ни просили, ваш банк никогда не позволит вам напрямую внести изменения в его базу данных.
Блокчейн устраняет необходимость в доверенных посредниках, позволяя многие авторы, не доверяющие друг другу, напрямую вносят изменения в базы данных .
Нет органа, проверяющего действительность транзакций и подлинность их источников.
Вместо этого определение транзакции расширяется и включает подтверждение авторизации и подтверждение действительности.
Таким образом, транзакции могут независимо проверяться и обрабатываться каждым узлом, имеющим локальную копию базы данных.
Но вот вопрос, который вам нужно задать себе: хотите ли вы и вам нужно отказаться от посредников? В вашем случае, действительно ли вам мешает центральная организация, которая поддерживает надежную базу данных и выступает в качестве посредника для транзакций? Веские причины избегать доверенного посредника в пользу баз данных блокчейна включают, например, большую экономию средств, более быстрые транзакции, автоматическую сверку счетов или невозможность найти подходящего посредника.
5. Транзакционное взаимодействие
Итак, технология блокчейн хороша для баз данных со многими авторами, которые не доверяют друг другу и напрямую меняют базу данных.Но этого все еще недостаточно.
Блокчейн полностью окупает себя, когда транзакции, созданные этими авторами, взаимодействуют друг с другом.
Что я подразумеваю под взаимодействием? Это когда транзакции, созданные разными авторами, часто зависят друг от друга.
Например, предположим, что Алиса отправляет средства Бобу, а затем Боб отправляет средства Чарли.
В этом случае транзакция Боба зависит от транзакции Алисы, и нет другого способа проверить транзакцию Боба без предварительной проверки транзакции Алисы.
Из-за этой зависимости эти транзакции вместе принадлежат одной распределенной базе данных.
Продолжая эту тему, самое замечательное в блокчейне то, что можно создавать транзакции.
совместно многими авторами и никто не рискует. Именно это позволяет нам решить проблему приоритетности платежа без необходимости использования доверенного посредника.
Менее очевидный случай взаимодействия — когда транзакции разных авторов коррелируют друг с другом, оставаясь при этом независимыми.
Одним из примеров может быть распределенная база данных идентификационных данных, в которой несколько объектов проверяют различные аспекты идентификационных данных потребителей.
Несмотря на то, что каждая из проверок осуществляется отдельно, блокчейн позволяет пользователю объединить все изменения.
6. Установление правил
Это не условие, а скорее неизбежное следствие предыдущих условий.Если у нас есть база данных, в которую вносят изменения многие авторы, и эти авторы не полностью доверяют друг другу, то в этой базе данных должны быть предусмотрены правила, которые в соответствии с чем осуществляются сделки .
Эти требования существенно отличаются от ограничений, существующих в традиционных базах данных, поскольку они касаются корректности преобразований, а не состояния базы данных в конкретный момент времени.
Каждая транзакция проверяется каждым узлом в данной сети на соответствие этим требованиям.
Те транзакции, которые не соответствуют требованиям, отклоняются до их проведения.
Книги активов представляют собой простой пример правил такого типа, направленных на предотвращение транзакций, в результате которых активы создаются из воздуха.
Согласно этому требованию общее количество каждого актива в реестре остается неизменным до и после каждой транзакции.
7. Выберите валидаторов
Итак, мы описали распределенную базу данных, в которой транзакции могут возникать из разных источников, распространяться от одного узла к другому и независимо проверяться каждым узлом.Так что же делает блокчейн? Здесь задача этой технологии заключается в том, чтобы окончательная версия журнала транзакций, заслуживающая доверия, с содержимым которой согласны все узлы , и это можно доказать.
Зачем нам нужен этот журнал? Во-первых, он позволяет вновь добавленным узлам вычислять содержимое базы данных с нуля, не доверяя другому узлу.
Во-вторых, это допускает возможность того, что некоторые узлы могут пропустить некоторые транзакции из-за сбоев связи.
Без журнала транзакций это приведет к тому, что база данных одного узла будет отличаться от других, что противоречит цели распределенных баз данных.
В-третьих, существует вероятность того, что две транзакции конфликтуют и только одна из них может быть принята.
Классическим примером этого является двойное расходование, когда одна и та же сумма средств отправляется двум разным получателям.
В одноранговой базе данных без центрального администратора узлы могут иметь разные мнения о том, какую транзакцию стоит принять, поскольку в этом случае нет объективного правильного ответа .
Требуя подтверждения транзакций в блокчейне, мы гарантируем, что все узлы согласны с одним и тем же решением.
Наконец, в таких блокчейнах, как Ethereum, точный порядок транзакций имеет решающее значение, поскольку каждая транзакция может влиять на следующую.
В этом случае блокчейн определяет хронологию событий, без которой транзакции не могут быть обработаны.
Блокчейн — это цепочка блоков, в которой каждый блок содержит набор транзакций, подтвержденных как группа.
Но кто отвечает за выбор транзакций, входящих в каждый блок? Для «частных блокчейнов», которые подходят корпорациям, это закрытая группа валидаторов (майнеров), которые оставляют цифровую подпись на создаваемых ими блоках.
Этот белый список сочетается со схемой распределенного консенсуса, чтобы предотвратить получение контроля над блокчейном меньшинством валидаторов.
Независимо от того, какая схема консенсуса используется, узлы валидатора имеют гораздо меньшие полномочия, чем администраторы традиционной централизованной базы данных.
Валидаторы не могут подделать транзакцию или изменить базу данных в нарушение правил.
Когда дело доходит до учета активов, это означает, что они не могут тратить деньги других людей или изменять общее количество представленных активов.
Однако есть еще два случая, когда валидаторы могут ненадлежащим образом влиять на содержимое базы данных: Цензура транзакций.
Если достаточное количество валидаторов вступают в сговор, они могут предотвратить подтверждение конкретной транзакции в блокчейне, навсегда оставив ее в пуле неподтвержденных транзакций.
Предвзятое разрешение конфликта.
Если две транзакции конфликтуют, то валидатор следующего блока решает, какая транзакция в блокчейне будет принята, а какая в результате будет отклонена.
Справедливый выбор — это транзакция, которая пришла первой, но валидаторы могут основывать свой выбор на других факторах, не раскрывая их.
Из-за этих проблем при развертывании базы данных блокчейна вы должны иметь четкое понимание кто ваши валидаторы и почему вы им доверяете .
В зависимости от случая валидаторами могут быть выбраны: (а) один или несколько узлов, управляемых одной организацией, (б) основная группа организаций, которые поддерживают цепочку, или (в) каждый узел в сети.
8. Защитите свои активы
Если вы дочитали статью до конца, возможно, вы заметили, что я называю блокчейны распределенными базами данных, а не более распространенными «распределенными реестрами».Почему? Потому что как технология блокчейн может применяться для решения проблем, выходящих за рамки отслеживания активов.
Любая база данных, имеющая несколько авторов, не доверяющих друг другу, может быть реализована через блокчейн без необходимости доверенного посредника.
Примеры включают распределенные календари, форумы и совместные проекты, такие как Wikipedia. В настоящее время блокчейны интересуют в основном тех, кто отслеживает движение финансовых активов.
По моему мнению, для этого есть две причины: (а) финансовый сектор реагирует на (пока очень небольшую) угрозу криптовалют, таких как Биткойн, и (б) реестр активов является наиболее простым и естественным примером распределенная база данных с взаимозависимыми транзакциями, созданными множеством объектов, которые не доверяют друг другу.
Если вы хотите использовать блокчейн для учета активов, вам необходимо ответить на еще один важный вопрос: какова природа этих активов? Я не имею в виду наличные деньги, облигации или коносаменты, хотя они тоже очень важны.
Вопрос скорее кто стоит за активами, представленными в блокчейне ? Если в базе данных есть информация о том, что я владею 10 единицами чего-либо, кто позволит мне претендовать на эти 10 единиц в реальном мире? На кого я могу подать в суд, если не могу конвертировать то, что у меня есть в блокчейне, в традиционные физические активы? (См.
пример договора об активе ) Конечно, ответ на этот вопрос зависит от конкретного приложения.
Например, для денежных активов банки-хранители могут принимать наличные в традиционной форме, а затем зачислять средства на счета пользователей в системе распределенного реестра, построенной на блокчейне.
В сфере торгового финансирования аккредитивы и коносаменты могут быть обеспечены банком импортера и транспортной компанией соответственно.
Вполне вероятно, что в более отдаленном будущем выпуск крупных корпоративных облигаций будет осуществляться напрямую через блокчейн компанией, стремящейся привлечь средства.
Заключение
Как я упоминал во введении, если ваш проект не соответствует хотя бы одному из этих критериев, вам не следует использовать блокчейн.Если одно из первых пяти условий не выполнено, то следует использовать одно из следующих решений: (а) обычное файловое хранилище, (б) централизованная база данных, (в) реплицируемая база данных, (г) несколько баз данных с подпиской для пользователей.
И если первые пять условий соблюдены, это еще не все: вам нужно будет определить правила вашего приложения с точки зрения транзакций, разрешенных базой данных.
Вам необходимо быть уверенным в своих валидаторах и механизме распределенного консенсуса.
Наконец, если вы собираетесь создать распределенную систему учета активов, вам необходимо знать, кто будет обеспечивать безопасность этих активов.
Теги: #блокчейн #блокчейн #интеграция #web-pay.ru #Криптография #Анализ и проектирование систем
-
Века. Инструкции По Использованию
19 Oct, 24 -
Что Происходит В Макхосте И Оверсане
19 Oct, 24 -
Встреча Codenet 2010
19 Oct, 24