МОНИТОРИНГ БЛОКЧЕЙНА
BLOCKCHAIN MONITORING

Настоящее изобретение касается блокчейна. В частности, изобретение касается мониторинга блокчейна на предмет его достоверности.
Уровень техники
Под блокчейном вообще понимается распределенный банк данных, содержимое которого защищено криптографической цепью от позднейших манипуляций. Сохраняемый в памяти набор данных посредством криптографического хеш-значения связан с набором данных, предшествующим во времени. Эти наборы данных децентрализованно хранятся в нескольких узлах и реплицируются между узлами.
Пока сумма обрабатывающих мощностей (производительностей) участвующих узлов больше обрабатывающей мощности атакующего, блокчейн защищен от неприятельского переноса данных и последующей манипуляции. Благодаря высокой достижимой надежности блокчейны применяются, например, для криптовалют, таких как биткоин. Также посредством блокчейнов все чаще защищаются контракты в виде умных контрактов, которые могут касаться обычных жизненно важных обстоятельств. При этом защищенное посредством блокчейна экономическое или информационно-технологическое значение может быть значительным. Поэтому желательно распознавать, может ли какой-либо блокчейн гарантировать требуемую надежность или нет.
Tang Yuzhe et al.: "Social-Aware Decentralization for Secure and Scalable Multi-party Computations", 2017 IEEE 37TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS WORKSHOPS (ICDCSW), IEEE, 5. июня 2017 (2017-06-05), стр.246-251, касается выбора узлов распределенной вычислительной сети на базе социальных отношений между узлами.
US 2016/275461 A1 предлагает подвергать проверке неизвестный узел, прежде чем он будет допущен к транзакции как часть блокчейн-сети.
В основе изобретения лежит задача, предоставить технологию для мониторинга блокчейна. Изобретение решает эту задачу посредством предметов независимых пунктов формулы изобретения. Зависимые пункты формулы изобретения воспроизводят предпочтительные варианты осуществления.
Раскрытие изобретения
Способ мониторинга блокчейна включает в себя этапы оценивания некоторой характеристики некоторой физической инфраструктуры, которая лежит в основе блокчейна; сравнения определенной оценки с некоторым предопределенным параметром; и выдачи сигнала, в случае если оценка меньше этого преопределенного параметра. При этом указанная инфраструктура включает в себя несколько узлов, которые связаны друг с другом посредством сети, и указанная характеристика включает в себя некоторый структурный параметр, который касается инфраструктуры, ее конфигурации или загруженности.
В основе изобретения лежит тот обнаруженный факт, что блокчейн образует нераздельную комбинацию способа с физической инфраструктурой, и надежность или доступность блокчейна могут в решающей степени ухудшаться, когда преопределенная характеристика инфраструктуры больше не удовлетворяет некоторому лежащему в основе допущению. Характеристика включает в себя обычно некоторый структурный параметр, который обычно касается инфраструктуры, ее конфигурации или загруженности.
Инфраструктура включает в себя обычно узлы, которые образуют физические обрабатывающие платформы (вычислительные устройства, компьютеры, аппаратное обеспечение) для выполнения какого-либо способа, а также сеть. В частности, следует распознавать, когда первоначально децентрализованно созданная или спроектированная инфраструктура становится централизованной. В этом случае выход из строя или неприятельский перенос данных центрального узла мог бы привести к пониженной доступности или к манипуляции третьими лицами.
Поэтому предлагается мониторить инфраструктуру, чтобы иметь возможность делать заключение о надежности блокчейна или, соответственно, выдавать сигнал или сигнал тревоги, в случае если больше не обеспечена надежность по некоторому предопределенному стандарту. Этот стандарт может выбираться в зависимости от применения блокчейна и выражаться в виде параметра или набора нескольких параметров.
Благодаря этому можно распознавать, когда взаимодействие с блокчейном идет через «фиктивную инстанцию», то есть узел, который не в достаточной мере является одним из многих аналогичных и равноправных узлов. Такая инстанция может возникать, когда инфраструктура недостаточно обслуживается или поддерживается, или когда этот блокчейн стал непопулярным. Благодаря этому распознаванию может, в частности, предотвращаться осуществление критической транзакции в недостаточно достоверном блокчейне.
Так как в общем никакого центрального контроля инфраструктуры блокчейна нет, а инфраструктура создается взаимодействующими друг с другом участниками децентрализованным и самоорганизующимся образом, нельзя также надежно предсказать, как будет выглядеть эта инфраструктура в определенный момент времени. Путем текущего определения по меньшей мере одной характеристики может выполняться оценка инфраструктуры.
Оценка характеристики представляет собой в итоге отображение некоторого системного свойства инфраструктуры в количественно оцененном значении для обеспечения возможности сравнения с указанным или указанными параметрами. Преобразование некоторой характеристики в некоторое значение может осуществляться различными способами. Если характеристика включает в себя, например, некоторое численное значение, то это значение может переноситься, масштабироваться или располагаться в одной из нескольких предопределенных областей (классифицироваться). Если характеристика включает в себя некоторый геометрический или в географическом смысле топологический параметр, то для получения количественно оцененного значения может применяться морфологический или статистический подход. В других вариантах осуществления возможна также однократная или многократная интеграция или дифференциация или трансформация, например, дискретное преобразование Фурье или Z-преобразование, временного развития характеристики.
Предпочтительно оцениваются несколько физических характеристик и сравниваются с соответствующими параметрами. При этом характеристики и параметры могут в каждом случае образовывать вектор, причем эти векторы сравниваются друг с другом. Далее, несколько характеристик могут соответственно масштабироваться и складываться для получения взвешенной суммы, которая может сравниваться с некоторым предопределенным пороговым значением. Предпочтительно сигнал выдается уже, когда одна из оценок меньше соответствующего параметра.
В этом документе исходят из того, что численно оцененная как большая характеристика должна оцениваться как положительная в отношении надежности или доступности инфраструктуры. Однако обратный образ подхода тоже возможен; тогда сигнал должен выдаваться, в случае если оценка не достигает данного параметра.
У блокчейна узел соответствует обычно какому-либо вычислительному устройству, какому-либо комплексу вычислительных устройств или вообще обрабатывающему блоку, который может выполнять транзакцию в блокчейне, в частности для привязки к блокчейну некоторого блока данных. Узел физически представлен аппаратным обеспечением, без которого не может осуществляться обработка.
Далее представляются некоторые характеристики, влияния которых на надежность или доступность блокчейна могут оцениваться.
Например, характеристика может включать в себя некоторое количество активных узлов инфраструктуры. Узел может считаться активным, в случае если он получает или, соответственно, запрашивает данные подлежащих подтверждению транзакций, или если им могут запрашиваться транзакции. Если, например, используемая для передачи данных транзакций ширина полосы или количество передаваемых данных транзакций в единицу времени опускается ниже некоторого предопределенного порогового значения, то узел может считаться неактивным. Так может непосредственно оцениваться, сколько узлов участвуют в поддержании блокчейна. Чем больше узлов поддерживают блокчейн, тем больше могут быть надежность или доступность блокчейна.
Характеристика может включать в себя некоторое количество успешных узлов инфраструктуры. Чтобы выполнить транзакцию в банке данных блокчейна, несколько узлов могут решать по одной сложной криптографической или математической задаче. Узел, который первым решает эту задачу, считается успешным и может получать вознаграждение. Узел может считаться успешным, когда он первым решает некоторую предопределенную долю поставленных ему (или в целом) заданий, или когда число решенных им заданий в единицу времени превышает некоторое предопределенное пороговое значение. Неуспешные узлы могут вносить только небольшой вклад или совсем не вносить вклад в надежность блокчейна, так как их обрабатывающая мощность затмевается другими узлами. Чем больше успешных узлов поддерживают блокчейн, тем больше могут быть надежность или доступность блокчейна.
Характеристика может включать в себя децентрализацию успешных узлов инфраструктуры. Чем больше децентрализация, тем ниже разность между числами успехов в единицу времени отдельных узлов при решении математических задач. Наоборот, децентрализация уменьшается, когда разность между числами успехов в единицу времени узлов увеличивается. Число успехов узла представляет собой количество поставленных зада, которые этот узел решил первым. Числа успехов узлов в единицу времени могут представляться в гистограмме. Чем ниже разности отнесенных к отдельным классам (англ.: bins) частостей, тем больше децентрализация. Другие статистические подходы к распределению тоже возможны. Если, например, первый узел имеет 1000 успехов в минуту, а несколько других узлов только 50-100 успехов в минуту, то децентрализация может быть ниже, чем когда все узлы имеют 80-100 успехов в минуту.
Характеристика может включать в себя географическую децентрализацию узлов. При этом вышеописанная децентрализация может относиться к географическому распределению узлов. В вариантах при этом подходе могут всегда рассматриваться только активные и/или только успешные узлы. Иначе выражаясь, может определяться, как равномерно распределены участвующие в блокчейне узлы по какому-либо географическому региону. Чем равномернее распределение, тем выше децентрализация. Географическое место узла может, например, оцениваться путем анализа адресных данных сети, используемой для поддержания связи. Приблизительное географическое место узла может, например, с некоторой надежностью определяться на базе IP-адреса (IP: Internet Protocol, интернет протокол).
Характеристика может включать в себя в целом имеющуюся в распоряжении обрабатывающую мощность всех узлов. Чем выше эта общая обрабатывающая мощность, которая также называется хеш-силой, тем больше должна бы быть обрабатывающая мощность для успешной атаки третьего лица. Обрабатывающая мощность узла связана с его стоимостью, так что большая хеш-сила узла блокчейна делает успешную атаку дорогостоящей и вместе с тем невероятной.
Характеристика может касаться имеющейся в целом в распоряжении обрабатывающей мощности в отношении узлов инфраструктуры. Чем равномернее хеш-сила распределена по отдельным узлам, тем больше могут быть обусловленная инфраструктурой надежность или доступность. В одном из усовершенствований характеристика может касаться географического распределения хеш-силы.
Характеристика может также определяться опосредствованно на базе транзакций в блокчейне. Например, могут рассматриваться количество транзакций на каждый блок; количество пользователей, которые начинают транзакции; или количество активных умных контрактов. Умный контракт может считаться активным, если подтверждаются действующие транзакции, которые могут ставиться в соответствие умному контракту, т.е. могут успешно подтверждаться этим умным контрактом как достоверные. Умный контракт может также считаться активным, когда количество транзакций в единицу времени превышает некоторое предопределенное пороговое значение.
В другом варианте осуществления создается график изменения оценки в зависимости от времени, причем на базе этого графика изменения определяется некоторая производная величина. В частности, может определяться скорость изменения, ее изменение или величина некоторого стандартного отклонения. Чем больше одно из этих значений, чем менее положительно могут оцениваться надежность или доступность инфраструктуры. В других вариантах осуществления могут также рассматриваться скачок или колебание какой-либо характеристики.
В одном из усовершенствований на базе графика изменения оценки в зависимости от времени может предсказываться недостижение ею указанного параметра. Например, может выполняться трендовый анализ, например, на базе линейной регрессии. Сигнал может выдаваться уже тогда, когда недостижение параметра угрожает через период времени, который короче предопределенного.
Устройство для мониторинга блокчейна включает в себя интерфейс для соединения с по меньшей мере одним узлом блокчейна; интерфейс для выдачи сигнала; и обрабатывающее устройство для выполнения описанного здесь способа. Соединение с узлом может, в частности, осуществляться через сеть.
Вышеописанные свойства, признаки и преимущества этого изобретения, а также каким образом они достигаются, становится яснее и отчетливее понятно в контексте последующего описания примеров осуществления, которые поясняются подробнее со ссылкой на чертежи, при этом изображено:
фиг.1: система, имеющая блокчейн в одном из вариантов осуществления;
фиг.2: блок-схема примерного способа мониторинга блокчейна; и
фиг.3: изображения характеристик двух фиктивных блокчейн-инфраструктур.
На фиг.1 показана система 100, которая реализует блокчейн 105, например, биткоин или эфириум. Блокчейн 105 включает в себя распределенную инфраструктуру 110, которая совместно или, соответственно, в нескольких инстанциях выполняет блокчейн-способ (не изображено). Инфраструктура 110 включает в себя несколько узлов 115 (англ.: miner, майнер), которые связаны друг с другом посредством сети 120. Каждый узел реализован по меньшей мере одним физическим обрабатывающим устройством. Сеть 120 может причисляться к инфраструктуре 110 или рассматриваться как лежащая в основе служба.
Устройство 125 включает в себя обрабатывающее устройство 130, первый интерфейс 132, а также опционально второй интерфейс 135 и/или запоминающее устройство 140. Первый интерфейс 132 предпочтительно соединен с сетью 120, чтобы иметь возможность наилучшим образом поддерживать связь с одним из узлов 115. Предпочтительно достижимы несколько узлов 115, один из которых может выбираться для поддержания связи. Для поддержания связи может использоваться протокол связи блокчейна, транспортный протокол сети 120 (например, TCP/IP) или какой-либо другой протокол.
В одном из вариантов осуществления в одном или нескольких из узлов 115 выполняется в каждом случае процесс, который через сеть 120 предоставляет параметры узла 115. К этим параметрам могут, в частности, причисляться имеющаяся или задействованная обрабатывающая мощность или другой относящийся к блокчейну 105 транзакционный или обрабатывающий параметр узла 115.
Устройство 125 может быть предназначено для того, чтобы вызывать транзакцию в блокчейне 105, проверять или заставлять оповещать себя о транзакции. С этим может быть связана какая-либо служба, какой-либо способ или какое-либо предложение, которое должно защищаться посредством блокчейна 105. Надежность службы может зависеть от наличия у блокчейна 105 предопределенной степени доступности или надежности.
Предлагается посредством устройства 125 проверять предпосылки инфраструктуры 110 к гарантии доступности или надежности блокчейна 105.
Устройство 125 предпочтительно предназначено для того, чтобы посредством поддержания связи с одним или несколькими узлами 115 или путем наблюдения за поддержанием связи одним или несколькими узлами 115 определять характеристику, которая отличает инфраструктуру 110 блокчейна 105. Далее, устройство 125 предпочтительно предназначено для того, чтобы оценивать эту характеристику, при этом оно присваивает ей некоторое предпочтительно численное значение и сравнивает это значение с некоторым предопределенным параметром 145. Если сравнение оказывается отрицательным, то есть определенное значение не лежит с желаемой, предопределенной стороны от этого параметра, то через интерфейс 135 может выдаваться сигнал. При этом определение и оценка характеристики, а также сравнение с параметром 145 выбраны так, чтобы этот сигнал указывал, что предопределенное свойство инфраструктуры 110 больше не действительно или обещает стать больше не действительным, так что надежность и/или доступность блокчейна 105 могут быть в опасности.
Устройство 125 работает предпочтительно только в инфраструктуре 110 блокчейна 105. Надежностный анализ выполняющегося в узлах 115 блокчейн-способа должен был бы также выполняться независимо от этого, но не является предметом настоящего изобретения. Описанная здесь функциональность устройства 125 может быть также альтернативно реализована как самостоятельная службы на облачной платформе. Далее, эта служба может также работать в одном из узлов 115.
На фиг.2 показана блок-схема примерного способа 200 мониторинга блокчейна 105. Способ 200 предназначен, в частности, для выполнения на устройстве 125 с фиг.1 и более предпочтительно на его обрабатывающем устройстве 130, которое, например, может включать в себя программируемый микрокомпьютер или микропроцессор. Способ 200 может иметь вид компьютерного программного продукта, имеющего средства программного кода. Признаки и преимущества способа 200 могут относиться к устройству 125, или наоборот.
На этапе 205 могут регистрироваться один или несколько параметров 145, которые предпочтительно могут быть выбраны в зависимости от службы, которая должна защищаться посредством блокчейна 105.
На этапе 220 могут определяться один или несколько узлов 115, которые включены в инфраструктуру 110. На этапе 215 один или несколько из определенных узлов 115 могут опрашиваться. Опрашивание может осуществляться активно, когда поддерживается связь с узлом 115, или пассивно, когда определяется информация об узле 115. Далее, на этапе 220 могут определяться или наблюдаться одна или несколько транзакций, которые выполняются в блокчейне 105. На этапе 225 может определяться информация о поддержании связи одного или нескольких узлов 115. Она может касаться, например, используемой для нужд блокчейна 105 ширины полосы, количества или частости определенных сообщений или адресной информации узла 115 или поддержания связи с узлом 115. Определенная информация может на этапе 230 закладываться в запоминающее устройство 140 и/или приводиться в контекст с ранее заложенной там информацией. Следует учитывать, что некоторые из указанных этапов 210-230 могут также осуществляться в другой последовательности, многократно и/или с разной частотой.
Определенная информация оценивается на этапе 235, при этом информации, которая указывает на предопределенную характеристику инфраструктуры 110, присваивается количественно сравнимое, предпочтительно численное значение. На этапе 240 одна или несколько оценок сравниваются с одним или несколькими параметрами 145. К примеру, исходят из того, что высокая оценка характеристики указывает на положительное влияние инфраструктуры 110 на надежность или доступность блокчейна 105, а более низкая оценка на менее положительное влияние. Поэтому мера надежности и/или доступности блокчейна 105 могут определяться на основе определенной или определенных оценок.
Если на этапе 240 было определено, что указанное значение лежит ниже параметра 145, на этапе 245 может выдаваться сигнал, в частности через интерфейс 135. Если несколько оцененных характеристик сравнивались с несколькими параметрами 145, то этот вид сравнения может показывать, будет ли выдаваться сигнал уже при недостижении соответствующего параметра только одним значением или нет. В одном из вариантов осуществления рассматриваются несколько характеристик, и их отклонения взвешенным образом суммируются. Только когда эта сумма превышает некоторое предопределенное, другое пороговое значение, может выдаваться сигнал.
Сигнал может быть обращен к человеку и подаваться, например, оптически, акустически или гаптически. Но сигнал может также включать в себя информацию, которая нацеливается на человека, способ или процесс. Для этого сигнал может предоставляться, например, в виде электрического переключающего сигнала, в виде переключающего контакта, в виде предупреждающей лампочки, в виде указания на дисплее или же в виде сообщения, например, SNMP-ловушки, MQTT-сообщения или через OPC UA.
Также проверочная информация или найденные характеристики может закладываться или, соответственно, сохраняться в регистрационном банке данных или блокчейне 105. Предпочтительно записи защищаются криптографической контрольной суммой (цифровая подпись, сообщение с кодом подтверждения подлинности) устройства 125. Это позволяет также позднее проверять, была ли в известный прошедший момент времени или, соответственно, период времени выполнена необходимая структурная уставка в виде действующего набора параметров. В зависимости от этого обстоятельства транзакции, подтвержденные в этот период времени в блокчейне 105, могут обрабатываться как действительные или недействительные или, соответственно, неподтвержденные.
В усовершенствованиях могут быть заложены несколько параметров 145 или, соответственно, наборов параметров для различных служб или различными пользователями блокчейн-инфраструктуры 110. Соответственно этому могут предоставляться различные сигналы, которые соотнесены каждый одному из наборов параметров. При этом могут также предоставляться сигналы различной срочности, когда, например, надежность или доступность инфраструктуры 110 ухудшается постепенно.
В частности, сигнал может аналитически оцениваться службой, которая должна защищаться блокчейном 105, или каким-либо компонентом, осуществляющим надзор за этой службой. При наличии сигнала может, например, инициироваться предопределенная транзакция в блокчейне 105 или намеренно останавливаться транзакции в блокчейне 105.
Если, в отличие от этого, на этапе 240 было определено, что не должен выдаваться сигнал, то уже выданный сигнал может удаляться или отменяться на этапе 250. После этого способ 200 может возвращаться к началу и выполняться заново.
Способ 200 может осуществляться непрерывно или с предопределенным тактом, например, ежечасно или ежедневно.
Хотя изобретение было подробнее проиллюстрировано и описано в деталях на предпочтительном примере осуществления, изобретение не ограничено раскрытыми примерами, и специалистом могут выводиться отсюда другие варианты без выхода из объема охраны изобретения.
На фиг.3 показаны изображения выбранных характеристик двух фиктивных инфраструктур 110 блокчейна 105. Первое изображение 305 касается инфраструктуры 110, на базе которой может реализовываться надежный, доступный и достоверный блокчейн 105. Второе изображение 310 касается инфраструктуры 110, которая затрудняет или препятствует реализации надежного, доступного и достоверного блокчейна 105.
В основу обоих изображений 305, 310 для примера положена географическая карта местности, которая в качестве примера включает в себя Европу. Показанные на чертеже вертикальные полоски соответствуют примерным характеристикам отдельных узлов 115 данной инфраструктуры 110. Положения полосок могут указывать местонахождение соотнесенных узлов 115.
Длина изображенных полосок может отражать следующие показатели узла 115:
- доступная или задействованная обрабатывающая мощность;
- доступная или задействованная ширина полосы сети;
- количество выполняемых транзакций в единицу времени;
- количество успехов в единицу времени;
- количество пользователей, которые начинают транзакции на этом узле 115, в единицу времени; или
- количество активных умных контрактов.
Изображенная на первом изображении 305 инфраструктура 110, применительно к преопределенным параметрам или при сравнении с инфраструктурой 110 второго изображения 310, может оцениваться как положительная, потому что:
- узлы 115 локально распределены относительно равномерно;
- это локальное распределение покрывает большую область;
- узлы 115 установлены в большом числе различных стран;
- изображенный полосками показатель не слишком сильно варьируется по узлам 115; или
- сумма этого показателя по всем узлам 115 большая.
По соответствующим причинам показанная на втором изображении 310 инфраструктура 110 может оцениваться как менее положительная или даже отрицательная в отношении ее влияния на надежность или доступность блокчейна 105.