Проект "ИТ-Защита"

                Г.Г. Маньшин, В. А. Артамонов,  Е.В. Артамонова

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ  БЛОКЧЕЙН

Введение.

Большинство высокоразвитых в научном, промышленном и технологическом отношении стран относятся к экономикам V и VI технологических укладов. Технологический уклад  - это несколько взаимосвязанных и последовательно сменяющих друг друга поколений техники, эволюционно реализующих общий технологический принцип. Технико-экономическая парадигма уклада  - это сфера производства и экономических отношений со всеми присущими ей явлениями (распределением доходов, технологиями производств, организационными и управленческими методами, банковскими и финансовыми технологиями). При этом под ключевыми факторами  понимаются технологические нововведения, определяющие формирование ядра технологического уклада. Отрасли, интенсивно использующие ключевой фактор и играющие ведущую роль в распространении нового технологического уклада, являются несущими отраслями.

     Не вдаваясь в детальный характер выше упомянутых технологических укладов, отметим ключевой фактор им присущий – это когда несущей отраслью является цифровая экономика. Примером применения  цифровой экономики в деловой, финансово–кредитной и банковской сфере является информационно–коммуникационная технология (ИКТ) блокчейн.  Википедия определяет блокчейн (англ. blockchain или block chain) как выстроенную по определённым правилам непрерывную последовательность цепочки блоков (связный список), содержащих информацию. Чаще всего копии цепочек блоков хранятся на множестве разных компьютеров независимо друг от друга. Как считают многие специалисты, эта технология способна изменить нашу жизнь так же, как в свое время телевидение и интернет. Кто-то полагает, что она даже избавит цивилизованный мир от его главной беды — коррупции. Разговоров вокруг нее много, но большинство людей до сих пор не понимает,  о чем вообще идет речь. Блокчейн сам по себе не в состоянии заменить многие процессы, которые окружают производство и бизнес: маркетинг, бизнес-планирование, структуру управления предприятием. Блокчейн – это технологическая инновация, которая упрощает и иногда сильно видоизменяет реальный сектор экономики, но не заменяет собой все бизнес-процессы. Сейчас мы находимся в состоянии некоторой эйфории по отношению к этой технологии, со временем она пройдет, и все участники будут более трезво смотреть на эту ситуацию. И это будет хорошо, потому что проекты будут более качественно проработаны.

Применение блокчейн в реальной жизни, безусловно, принесет дополнительные удобства для обычных граждан. Например, при регистрации права собственности на земельный участок можно будет обойтись без нотариусов и БРТИ – всё процессы сможет осуществлять блокчейн. Продажа недвижимости, к примеру, может занять у вас всего лишь пять минут. Блокчейн решает основополагающую проблему – проблему доверия. Сейчас нам необходим некий посредник, например, в виде нотариуса или государственного органа, который заверяет сделку между сторонами. Стороны друг другу не доверяют, поэтому нам нужен этот орган для того, чтобы заверить сделку по продаже недвижимости или любую другую. Блокчейн может все эти органы заменить, и тогда вся толпа чиновников, масса неудобств и большое количество бумаг, с которыми связано обеспечение этих процессов, канут в лету. Таким образом, можно будет совершать сделки, вести реестры по любому имуществу, учитывать его быстро, надежно, эффективно и, в смысле экономии бумаги, экологично.    Главное преимущество технологии блокчейна в том, что она использует децентрализованое хранение данных у пользователей, как хорошо нам всем известные торрент-трекеры. Их защищённость от внешнего воздействия исключительно высокая. А это значит, что такая система, как  и валюты на их основе, исключительно устойчивы к типичным проблемам безопасности. Блокчейн по сути является своего рода хранящейся распределённой  бухгалтерской книгой (реестром). Никакую запись в такой книге нельзя подделать, переделать или скрыть. Не имеет значения, что вы храните в блокчейновой системе — биткойны или важные данные. Если у общества есть децентрализованная блокчейновая база данных по всем выпускаемым документам, то не нужно нотариально заверять диплом, договор, копию паспорта или что угодно ещё. Цепочка неуничтожаемых записей тянется за каждым из них. Бесполезно покупать "левую" справку у знакомых, подделывать договор или вексель. На первый взгляд — это же отлично, дело в том, что этом общество тратит на «посреднические» услуги колоссальные средства.

