Или Почему «Великое ограбление поезда» теперь невозможно?!

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

Каким боком это касается ювелиров? Вот сейчас и узнаем.

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

Введение.

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

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

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

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

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

Кража конфиденциальной информации из централизованной базы данных.

Еще одно отличие состоит в том, что на посылках вместо адресов и ФИО получателя и отправителя указаны какие-то странные многозначные цифро-буквенные коды — это анонимные адреса в данной системе хранения. Т.е. с одной стороны все абсолютно прозрачно, с другой — полностью анонимно! Этот поезд и есть децентрализованная база данных, построенная по технологии распределенного реестра или, как еще говорят — на блокчейне.

Часть 1. О хешировании и майнинге.

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

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

После того как вагон (блок) заполнен, грузчики опечатывают («хэшируют») его.

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

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

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

Грузчики нередко объединяются в большие бригады (майнинг-пулы).

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

Однако есть еще и комиссия майнера — это та сумма, которую отравитель груза готов заплатить за то, чтобы его ящик или мешок погрузили в ближайший вагон и отправили пораньше — что-то вроде чаевых нашим грузчикам. Жадные отправители могут и вовсе не дождаться погрузки своего мешка в вагон — это называется зависшая транзакция — мешок валяется на погрузочной платформе (в «мемпуле») и никому до него нет дела. Комиссия может быть разной в зависимости от загруженности системы — если всем срочно понадобилось что-то погрузить на этот поезд, как это было в конце 2017-го года, то комиссия может оказаться в несколько раз дороже содержимого самой посылки!

За найденный блок грузчикам (майнерам), полагается награда от машиниста (от сети).

И тут у внимательного читателя наверняка уже назрел целый ряд вопросов — где здесь вообще децентрализация, чем такой подход лучше централизованного хранения данных и кто следит за всеми этими грузчиками, чтобы они сами не вынесли ночью половину состава?!

Часть 2. Почему это безопасно?

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

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

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

Воришка в одиночку не успеет за ночь сделать то, над чем весь день трудилась сотня грузчиков.

Хотя дело грузчиков маленькое — кидай себе мешки, да вычисляй тригонометрические уравнения — за целостностью хэшей и содержимым вагонов они не следят. Зато следят еще одни участники процесса — «суперноды» — выполняющие роль наблюдателей и контролеров (валидаторов сети). Они ведут специальные реестры и принимают каждый вагон, подробно описывая все его содержимое, а после каждой приемки сверяют свои записи друг с другом — все должно совпасть вплоть до запятой.

Этот процесс называется верификацией транзакций. У каждого наблюдателя в отличие от обычных пользователей имеется полная копия всего реестра начиная с самого первого вагона — это и есть технология распределенного или децентрализованного реестра, позволяющего обнаружить подмену при первой же сверке. А такие сверки происходят, как уже было сказано довольно часто — не реже одного раза в 10 минут. Так что далеко убежать с украденным мешком не получится. Еще один плюс такого подхода к организации хранения данных в том, что если кто-то из наблюдателей потеряет свои записи ­­- не беда, потому что вся остальная сеть супернод содержит точные копии.

«Суперноды» — выполняющие роль наблюдателей и контролеров (валидаторов сети).

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

Остается неясен еще один момент — что будет если все грузчики (майнеры) объединятся в одну большую вычислительную сеть, способную перешифровать весь состав? Тогда они смогут совершить так называемую атаку «пятидесяти одного процента» — т.е. получить контроль над сетью (поездом) и изменить адреса получателей больших мешков с деньгами (крупных транзакций) на свои хоть с самого первого вагона. И наблюдателям ничего не останется, как просто вписать эти изменения в свои реестры.

Объединившись в одну большую сеть, в теории майнеры могут совершить атаку 51% .

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

Кстати, о создателях — мы еще ничего не знаем о том, кто спроектировал и построил этот состав, кто его обслуживает и следит за его исправностью — кто те люди, которые ходят вдоль состава с молоточками и стучат по колесам? Об этом вы узнаете в следующей главы.

Часть 3. О создателях и их роли.

Ну что ж, мы уже знаем, что технология блокчейн — это удобный, надежный и хорошо продуманный механизм. Но откуда вообще берутся эти блокчейны, кто поддерживает их в рабочем состоянии и совершенствует? Эту роль исполняют участники процесса, стоящие у истоков создания нашего поезда — так называемые core-разработчики или разработчики ядра программного обеспечения. Да, любой блокчейн — это программное обеспечение с открытым исходным кодом (если это публичный блокчейн) и его разрабатывают энтузиасты. Есть еще приватные блокчейны, создаваемые работниками организаций, которым децентрализованные базы данных нужны для собственных целей и они по какой-то причине не хотят использовать публичный блокчейн.

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

Над совершенствованием блокчейна работают вполне конкретные люди (ну почти).

Но насколько это надежно? Можно ли пустить под откос наш стеклянный поезд и уничтожить все его содержимое? Иными словами, можно ли полностью уничтожить блокчейн того же Биткоина и все хранящиеся в нем данные навсегда? Да, можно — только для этого придется каким-то образом вывести из строя миллионы компьютеров по всему миру, на которых установлено это ПО — только все до единого, чтобы не осталось ни одного наблюдателя-суперноды, содержащей полную копию записей всего реестра — в противном случае все данные можно будет восстановить за несколько часов, подняв сеть заново. В общем недостатков у такого подхода к хранению данных вроде бы и нет…

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

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

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

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

Часть 4. Сферы применения.

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

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

Блокчейн позволяет передавать конфиденциальные данные анонимно и избирательно.

В творческих сферах — искусстве, кино, музыке, литературе — так же нашлось применение блокчейну. С помощью этой технологии авторы могут подтверждать свои авторские права на произведения и передавать право собственности на эти произведения коллекционерам. И так по цепочке — любая передача права собственности фиксируется предыдущим пользователем сети в виде транзакции параллельно с физической передачей произведения его новому владельцу. Если же произведение представляет собой лишь результат цифрового творчества, то на болкчейне закрепляется право владения его оригиналом. Все остальные копии данного файла при этом уже не будут иметь такой ценности. Звучит немного странно, но в США и Европе цифровые художники уже вовсю этим пользуются.

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

Цифровой паспорт объекта на блокчейне, содержащий информацию обо всех его свойствах и транзакциях.

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

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

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

P.S:

Если вам понравилась статья, просьба оценить ее, кликнув на звездочки ниже. Также напомню, что все статьи на данную тему собраны в специальной рубрике Криптоювелирка. А это ссылки на записи эфиров, которые я обещал в самом начале поста. Ну и еще больше информации о блокчейне в ювелирке, искусстве и не только вы можете найти на канале проекта в Telegram или подписавшись на специальную рассылку.

Насколько полезным был этот материал?

Понравился пост? Присоединяйтесь к нам в соцсетях!

Жаль, что материал Вам не понравился :(((