Главной задачей для блокчейна в любой информационной системе является обеспечение доверия в среде, исключающей такое доверие по умолчанию. В качестве иллюстрации этой проблемы часто приводится задача о «византийских генералах». Не буду на ней подробно останавливаться, в Интернете найдется немало материалов. Вкратце, эта задача описывает процесс принятия решения в абсолютной анархической среде, где каждый за себя и никому не верит.

Консенсус как ахиллесова пята блокчейна


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

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

На начальном этапе развития систем, использующих блокчейны, например, Биткоин, в число лиц, участвующих в выработке консенсуса мог войти любой желающий. Правило не изменилось и сегодня, но постепенно вырос заградительный порог для полноценного участия в этом процессе. Это заметное увеличение размера самого блокчейна и рост требований к вычислительной мощности.

Реальность такова, что в упомянутой системе Биткоин осталось лишь небольшое число игроков, формирующих консенсус. По данным сайта Blockchain.info легко в этом убедиться.

Текущие данные по распределению вычислительных мощностей доступны по ссылке blockchain.info/pools. Как видим, реальное число игроков не превышает двух десятков, а доминирует всего 5-6. В случае Биткоина, более 80% вычислительных ресурсов сосредоточено в одной всем известной азиатской стране.

Такая ситуация открывает далеко не гипотетическую возможность манипуляций с блокчейном в интересах некоторой группы лиц. Но не только Биткоин, все текущие реализации информационных систем на основе блокчейна в той или иной мере страдают этим недостатком. Существующие и вновь предлагаемые методы доверия, такие как PoW, PoS, DPoS, PoA, PoB, PoC и т.п., тоже не избавлены от подобных проблем. Порой манипуляции «освящаются» большой частью пользователей системы, как это было в примере с откатом в Эфириуме для восстановления справедливости после кражи монет в крупном масштабе. Это не только привело к форку со стороны недовольных, но так же поставило под сомнение использование Эфириума как среды для смарт-контрактов. Лично я не рискнул бы полагаться на этот блокчейн для подтверждения, например, своих прав на квартиру или земельный участок.

Риски подмены данных


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

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

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

Возникает закономерный вопрос: можно ли обеспечить гарантированный уровень доверия без использования избыточных вычислительных мощностей и в условиях реальной централизации при создании цепочки блоков?

Круговая порука как разновидность консенсуса


Такой способ есть, он заключается в изменении принципа консенсуса. В настоящее время консенсус в блокчейне отдельной информационной системе является внутренним процессом.
А если заменить внутренний консенсус на внешний? Точнее не консенсус в первоначальном смысле, а шире, делегировать подтверждение доверия в другие информационные системы. Иными словами, отдельные и независимые друг от друга блокчейны добровольно обмениваются значениями хэшей текущих сформированных блоков. Полученные хэши могут размещаться в блоках в виде особых записей, особых транзакций. Это не потребует коренной перестройки алгоритмов работы блокчейн-систем, но позволит гарантировать доверие по принципу all-round bail. В вольном русском переводе это звучит как «круговая порука».



Такой добровольный обмен хэшами решает ряд проблем.

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

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

В-третьих, появляется возможность создания блокчейн-систем различной топологии, не ограничиваясь нынешней «плоской» Р2Р. Благодаря делегированию доверия можно создавать «многомерные» конструкции, например, иерархически-централизованные системы с единым центром формирования блоков. Это решит проблему низкой скорости транзакций, свойственную, скажем, Биткоину. Доступность различных топологических схем позволит внедрять технологию блокчейна в существующие корпоративные, общественные и государственные информационные системы без их кардинальной перестройки.

Можно еще перечислять перспективы, открывающиеся при внедрении механизма взаимного обмена хешами между независимыми блокчейнами, но особо отмечу возможность перехода на новое качество смарт-контрактов.

Близкими аналогами предлагаемого метода является система с permissioned blockchain (дочерними, зависимыми блокчейнами) в Эфириуме, а так же Exonum компании Bitfury Group.

Пример решения на принципе «круговой поруки»


Упомянутое решение по взаимному обмену хэшами между различными цепочками блокчейнов было разработано в рамках реализации проекта Business Trust Rating System. Проект еще не завершен, но на описанную выше ключевую технологию решения подана патентная заявка. Одновременно с упомянутым проектом ведутся работы над некоммерческим проектом, позволяющим обеспечить асинхронный обмен хешами между независимыми блокчейнами и создать механизм проверки доверия к любому блокчейну любым желающим.