Сходная ситуация и с банками. Сегодня главный товар банка — доверие. Чтобы перевести деньги другому человеку или компании, мы обращаемся в банк. Сейчас крупные торговые сделки обеспечиваются аккредитивами, обязательствами банка, которые он взял на себя по поручению плательщика. Покупатель переводит платёж банку, а тот отдаёт его продавцу только после выполнения определённых условий, например, доставки в такую-то точку в такое-то время. При использовании блокчейна (в него легко встраивается "умный контракт") эта услуга технически интегрирована в цепочку платежа. Пока документ о приёмке не будет подписан покупателем, деньги никуда не уйдут. Когда кто-то платит биткойном или рублём, но договор "облокчейнен", регистрируется в блокчейновой базе данных, то перевод по выполнении условий сделки состоится автоматически. Кстати, первый платёж "новым аккредитивом" состоялся уже осенью 2016 года, а в декабре того же года им впервые воспользовался крупный российский авиаперевозчик и крупный российский же банк. Не дремлют и на Западе. Банки JPMorgan Chase, Goldman Sachs, Bank of China и ряд других крупнейших игроков банковского сектора образовали консорциум CLS Net. Они работают над применением опенсорсной системы блокчейна  Hyperledger Fabric в области обмена валют и денежных переводов. Пока её планируется использовать параллельно S.W.I.F.T (международная платёжная система банковских платежей), отключением которого ещё недавно пугали Россию, но в будущем она вполне может и заменить этот пресловутый  SWIFT. Новый, блокчейновый метод надёжнее, а главное — сильно дешевле.

Принципы функционирования.

Технология блокчейн была специально разработана под виртуальную криптовалюту – биткойн (англ. Bitcoin, от bit — «бит» и coin — «монета») учёным математиком в области криптографии Сатоси Накамото. Сатоси Накамото (англ. Satoshi Nakamoto) — псевдоним человека или группы людей, разработавших протокол  криптовалюты биткойн и создавших первую версию программного обеспечения, в котором этот протокол был реализован [1].  С середины 2010 года Сатоси Накамото не участвует в работе над проектом «Биткойн», он (они) «залегли на дно», сделав своё дело, вписавшись в 40-Топ богатейших людей планеты. Впервые,  термин появился, как название полностью реплицированной распределённой базы данных, реализованной в системе «Биткойн», из-за чего блокчейн часто относят к транзакциям в различных криптовалютах, однако технология цепочек блоков может быть распространена на любые взаимосвязанные информационные блоки. Блок транзакций — специальная структура для записи группы транзакций в системе Биткойн и аналогичных ей. Транзакция считается завершённой и достоверной («подтверждённой»),  когда проверены её формат и подписи, и когда сама транзакция объединена в группу с несколькими другими и записана в специальную структуру — блок. Содержимое блоков может быть проверено, так как каждый блок содержит информацию о предыдущем блоке. Все блоки выстроены в одну цепочку, которая содержит информацию обо всех совершённых когда-либо операциях в базе. Самый первый блок в цепочке — первичный блок (англ. genesis block) — рассматривается как отдельный случай, так как у него отсутствует родительский блок. Блок состоит из заголовка и списка транзакций. Заголовок блока включает в себя свой хеш, хеш предыдущего блока, хеши транзакций и дополнительную служебную информацию. В системе Биткойн первой транзакцией в блоке всегда указывается получение комиссии, которая станет наградой майнеру за созданный блок. Далее идёт список транзакций, сформированный из очереди транзакций, ещё не записанных в предыдущие блоки. Критерий отбора из очереди задаёт майнер самостоятельно. Это не обязательно должна быть хронология по времени. Например, могут включаться только операции с высокой комиссией или с участием заданного списка адресов. Для транзакций в блоке используется древовидное хеширование, аналогичное формированию хеш-суммы для файла в протоколе Bit Torrent. Транзакции, кроме начисления комиссии за создание блока, содержат внутри параметра input ссылку на транзакцию с предыдущим состоянием данных (в системе Биткойн, например, даётся ссылка на ту транзакцию, по которой были получены расходуемые биткойны). Операции по передаче майнеру комиссии за создание блока не имеют «входных» транзакций, поэтому в данном параметре может указываться любая информация (для них это поле носит название англ. Coinbase parameter). Созданный блок будет принят остальными пользователями, если числовое значение хеша заголовка равно или меньше определённого целевого числа, величина которого периодически корректируется. Так как результат хеширования функции SHA-256 считается необратимым, на данный момент нет алгоритма получения желаемого результата, кроме случайного перебора. Если хеш не удовлетворяет условию, то в заголовке изменяется параметр nonce и хеш пересчитывается. Обычно требуется большое количество пересчётов. Когда вариант найден, узел рассылает полученный блок другим подключенным узлам, которые проверяют блок. Если ошибок нет, то блок считается добавленным в цепочку и следующий блок должен включить в себя его хеш. Величина целевого числа, с которым сравнивается хеш, в системе Биткойн корректируется через каждые 2016 блоков. Запланировано, что вся сеть системы Биткойн должна тратить на генерацию одного блока примерно 10 минут, на 2016 блоков около двух недель. Если 2016 блоков сформированы быстрее, то цель немного уменьшается и достичь её становится труднее, в противном случае цель увеличивается. Изменение сложности вычислений не влияет на надёжность сети Биткойн и требуется лишь для того, чтобы система генерировала блоки почти с постоянной скоростью, не зависящей от вычислительной мощности участников сети. На рис.1 представлена схема формирования блока.

