В современном мире термин "блокчейн" устойчиво ассоциируется с криптовалютами, NFT-токенами, майнингом, инвестициями и финансовыми пирамидами. Однако даже среди программистов и айтишников не всегда есть отчетливое понимание что это и для чего оно.
Данная статья предпринимает попытку взглянуть на этот еще относительно новый элемент информационного и жизненного пространства в практическом и немного философском аспектах.
Дисклеймер: в статье будет использоваться простой язык для объяснения нетривиальных понятий, поэтому возможно некритичное искажение технических деталей
Проблема подлинности
Какие-то вещи могут быть легко скопированы — например, текстовый файл или фотография на электронном носителе. Другие — нет, например, продукт питания. Для некоторых предметов создание дубликата уничижает саму его сущность. Копирование стодолларовой банкноты немного, но обесценивает все доллары мира. И такими объектами, сущность которых несовместима с необоснованным воспроизводством, являются не только деньги, но и множество других человеческих материальных и нематериальных ценностей (assets) — акции, свидетельства о праве на землю, интеллектуальная собственность, бонусные баллы, билеты в театр, голоса на выборах, социальный капитал, деловая репутация.
Наличие в обществе людей, желающих извлечь личную выгоду из несанкционированного копирования ценностей, ставит вопрос о необходимости механизма управления данными ценностями, который бы гарантировал их аутентичность и справедливый оборот.
Справедливый оборот
Что значит "справедливый оборот"?
Представьте, что вы меняете валюту с рук, и вам подсовывают "куклу". Или инвестируете свои сбережения в бизнес, который оказывается финансовой пирамидой. Или ваши деньги в банке исчезают, потому что банкир сбежал в Ниццу. Или ваш брокер оказался мошенником. Или вы "купили" дом, собственник которого даже не подозревал о сделке. Или все ваши деньги в электронном кошельке "ВебДеньги" пропали из-за сбоя электричества в их дата-центре.
Во всех этих случаях в справедливый оборот ценностей вмешивается сторонняя сила — либо злоумышленник, либо некое стечение обстоятельств. У них есть лазейка. Всегда. Потому что никакая операция по данным ценностям не может быть проведена как атомарная транзакция, за исключением операции передачи/дарения, которая мало интересна. Обычно идет обмен ценностей. Ты — мне, я — тебе. И этот процесс состоит из шагов, между которыми и может вклиниться сторонняя сила. Я продаю доллары, передаю их кому-то — и сила вклинивается. Я ввожу деньги на биржу, чтобы купить акции — и сила вклинивается. Я хочу купить недвижимость в другой стране, делаю нотариальную доверенность на посредника — и тут эти силы становятся просто в очередь.
Гарант
Чтобы как-то сделать подобные сделки более-менее надежными, было введено понятие гаранта (escrow). Это некая организация или физическое лицо, которое проводит эту сделку и своей репутацией гарантирует ее справедливость. Стороны сделки передают свои ценности гаранту (атомарные операции), а тот уже их распределяет по заключенному между ними договору. Обычный банк, через который человек совершает финансовые операции, является таким гарантом. Государство является гарантом. LinkedIn является гарантом. Дядя Вася может быть гарантом по определенным дворовым разборкам.
Но, во-первых, далеко не всегда можно найти гаранта на определенную сделку. Во-вторых, гарант также подвержен воздействию злых сторонних сил. Как персонально, так и через его компьютерную систему, например. В меньшей степени подвержен, но не в нулевой. И, в-третьих, его услуги — минимизация рисков — часто стоят очень недешево.
Задача посредника и гаранта существовала всегда. Это фундаментальная проблема для экономических и социальных отношений в обществе. Каким-то образом хотя бы частично решить ее не получалось — ни в обычной жизни, ни в компьютерном мире. Пока не появилась технология блокчейн, которая принесла нечто качественно новое, что было невозможно до неё. А именно, гарантию справедливости при проведении определенных операций.
Прогресс
С середины 20-ого века информационные технологии развивались достаточно предсказуемо и планомерно. Сперва появились компьютеры. Потом их стали объединять в сети. Затем поверх этих сетей возникли дополнительные протоколы. Например, распределенные вычислительные сети — когда одна задача, требующая больших вычислительных ресурсов, распараллеливается на несколько компьютеров, что кратно ускоряет время ее выполнения. Или репликация баз данных — когда одни и те же данные дублируются на нескольких физических серверах, чтобы повысить надежность, производительность и удобство работы с БД пользователей.
Работа любой даже очень сложной информационной системы не выходила за пределы алгоритмичного замысла ее создателя. Каждый узел системы за что-то отвечал, занимая свою нишу в потоках данных программы. Разработчик или администратор системы был для нее богом, который мог всё. Например, разработчик Paypal легким движением руки мог установить баланс своего личного счета в пару миллионов долларов. Это же мог сделать проникший в систему хакер. Проблема централизованной системы. Системы, где есть центр, на который можно воздействовать и получить нужный результат.
В 2008 году некто под именем Сатоши Накамото представил инновационную децентрализованную архитектуру программной среды, в которой подобные несанкционированные изменения данных кем бы то ни было стали весьма затруднительны.
Биткойн блокчейн
Он представил блокчейн — сеть из большого числа компьютеров (тысячи), на которых хранится информация о:
- Адресах биткойн-кошельков с указанием их баланса.
- Транзакциях — операциях перевода определенной суммы с одного биткойн-кошелька на другой.
По замыслу, один раз записанные в этот реестр данные неизменны. Вся информация доступна всем для просмотра, и вся она дублируется на каждом компьютере (узле) этой сети. Все узлы — копии друг друга. И эта безумная децентрализованная избыточность и дает тот диалектический переход количества в качество, которое состоит в том, что несанкционированно изменить один раз записанные данные практически невозможно.
Защита эта реализуется следующим простым способом. Вся поступающая информация о новых адресах и транзакциях записывается частями — блоками. Каждые 10 минут создается новый блок из новых транзакций. После формирования очередного блока в него добавляется хэш предыдущего блока, и вычисляется хэш текущего, который затем используется для последующего блока. Получается та самая цепочка блоков, когда каждый блок ссылается на предыдущий. В результате при изменении данных в одном блоке, изменится его хэш, а значит хэши последующих блоков станут невалидными. А значит и вся цепочка. Даже если пересчитать и перезаписать все последующие блоки, мы получим один узел, отличающийся от всех остальных. Он просто не будет учитываться системой.
При записи новых транзакций блокчейн использует определенные алгоритмы, метод нахождения консенсуса между участвующими в процедуре узлами. Конкретно в биткойн блокчейне используется метод "Proof of Work". Он делает очень затруднительным стороннее вмешательство.
Теоретически, чтобы оказать воздействие на децентрализованный блокчейн, злоумышленник должен вмешаться в работу свыше половины его узлов. Тогда он сможет обмануть систему и сделать "двойное расходование" биткойнов — послать с одного адреса одновременно две транзакции и продублировать сумму перевода на оба получающих адреса. Данная проблема носит название "Атака 51%". Теоретически это возможно, но экономически очень затратно.
Термин "блокчейн" используется для обозначения как цепочки блоков в одном узле, так и для всей компьютерной сети.
Майнинг
Запись нового блока в биткойн блокчейн устроена так, что для нее необходимы большие вычислительные ресурсы — для трудоемких математических вычислений. Это сделано специально, чтобы увеличить надежность системы. Выполняют эти вычисления майнеры — люди, предоставившие вычислительные мощности своих компьютеров для данной цели. Получают за это они определенную сумму, которую платит человек, инициировавший транзакцию.
Лучше всего с вышеуказанными вычислениями справляются графические процессоры на видеокартах. Именно поэтому их цена вслед за спросом так подскочила после популяризации биткойнов.
Интернет ценностей
Итак, была создана система неких виртуальных ценностей, защищенных от несанкционированного копирования. Сатоши "запустил" в нее биткойны, потому что его целью было создание криптовалюты, но точно также можно было развернуть подобный блокчейн (компьютерную сеть) с произвольными ценностями — акции компании, социальный капитал, бонусные баллы. То, о чем участники оборота ценностей между собой условятся. Элемент информации в блокчейне может представлять любую ценность.
Это был действительно качественный прорыв — к интернету информации добавился интернет ценностей. Появилась гарантия подлинности цифровой ценности — то есть, уверенность, что ее нельзя скопировать. Эту ценность можно было надежно иметь и передавать кому-то еще.
Свойство неизменности данных в блокчейне еще далеко не оценено по достоинству и не находит широкого применения. Представьте себе реестр объектов недвижимости, в который не могут внести изменения коррумпированные сотрудники. А это большая проблема не только в развивающихся, но и в развитых странах.
Криптовалюта
Однако за биткойн сразу ухватились именно как за криптовалюту — то есть, аналог обычных денег. Стало удобно человеку из одной точки земного шара быстро и недорого отправить определенную сумму биткойнов на другой континент. Это было намного комфортней, быстрей, дешевле и даже надежней банковского перевода. Появились обменники, где фиатные (обычные) деньги можно было обменять на биткойны и обратно.
Криптовалюты абсолютно анонимны. Доступ к биткойн-кошельку (который живет где-то в блокчейне) осуществляется с помощью его закрытого ключа — последовательности символов в виде строки. Тот, кто владеет этим ключом, может отправлять с этого кошелька переводы на другие адреса. Делается это с помощью специальных программ или сайтов, которые реализовали доступ к блокчейну.
В то же время, публично доступна информация обо всех адресах (кошельках) и транзакциях в биткойн блокчейне. Можно проследить движение средств с кошелька на кошелек, и государственные структуры, борющиеся, например, с незаконным оборотом наркотиков, этим пользуются.
Однако у биткойна как финансового инструмента есть серьезная проблема — высокая волатильность. Его курс относительно доллара США может довольно сильно колебаться. Поэтому для транзакций со скорым вводом/выводом он подходит хорошо, а вот при длительном хранении могут возникнуть неприятные сюрпризы. В то же время волатильность биткойна активно использовалась для "инвестиций" в него с целью игры на скачках курса.
В ходе сессии вопросов и ответов Ask Me Anything (AMA) на Reddit, Билла Гейтса спросили, инвестирует ли он в цифровые активы. Миллиардер ответил, что в его портфеле нет криптовалют, поскольку ему нравится вкладывать деньги только в те активы, которые оправдывают свою ценность. Например, в компании, производящие какую-либо продукцию. По мнению Гейтса, цифровые активы нельзя назвать таковыми.
Блокчейн v2.0
В 2013 году канадец российского происхождения Виталик Бутерин представил новую версию технологии блокчейна — Etherium, которая привносила некоторые полезные новшества, как, например, различные типы ценностей в одном блокчейне (токены). Но, главное, позволяла в определенных случаях при проведении сделок между сторонами убрать необходимость "гаранта", обеспечивая надежность и справедливость сделки. Например, чтобы купить акции какой-либо компании не обязательно обращаться к брокеру или централизованной бирже, теряя на комиссии и рискуя деньгами. Теперь теоретически это возможно сделать самому напрямую. Исчезает необходимость бирж, исчезает необходимость банков, шеринговых компаний и других посредников.
Именно Etherium Бутерина положил начало эре смарт-контрактов и децентрализованных финансов (DeFi). Технология нового блокчейна в дополнение к гарантии подлинности ценностей, подаренной Сатоши Накамото, добавила гарантию их справедливого оборота.
Об этом в следующей части.
Выводы
Блокчейн позволяет ввести в оборот виртуальные элементы, которые неплохо представляют ценности в человеческом мире. На данный момент основной, хотя и далеко не единственной ценностью, виртуализированной в блокчейне, являются деньги.
Эти элементы защищены от копирования (подделки), имеют обладателя, могут по его желанию его менять. Блокчейн как система управления данными элементами хорошо защищен как от взлома, так и от технического сбоя.
Блокчейн децентрализован — никакая организация им не владеет, и никакое лицо не имеет практически никакой возможности вмешаться в его работу.
Блокчейн финансово самоорганизован — плата за транзакции идет на вознаграждение майнеров, которые и создают новые узлы.
Комментарии (19)
eimrine
24.05.2022 07:47+2Поэтому для транзакций со скорым вводом/выводом он подходит хорошо, а вот при длительном хранении могут возникнуть неприятные сюрпризы.
С точностью до наоборот.
JekaMas
24.05.2022 10:31+2Блокчейн децентрализован? Тогда почему в Эфире майнеры не пропускали транзакции с аккаунтов хакера с год назад? Никакой цензуры, да?
sokv
25.05.2022 09:30+1Да, децентрализован, потому что (и до тех пор пока) нет никакой возможности запретить кому либо самому стать майнером, который обработает какие захочет транзакции, хоть с аккаунта хакера. И то что майнеры берут из пула в обработку транзакции какие захотят (обычно с комиссией побольше, но могут и исключать какие то транзы по своему усмотрению), это также следование принципу децентрализации, централизованно заставить их что то делать (проводить транзы) никто не может.
JekaMas
25.05.2022 14:21И этому "самому" быть в глубоком меньшинстве. Потому что решают майнинговые пулы, а не ты лично. И твой блок вместе с транзакцией от аккаунта из "чёрного" списка большинство майнеров будет выбрасывать. Пример выше ровно про это https://www.cnbc.com/amp/2021/08/11/cryptocurrency-theft-hackers-steal-600-million-in-poly-network-hack.html майнеры не пропускали транзакции с замешанных в атаке аккаунтов и не принимали блоки с этими транзакциями, подавляя в итоге все мелкие форки с ними. Атакующий сдался и вернул токены.
Расскажите, как тут сработала децентрализация Эфира?
gmtd Автор
25.05.2022 16:05Где написано, что майнеры работали по "черному" списку?
Я нашел только это:Poly Network urged cryptocurrency exchanges to “blacklist tokens” coming from the addresses that were linked to the hackers.
И вообще статья абсолютно не техническая
JekaMas
25.05.2022 17:09+1Посмотрите историю аккаунтов атаковавшего, его транзакции днями весели в статусе "pending", он или, собственно с миром и общался, добавляя текст в сообщения.
Транзакции отвергались всей сеть. Майнеры не допускали их в блоки, а форки с такими транзакциями отвергались и в итоге забивались.
Атака 51% уже случилась, как и цензура.
https://etherscan.io/tx/0xd574008dfcaf4b3fe190241a5a33678ea111b617cf743cc4be42d3182c490695 — сейчас подтверждений непросто найти, атаковавший вернул деньги и транзакции из txpool или прошли или выкинуты полностью; но остались следы в виде например вот таких вот советов атаковавшему, что ему делать с backlisted токенами и куда не соваться. Можете сами отсмотреть адреса атаковавшего и увидеть, что есть огромный зазор между временем успешной атаки и тем, когда были возвращены деньги. Всё это время транзакции блокировались.
gmtd Автор
25.05.2022 18:13Я нашел техническое описание того события
https://research.kudelskisecurity.com/2021/08/12/the-poly-network-hack-explained/
Это была не "Атака 51%"
Это был просто взлом смартконтрактаJekaMas
25.05.2022 18:20+1Вы нашли атаку на бридж. А я по последующую цензуру акаунтов атаковавшего сетью Эфириума. Транзакции взломщика оставались часами и днями в статусе pending и не шли в блоки, блоки тех, кто их включал всё же, отвергались майнинговыми пулами и как итог всей сетью в итоге.
Для меня эта атака цензуры с использованием более 51% power
sokv
25.05.2022 17:38Децентрализация в такой ситуации работает таким образом, что можно ждать, пока появится майнер, который обработает транзакцию (можно публично или приватно обращаться к членам сообщества и попытаться вызвать симпатию кого то из майнеров, подкупить большой комиссией за транзакцию или дождаться пока транзу обработает тот, кто не заморачивается чёрными списками), или же даже самому вложиться в оборудование, стать майнером и обработать транзакцию. Проводя аналогию с централизованными системами, там таких вариантов нет. В централизованных системах обратиться вы можете только к администрации, где решение принимается централизованно. И уж точно в централизованной системе сами вы не можете исполнить свою транзакцию.
Насчёт подавления мелких форков с такими транзакциями - если это правда, то это действительно значительный шаг к централизации и тревожный звоночек. Но всё ещё не полная централизация.
JekaMas
25.05.2022 19:30+1Свой валидатор не поможет, нужно, чтобы большинство майнинговых пулов принимало блоки от таких майнеров. А у нас уже есть факты, когда они не принимали, отфильтровывая блоки по транзакциям аккаунтов из "черного" списка.
Для меня лично, Эфир - это не про децентрализацию. Это про правильный маркетинг децентрализации. А на деле оно вполне централизовано. Хоть в смысле принятия ключевых решений, хоть в смысле майнинговых пулов, цензуры, хоть и в смысле клиентов Эфира - их вроде много, но всех съел Geth.gmtd Автор
25.05.2022 19:46Тогда децентрализованных сетей в вашем понимании просто не существует
Всегда хозяин нода может отказаться проводить транзакции и отключить узел
Или ввести фильтрацию, как в данном случаеФильтрация - меньшее зло, чем полный запрет на нее на уровне ПО
В таком случае нет вообще никакой защиты от криминалаJekaMas
25.05.2022 21:23+1Или сеть децентрализована, или с цензурой. Это протмворечащие друг другу требования.
gmtd Автор
26.05.2022 09:02Когда проходят идеально демократические выборы, и избиратели выбирают наименее коррумпированного кандидата - это цензура?
JekaMas
26.05.2022 09:08Я тут поо распределенные БД и протоколы. В политику - это вы без меня.
В моём мире всё просто. Liveness свойство в Эфире определяется как то, что в конечном итоге каждая корректная транзакция попадёт в блокчейн.
Так вот этого свойства у Эфира нет. Не каждая корректная попадёт.
Здесь и далее попытки перейти на философию и политику буду игнорировать. Я за протоколы и код.
А если за протокол и код, то вывод один. Эфир - не децентрализованный блокчейн. У него есть те, кто составляют списки "плохих" транзакций.
TimurSadekov
26.05.2022 15:44Напишите в следующей части про наш стартап CyberPravda.com. Мы создаем блокчейн-платформу для анализа достоверности любой информации в интернете и оценки репутации ее авторов. Мы хотим монетизировать репутацию и совершить переворот в социальных сетях и средствах массовой информации, сделав публикацию недостоверной информации разорительной для недобросовестных авторов. Наша цель — создать инструмент для заработка цифровых сертификатов достоверности информации и накопления криптовалюты репутации.
https://drive.google.com/file/d/13sfGgoM_f521q6vwPOjsHhy35gVXmYCp
Мы сейчас ищем талантливых разработчиков, если вы блокчейн-архитектор, математик или UX/UI-дизайнер — мы будем рады вашему желанию присоединиться к нашей команде!
Pest85
Это все замечательно, но Ethereum DAO Hack опровергает и "защиту от взлома" и "децентрализацию". Когда в ответ на использользование кода в ethereum'e сообщество забыло свою главную ценность - "Code is the law" и дружно, централизованно откатилось на hard fork.
Утверждать что ты решаешь проблему и действительно решать ее оказалось не равнознано...
У Биткоина тоже совсем не гладко с децентрализацией, несколько крупных пулов контролируют около половины майнинга, а значит, могут провести Атаку 51.
Крипта не покрывает весь блокчейн, но построена по тем же заветам. Которые не работают...
sokv
Технология обеспечила децентрализацию - эфириум классик, тот самый исходный эфир, существует до сих пор. Свой выбор в поддержку форка Бутерина сделали люди. Технически заставить их никто не мог - сеть продолжала функционировать и до сих пор функционирует где никто ничего не откатывал и не перераспределял. Все монеты целы. Люди действительно децентрализованным способом (самим фактом поддержки и использования одного или другого варианта форка) сделали выбор. Сама возможность создания форка - это не поломка, а один из механизмов, обеспечивающих децентрализованное управление проектом.
Pest85
До недавнего падения рынка эфириум класик имел капитализацию в 5 млрд долларов. Эфир, который откатили, имел 210 млрд долларов. Это несравнимые проекты по охвату. 2.3% - вот и вся "децентрализация". Монеты не просто не целы, они значительно ниже чем должны были быть.
Soft fork является механизмом управления проектом ethereum но в той ситуации основателем и крупными пулами был продавлен именно hard fork или откат на версию в которой пользователь еще не воспользовался возможностью кода для вывода средств.
В любом случае это никак не соотносится с философией "Code is the law" и нарушает "immutability".
Пока нам это удобно - то вот правила, они нерушимы. Как только нам это приносит убыток - давайте поправим нерушимые правила
В чем отличие от центрального банка любой страны или действительно крупной корпорации?
sokv
Так тот факт что эфир Бутерина имеет капитализацию большую чем классик это проявление централизованного влияния Бутерина, он лично цену взвинтил, или это результат того, что люди в массе между классиком и эфиром Бутерина выбирали? Разве кто то отнял свободу выбора? Я думаю, свободу выбора не отняли, в этом сила децентрализации.
Про код это закон, всё верно, пока это выгодно. Отличие от центробанка в том, что никто не может людям приказать и силой (правоохранительных органов) провести решение. Если бы в истории с классик общество выступило в защиту положения вещей, если бы нашлась команда разработчиков конкурентная по отношению к Бутерину, никакой Бутерин им ничего запретить бы не смог. И дело не в прошлом. В любой момент влиятельный некто не может запретить биткойн, эфир или монеро. Ну то есть, запретить то может, в своих фантазиях или на бумаге, но не в реальности. В этом и отличие от централизованных систем и центробанка в частности.