В принципе, независимые блокчейны могут обмениваться хэшами текущих блоков непосредственно, как указано на рисунке:



Такая схема вполне возможна, но она имеет ряд ограничений.

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

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

В-третьих, не совсем очевиден процесс контроля за достоверностью данных со стороны пользователя.

Независимый центр обмена (DLT Trust) в виде некоммерческой и общественной организации способен нивелировать указанные проблемы. Принцип его работы достаточно прост. Какой-нибудь блокчейн A после формирования очередного блока отсылает его хэш в данный центр обмена и в ответ получает актуальные хэши других блокчейнов (B и C) на текущий момент. Полученные хэши блокчейн записывает в очередной блок в виде специальной транзакции. Таким образом, достигается распределенное хранение хэшей, продублированное по числу участников обмена.

В настоящее время рассматривается два варианта хранения: отдельная запись для каждого блокчейна или запись результирующего хэша, полученного по алгоритму дерева Меркла.



Механизм проверки достоверности хэша любого блока любого блокчейна прозрачен для пользователя, желающего удостоверится в неизменности данных в конкретном блоке. Для этого он отправляет запрос в систему DLT Trust, содержащий атрибуты интересующего его блока. Система по указанным атрибутам ищет подтверждение значения хэша выбранного блока в соответствующих блоках других блокчейнов. Если все совпадает, то пользователь получает сообщение о неизменности ранее записанных данных.

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