Цепочки блоков

 

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

Рис.1 Схема формирования блока и получения хеша транзакций

Транзакции, вошедшие только в отвергнутую ветку (в том числе по выплате вознаграждения), теряют статус подтверждённых. Если это транзакция по передаче биткойнов, то она будет поставлена в очередь и затем включена в очередной блок. Транзакции получения вознаграждения за создание отсечённых блоков не дублируются в другой ветке, то есть «лишние» биткойны, выплаченные за формирование отсечённых блоков, не получают дальнейших подтверждений и «утрачиваются». Таким образом, цепочка блоков содержит историю владения, с которой можно ознакомиться, например, на специализированных сайтах. Блокчейн формируется как непрерывно растущая цепочка блоков с записями обо всех транзакциях. Копии базы данных (БД) или её части одновременно хранятся на множестве компьютеров и синхронизируются согласно формальным правилам построения цепочки блоков. Информация в блоках не шифрована и доступна в открытом виде, но отсутствие изменений удостоверяется криптографически через хэш-цепочки (элемент цифровой подписи). База публично хранит в незашифрованном виде информацию о всех транзакциях, подписываемых с помощью асимметричного шифрования. Для предотвращения многократной траты одной и той же суммы используются метки времени, реализованные путём разбиения БД на цепочку специальных блоков, каждый из которых, в числе прочего, содержит в себе хеш предыдущего блока и свой порядковый номер. Каждый новый блок осуществляет подтверждение транзакций, информацию о которых содержит и дополнительное подтверждение транзакций во всех предыдущих блоках цепочки. Изменять информацию в блоке, который уже находится в цепи, не практично, так как в таком случае пришлось бы редактировать информацию во всех последующих блоках. Благодаря этому успешная double-spending атака (повторная трата ранее израсходованных средств) на практике крайне маловероятна. Чаще всего умышленное изменение информации в любой из копий базы или даже в достаточно большом количестве копий не будет признано истинным, так как не будет соответствовать правилам. Некоторые изменения могут быть приняты, если будут внесены во все копии базы (например, удаление нескольких последних блоков из-за ошибки в их формировании).

Для более наглядного объяснения механизма работы платёжной системы Сатоси Накамото ввёл понятие «цифровая монета» [1], определив его как цепочку цифровых подписей. В отличие от стандартизированных номиналов обычных монет, каждая «цифровая монета» имеет свой собственный номинал. Каждому биткойн-адресу может сопоставляться любое количество «цифровых монет». При помощи транзакций их можно делить и объединять, при этом сохраняется общая сумма их номиналов за вычетом комиссии. На рис.2 приведена гипотетическая цепочка транзакций, объясняющая механизм работы платёжной системы.

Рис.2.  Механизм работы платёжной системы (по Накамото).

Продолжение статьи см. в части 2

 





Отправить статью в социальные сети, на печать, e-mail и в другие сервисы:

Комментарии

Нет комментариев

Еще нет комментариев.

RSS лента комментариев к этой записи.

Извините, комментирование на данный момент закрыто.