Комментарии (41)


  1. romkor
    25.09.2017 19:02

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


    1. AlexeyVPolunin Автор
      25.09.2017 19:07

      Я с вами согласен, и в статье, в самом начале, об этом говорится.
      Подчеркну, предлагаемый метод ориентирован не столько на публичные блокчейны криптовалют, сколько на частные блокчейны, которые уже сейчас начинают внедряться в компаниях и госструктурах.


    1. AlexeyVPolunin Автор
      25.09.2017 19:37

      Дополню свой предыдущий комментарий. Уточнил на blockchain.info, текущий размер блокчейна биткоина превышает 133 Гб, не считая индексов. У меня нет статистических данных, но с высокой степенью вероятности предположу, держателями большинства полных узлов являются владельцы майнерских ферм, входящих в тот или иной пул. Мне как-то сложно представить множество обычных пользователей, которые ради поддержки своего кошелька будут поднимать полный узел.


      1. sic
        25.09.2017 21:58
        +1

        Я вот держу полную ноду, хотя ни к майнингу отношения не имею, ни к огромному количеству биткоинов. Просто в целом как-то не особо мешает.


        1. AlexeyVPolunin Автор
          26.09.2017 10:01

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


  1. romkor
    25.09.2017 20:15

    Статистику по узлам можно посмотреть здесь bitnodes.21.co и здесь coin.dance/nodes. Видно, что большинство узлов расположено в Европе и США. Стоимость содержания полного узла не так велика с точки зрения объема — можно хранить только хеши блоков (режим prune), тогда объем данных будет 550 ГБ. Скорее проблемой для обычных пользователей может быть исходящий трафик.

    В принципе, в сообществе Биткоин пользователей регулярно звучат опасения, что текущее количество полных узлов (порядка 9k) недостаточное. Но, например, история активации Segwit -UASF которая была в августе, показывает, что если появляется угроза раскола сети то многие пользователи «подтягиваются» и запускают полные ноды. И инициатива пользователей с UASF является хорошим примером того, какую большую роль играет сеть полных нод Биткоина.


    1. AlexeyVPolunin Автор
      25.09.2017 20:38

      Спасибо за ссылки. По последним данным насчитывается более 17 млн кошельков в сети биткоина. Даже если учесть, что пользователь может иметь неограниченное число кошельков, то 9 тыс. полных узлов теряются на фоне остальных пользователей.
      Интересно, есть ли статистика по числу майнеров? Тогда можно было бы посмотреть корреляцию с числом полных узлов.


  1. rPman
    26.09.2017 11:30

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

    именно PoW и рост курса рывками привлекает и привлекает все новых пользователей в bitcoin.

    ничего лучше PoW (и может быть PoC) всякие pos, dpos и т.п. — не катят, потому как концентрируют монеты и влияние у ограниченного изначально круга лиц.


    1. AlexeyVPolunin Автор
      26.09.2017 12:08

      Эмиссия монет в биткоине это тоже транзакция, которая, по сути дела, также требует подтверждения.
      Повторюсь, предлагаемый метод ориентирован на частные блокчейны, в которых нет особого смысла развивать внутренний консенсус.


      1. rPman
        27.09.2017 22:18

        coinbase это транзакция, но весь смысл ее в том, кому и когда именно она передает монеты, именно хорошее распределение сделало криптовалюты такими интересными. Именно поэтому форки типа bitcoin share (и наверняка будущий bitcoin gpu) популярны и имеют такую высокую цену — потому что качественно распределены по сообществу.

        Частным блокчейнам за глаза хватит dpos (bitshares/steemit/golos) или проще — ledger consensus process (ripple)


        1. AlexeyVPolunin Автор
          27.09.2017 23:58

          Частным блокчейнам за глаза хватит dpos (bitshares/steemit/golos) или проще — ledger consensus process (ripple)

          Частные блокчейны вовсе могут обойтись без внутреннего консенсуса. Между кем в частном блокчейне нужно искать консенсус?


  1. awoland
    26.09.2017 13:35

    Консенсус нужен для защиты блокчейна от попыток внести неверные (фальсифицированные) данные со стороны его нод-участников. Данной опасности подвержен только публичный блокчейн со свободным доступом. Приватному блокчейну консенсус не нужен. «By design». Это для начала…
    Предлагаемая схема решения на основе «all-round bail», к сожалению, имеет не просто «ряд ограничений», но «ряд фундаметальных ограничений», которые не позволяют получить релевантный результат на основе данной технологии. Это в завершение…


    1. AlexeyVPolunin Автор
      26.09.2017 14:41

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


  1. awoland
    26.09.2017 15:11
    +1

    Вся «мякотка» второго абзаца второй части заключается во втором предложении этого абзаца. Это предложение, в свою очередь, делает полностью бессмысленным все последующие рассуждения о «кисельных берегах» приватного блокчейна. Клиентам банка блокчейн не нужен от слова совсем. Им нужны банковские услуги. А вот банкирам блокчейн нужен для минимизации издержек и накладных расходов. Буквально для того чтобы уволить всех операционисток и дармоедов из службы безопасности. Но если уволить дармоедов некому будет следить за «приватностью» приватного блокчейна и сисадмин Вася может запросто нарисовать туда пару «забалансовых» транзакций на сумму с многими нулями в свой кошелёк. Поэтому дармоедов увольнять всё же нельзя… А если им всё равно нужно платить, за то что они охраняют «приватность» блокчейна от Васи, то зачем вообще нужен такой приватный блокчейн? Смысл блокчейна заключается как раз в его публичности и в том что его защиту осуществляет сила толпы. А для этого толпу необходимо заинтересовать и дать ей стимул проявить свою силу.
    Фундаментальность ограничений, упомянутых вами же, вы с лёгкостью сможете рассмотреть сами, если уберёте из понятия блокчейна принцип приватности. Совсем. Поскольку приватный блокчейн сам по-себе лишён смысла.


    1. AlexeyVPolunin Автор
      26.09.2017 16:55

      Лично я не упоминал «фундаментальных» ограничений, это высказали Вы. Я лишь попросил привести пару примеров.
      Для того, чтобы не кормить банковский планктон и уберечься от Васи был и разработан предложенный метод. Проверка неизменности блокчейна, например, банка переносится в публичное пространство. Уже есть внедренные решения, когда частные или приватные блокчейны привязываются к публичным, к тому же биткоину или эфириуму. Почитайте, скажем, про Exonum. Предлагаемый метод решает эту задачу иначе.
      Частный блокчейн нужен не столько самому банку, сколько клиентам банка, дабы быть уверенными в невозможности возникновения забалансных счетов. Если продолжить примеры из банковской сферы, то следует вспомнить историю появления АСВ. Появление этого агенства реально успокоило клиентов банка, что даже в случае его банкротства они смогут вернуть свои вклады.
      Банку будет выгодно внедрять блокчейн и делать его надежным в глазах клиентов.


  1. YuryZakharov
    26.09.2017 18:20

    А кто помешает хорьку в DLT Trust подправить что-то в данных?
    Другими словами, откуда возьмется доверие к DLT Trust?


    1. AlexeyVPolunin Автор
      26.09.2017 19:02

      Данные не хранятся в DLT Trust, это лишь агрегатор, посредник. Его цель получить хэши от независимых блокчейнов и раздать им обратно результирующий хэш на определенный момент времени. Копии результирующих хэшей затем сохраняются в разных блокчейнах в виде, например, транзакций. В базе посредника сохраняется лишь информация о размещении результирующих хэшей в блокчейнах. Для удобства обслуживания запросов на проверку неизменности того или иного блока в любом блокчейне.
      Конечно, в базе посредника может храниться и сам результирующий хэш, особой нагрузки это не создаст. Но главная особенность это тот же эффект, как в публичных блокчейнах. Любой узел может перепроверить корректность любого блока. Здесь же любой блокчейн может перепроверить результирующие хэши как в самом DLT Trust, так и в партнерских блокчейнах.
      Как указывалось в статье, в принципе блокчейны могут обмениваться хэшами друг с другом напрямую, без посредника. Посредник в лице DLT Trust только упрощает взаимодействие, если число участников велико.


      1. YuryZakharov
        26.09.2017 21:33

        Спасибо.
        Попробую развить свою мысль.
        Есть три блокчейна, ими рулят Алиса, Боб и Ева, куда ж без неё.
        Ева путем махинаций изменила несколько блоков в своем блокчейне, сейчас не важно как. Спеша закрепить успех, она выгружает хэши во внешний блокчейн. Владелец (оператор) DLT в доле и вносит в поток данных соответствующие изменения. Самому ему ничего, естественно, хранить не нужно.
        Вопрос мой был — как Алиса и Боб могут доверять этому парню из DLT? Снова нужен механизм обеспечения доверия…

        Это все немного поверхностно и сильно утрировано, но идея, думаю, понятна.


        1. AlexeyVPolunin Автор
          26.09.2017 23:50

          Предложенный Вами сценарий невозможен, так как процесс привязан к вектору времени.
          Для упрощения рассмотрения предположим, что Алиса, Боб и Ева формируют блоки своих цепочек с одинаковым периодом, в одни и те же моменты времени.
          В момент времени Т-2 (Т это текущий момент времени) нашими героями были получены хэши блоков А-2, Б-2 и Е-2, которые они отправили парню в DLT Trust. Парень из принятых хэшей методом вычисления корня дерева Меркла получил результирующий хэш R-2. Этот хэш он сразу же разослал нашим героям, которые включили его в очередные свои блоки А-1, Б-1 и Е-1, сформированные в момент времени Т-1.
          В момент времени Т Ева решила изменить свой блок Е-2. В своей цепочке она это может сделать очень просто. Но при всем желании помочь Еве, парень из DLT Trust уже ничего не сможет поменять в результирующем хэше R-2, который был уже разослан всем остальным участникам в момент времени Т-2 и был включен в следующие блоки всех блокчейнов в момент Т-1. Даже если Ева спохватилась бы в момент Т-1 или сразу после отсылки своего хэша Е-2, то все равно уже ничего изменить было бы нельзя, так как ни у нее, ни у парня из DLT Trust нет машины времени. Как только хэш Е-2 оказался включен в результирующий хэш R-2 уже ничего нельзя подменить.


          1. awoland
            27.09.2017 07:52

            Про вектор времени очень интересное замечание. А кто обеспечит эталон этого времени? Это ещё одно (очередное) фундаментальное ограничение. Чем мерить будем? Скажу сразу, что всякие NTP заранее и изначально посылаются «на йуг»… Как и всевозможные DLT Trust. Каково решение данной проблемы?


            1. AlexeyVPolunin Автор
              27.09.2017 10:56

              Эталон времени не нужен, так как предполагается асинхронный режим работы. В статье об этом упоминается.
              Если вам не нравится или вы не доверяете DLT Trust, вы (ваш частный блокчейн) просто в нем не участвует в такой «круговой поруке». Колхоз дело добровольное.


              1. rPman
                27.09.2017 22:20

                вы не ответили на вопрос


                1. AlexeyVPolunin Автор
                  27.09.2017 23:53

                  На какой? О времени? Я считаю, что ответил, если автор вопроса не переспросил.


          1. andreyverbin
            27.09.2017 10:56

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

            То есть в момент времени T, может выясниться, что в T-2 существовало две версии блокчейна Евы (и это нормально) и «выиграла» не та, что была послана в DLT Trust.
            1. Как DLT Trust обновит другие блокчейны?
            2. Как DLT Trust отличит ситуация форка сети от злонамеренный действия Евы?


            1. AlexeyVPolunin Автор
              27.09.2017 11:07

              Метод был разработан для повышения доверия к частным блокчейнам. В общем случае, в таких блокчейнах нет состязательности при формировании цепочки. Она там не нужна, мне сложно представить ситуацию, когда, например. в корпоративной информационной системе потребуется применение, скажем, PoW для достижения внутреннего консенсуса.
              Тем не менее даже в случае использования внутреннего консенсуса блокчейн может участвовать во взаимном обмене хэшами через DLT Trust. Важно помнить, сам DLT Trust выступает как посредник, что вы прислали, то он и растиражировал. Поэтому выбор какой хэш отправить зависит только от самого блокчейна.
              Так как режим работы асинхронный, то ничто не мешает отправлять в систему хэш блока, который не входит в последние n блоков, чья судьба пока не ясна. В таком случае возникнет определенная задержка, но принципиально ничего не изменится.


              1. andreyverbin
                27.09.2017 23:28

                Если мы говорим о частном блокчейне (permissioned blockhain), то в нем должны участвовать только компоненты, которым можно доверять. Если в схему добавить DLT Trust, то нужно доверять DLT Trust, потому что от него приходят хеши, которые надо записать в свой блокчейн.

                Важно помнить, сам DLT Trust выступает как посредник, что вы прислали, то он и растиражировал.

                Это вы утверждаете, но почему я должен этому доверять?


                1. AlexeyVPolunin Автор
                  27.09.2017 23:52

                  DLT Trust не является часть частного блокчейна. Информация, полученная от DLT Trust заносится в блокчейн средствами этого блокчейна.
                  Насчет доверия я пишу ниже


                  1. andreyverbin
                    28.09.2017 12:21

                    Вот владею я блокчейном, и DLT Trust присылает мне хеш и предлагает этот хеш записать. Видимо мне этот хеш нужен для принятия каких-то очень важных решений, иначе я бы с DLT Trust не связывался. Но вот проблема — у меня нет никаких гарантий, что присланный хеш не является попыткой ввести меня в заблуждение. Если я стану сам проверять хеши, то мне не нужен DLT Trust, если не стану, то у меня нет никаких гарантий, кроме утверждения DLT Trust о том, что все ок.

                    Повторю, DLT Trust никоим образом не проверяет корректность вычисления хэшей очередных блоков ни в одном из блокчейнов, которые обслуживает. Его первая функциональная задача: обеспечить взаимный обмен хешей. Ответственность за корректность присылаемых хэшей лежит блокчейне.

                    А что если злобный хакер взломал DLT Trust и может по своему усмотрению посылать кому-надо какие угодно хеши?

                    Доверие к кому-нибудь или к чему-нибудь в подавляющем большинстве случаев обычно формируется в два этапа. Априори некто считает DLT Trust достойным доверия. Свое мнение он может формировать за счет косвенных факторов, например, отзывы знакомых.

                    Блокчейн совершает революцию в финансах как раз потому, что убирает «доверенных» участников и связанные с ними процессы с рынка. Вместе с этим исчезнут мириады посредников и регуляторов, которые затрудняют сделки и увеличивают стоимость. Примеры:
                    — Центробанки;
                    — Депозитарии, хранящие информацию о ценных бумагах;
                    — Биржи, гарантирующие исполнение обязательств;
                    — SWIFT, VISA и прочие
                    — Escrow сервисы
                    — и т.д.

                    Я не берусь ничего утверждать, но с моей колокольни кажется, что введение механизма вроде DLT Trust это шаг назад. Неизбежно затем индустрии понадобится специальный регулятор, который будет следить за тем, чтобы организации подобные DLT Trust не обманывали своих клиентов и вели себя «правильно» и мы вернемся к тому, с чего начинали.

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

                    Если я технически могу это сделать, то смысл мне работать с DLT Trust?

                    Я думаю, что предлагаемый механизм может быть полезен в виде open source библиотеки, которую организации могут использовать по своему усмотрению. DLT Trust как организация вызывает сомнения.


                    1. AlexeyVPolunin Автор
                      28.09.2017 13:36

                      Ваш комментарий показал, что Вы не полностью поняли и смысл метода, и его механизм. Вполне вероятно, что я просто плохо объяснил это в статье.
                      Ваши вопросы можно разбить на 2 группы.
                      1. Нужен ли вообще обмен хэшами?
                      2. Почему обмен хэшами должен идти через DLT Trust?
                      Попробую ответить, хотя это я пытался сделать в самой статье.
                      1. Обмен хэшами дело добровольное. Речь идет о частных, приватных блокчейнах, а не о публичных, вроде биткоина или эфириума. В частном блокчейне, как правило, нет процесса консенсуса. Если даже он есть, то его достижение не обусловлено мощью доказательства как в публичных блокчейнах. Поэтому данные изолированного частного блокчейна могут быть модифицированы в любой момент времени и при этом обеспечена целостность цепочки. Такая ситуация не добавляет доверия к информации, записанной в блокчейн. Как известно, одной из важнейших характеристик блокчейна является гарантия неизменности ранее записанной информации. Ради этого все и затевалось.
                      У частного блокчейна есть лишь один способ показать свою надежность в глазах пользователей. Например, вкладчикам банка, если блокчейн принадлежит банку. Этот способ связан с передачей хэшей блоков в доверенную среду в глазах клиента. Сейчас уже существуют подобные решения, например, упоминавшееся в статье решение Exonum компании Bitfury. Его предназначение вроде бы ни у кого не вызывает сомнений.
                      Предлагаемый метод «круговой поруки» решает ту же задачу, но немного по другому. В нем нет привязки к публичному блокчейну. Доверие достигается за счет массового тиражирования результирующего хэша среди независимых частных блокчейнов. Клиент банка всегда может перепроверить честность блокчейна банка, запросив данные из нескольких независимых от этого банка блокчейнов. Владелец же блокчейна банка может перепроверить честность DLT Trust, перепроверив свои хэши в независимых блокчейнах.
                      2. Как я уже указывал, независимые блокчейны вполне могут обмениваться хэшами текущих блоков непосредственно друг с другом, без всяких посредников в лице DLT Trust. Алгоритм практически останется тем же. Усложнится только реализация такого обмена и реализация контроля.
                      Еще раз подчеркну, что речь идет о сервисе для частных блокчейнов.


            1. awoland
              27.09.2017 11:07

              Да фиг с ней с Евой… Гораздо хуже, когда у Мэллори напару с её подругой Труди есть целый набор из N версий блокчейнов… И они манипулирует ими исходя из своих корыстных интресов.
              И какую роль в этой схеме играет DLT Trust? Если его функции сводятся к роли Трента, то вся обсуждаемай схема является запутанным и усложнённым вариантом классического PKI. Чем функции DLT Trust отличаются от функций традиционного CA?


              1. AlexeyVPolunin Автор
                27.09.2017 11:19

                Вероятно вы для вопроса нажали не на той ветке. Чуть выше вашего комментария дан ответ на этот вопрос. Повторю: Важно помнить, сам DLT Trust выступает как посредник, что вы прислали, то он и растиражировал. Поэтому выбор какой хэш отправить зависит только от самого блокчейна.


                1. awoland
                  27.09.2017 12:03

                  Я нажал на той ветке… Т.е. DLT Trust не выполняет никаких проверок и не несёт трастового функционала? По какой причине, в таком случае, приватные блокчейны могут доверять информации, которую он транслирует?


                  1. AlexeyVPolunin Автор
                    27.09.2017 14:33

                    DLT Trust предназначен для выполнения той функциональности, которая заявлена. Не надо ее расширять своими предположениями.
                    Повторю, DLT Trust никоим образом не проверяет корректность вычисления хэшей очередных блоков ни в одном из блокчейнов, которые обслуживает. Его первая функциональная задача: обеспечить взаимный обмен хешей. Ответственность за корректность присылаемых хэшей лежит блокчейне.
                    Доверие к кому-нибудь или к чему-нибудь в подавляющем большинстве случаев обычно формируется в два этапа. Априори некто считает DLT Trust достойным доверия. Свое мнение он может формировать за счет косвенных факторов, например, отзывы знакомых.
                    На втором этапе, апостериори, некто может убедиться на собственном опыте, что DLT Trust достоин доверия. Отсюда вытекает вторая функциональная задача DLT Trust: предоставление механизма контроля. Любой легитимный пользователь, в том числе владелец частного блокчейна, имеет возможность перепроверить всю информацию, касающуюся его блокчейна. Другими словами, он всегда имеет возможность убедиться, что значение хэшей его блоков, переданные в DLT Trust, не были изменены перед рассылкой в другие блокчейны.


  1. KaIN389
    28.09.2017 05:34

    Описанный метод на «круговой поруке» хорошо коррелирует с тем что описывал в Доказательство на лицо (PoF)

    Условная схожесть в том, что также предлагается подход «услуга за услугу», которая оставляет реестры организаций там где они и должны быть, т.е. у них. И в то же время не позволяет вносить правки в реестр.


    1. AlexeyVPolunin Автор
      28.09.2017 07:32

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


      1. andreyverbin
        28.09.2017 12:23

        Логика такая
        1. Криптовалюты нужны чтобы были майнеры
        2. Майнеры нужны чтобы реализовать PoW
        3 PoW нужен для достижения консенсуса и масштабирования сети на тысячи узлов

        Альтернатива это BFT алгоритмы, но у них есть проблемы с масштабируемостью, там иногда возникает n^2 запросов для подтверждения операции (n — число узлов).


        1. AlexeyVPolunin Автор
          28.09.2017 13:06

          Ваша логика работает верно для случая публичного блокчейна. В общем случае для частного блокчейна, например, банка совершенно не нужен процесс получения консенсуса. Между кем внутри частного блокчейна будет находиться согласие о выборе продолжения цепочки?


          1. andreyverbin
            28.09.2017 14:14

            Ваша логика работает верно для случая публичного блокчейна.

            Все верно, криптовалюты нужны только для PoW, если его нет, то и валюта не нужна.

            В общем случае для частного блокчейна, например, банка совершенно не нужен процесс получения консенсуса.

            Еще как нужно, иначе один узел считает что Вася деньги потратил, а другой нет.

            Между кем внутри частного блокчейна будет находиться согласие о выборе продолжения цепочки?

            Между узлами блокчейна, конечно. Механизмы достижения согласованного состояния могут быть разными. Мoжет быть PoW (и тогда нужна криптовалюта) может быть BFT (и тогда вопрос масштабирования на много узлов).


            1. AlexeyVPolunin Автор
              28.09.2017 14:36

              Еще как нужно, иначе один узел считает что Вася деньги потратил, а другой нет.

              Весь вопрос в применении технологии блокчейна в информационной системе банка. Если ее построение предполагается по принципу, например, биткоина, то да, консенсус нужен. Впрочем, так как все узлы банка находятся административно в одних руках, то качество консенсуса может оказаться как в старом анекдоте позапрошлого века:
              Купец нанимает бухгалтера.
              Задает вопрос первому претенденту: Сколько будет 2х2? Претендент честно отвечает: 4. Купец его выгоняет. Следующий отвечает 3, тоже выгоняют и т.д.
              Собеседование прошел кандидат, давший ответ: А сколько вам надо?

              Поэтому, что есть консенсус в частном блокчейне, что его нет, доверия к такому консенсусу априори не может быть. Доверие возникнет, если копии значений хэшей блоков частного консенсуса будут иметь копии в независимых местах.


              1. andreyverbin
                28.09.2017 16:51

                Впрочем, так как все узлы банка находятся административно в одних руках, то качество консенсуса может оказаться как в старом анекдоте позапрошлого века:

                В этом случае вам хватит БД и она будет работать на порядок лучше чем блокчейн. Блокчейн имеет смысл как хранилище, которому несколько разных институтов (компаний, людей) могут доверять. А если как вы говорите, то блокчейн это просто тормозная, неудобная и дорогая в эксплуатации база данных.


                1. AlexeyVPolunin Автор
                  28.09.2017 18:08

                  Блокчейн имеет смысл как хранилище, которому несколько разных институтов (компаний, людей) могут доверять.

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

                  Я уже об этом упоминал в каком-то комментарии, что DLT Trust никак не влияет на внутреннюю работу частного блокчейна. Он лишь предоставляет каждому блокчейну одинаковый пакет данных. Не думаю, что одна дополнительная (и очень короткая, в текущей реализации 46 байт) запись в каждый блок сделает частный блокчейн тормозным, неудобным и дорогим.