Криптовалюты — деньги без посредников. Часть 1. Блокчейн: объясняем максимально доступно

2017-й стал годом настоящего триумфа криптовалют. Воодушевленные этим приверженцы «новых денег» убеждены, что анонимные и неподконтрольные властям криптовалюты — на правах частных денег — скоро заменят традиционные (государственные, или «фиатные») деньги. А финансовые сервисы на основе технологии блокчейн сделают ненужными банки.
В свою очередь, скептики уверены, что нынешний бум криптовалют — это пузырь, который скоро лопнет. Так это или нет, сказать сейчас невозможно. Но факт: все правительства мира активно готовят законопроекты по регуляции криптовалют. Им кажется, что это «какая-то программа в компьютере», на которую можно наложить правила сосуществования с реальным миром. Но на деле все куда сложнее и интереснее.
Мы не просто так называем криптовалюты новым витком эволюции денег. Технология блокчейн и сам биткоин (как первая криптовалюта, основанная на блокчейне) с самого начала создавались, чтобы избавиться от финансовых посредников, включая «классические» банки, правительства, платежные системы и т.д. Криптовалюты построены как децентрализованные распределенные системы, и они не будут подчиняться попыткам регуляции, как бы того ни хотели какие-либо государства. Работа любого блокчейна зависит только от его пользователей. Только их сообщество может решением большинства внести изменения в код — эту сообразную «конституцию», безупречно исполняемую каждую секунду своего существования. Криптовалюта — это деньги, которые не знают банковских фраз типа «вам нельзя сделать эту операцию, потому что счет открыт в другом отделении» или «мы сейчас подумаем, насколько вы хороши для нас». В блокчейне все равны перед кодом, перед изначально прописанным алгоритмом, он работает для всех одинаково.
Итак, криптовалюты — это деньги принципиально нового типа, основанные на технологии блокчейн.
Без единого центра
Есть много разных определений того, что такое блокчейн. Кому неохота продираться сквозь громоздкую статью в «Википедии», тот может удовлетвориться одной фразой: это криптографически защищенная распределенная сеть, состоящая из равноправных узлов. Это база данных, содержащая информацию о всех взаимоотношениях между всеми участниками сети за все время ее существования. У такой базы данных нет управляющего сервера, а ее работа регулируется изначально заложенным алгоритмом. Его можно изменить только консенсусом — совместным решением большинства узлов сети. Запись информации в такую базу данных происходит в виде блоков, которые находятся в зашифрованном виде на компьютерах одновременно у всех участников самой системы.
Чтобы понять, как это работает на практике, представьте себе деревню, в которой в каждом доме имеется амбарная книга. И вот Дмитрий продает Павлу мешок зерна. После чего во всех амбарных книгах деревни одновременно появляется запись: «Дмитрий продал Павлу мешок зерна за три рубля». Если потом Павел зачем-то попробует стереть в своей амбарной книге запись о полученном мешке зерна, ему это ничего не даст, ведь про сделку знают все жители деревни. Как видим, блокчейн — это форма ведения учетного реестра, застрахованного от мошенничества, в ситуации, когда мошенником потенциально может оказаться любой из узлов сети.
Как это реализовано технически? «Блокчейн» переводится как «цепочка блоков», причем все блоки в этой цепочке взаимосвязаны, а каждый последующий создается на базе предыдущего. То есть последний блок цепочки проходит обработку криптоалгоритмом (т.н. хешированием), в результате чего получается хеш — уникальный цифровой «слепок» записанной в блок информации. Если поменять в блоке-источнике хоть один символ — хеш уже будет совершенно иным. Полученный хеш кладется в основу нового блока, и далее в блок записываются новые данные — обо всех изменениях, которые происходят в сети (в случае криптовалют это транзакции — перечисление средств). Если рассматривать классический блокчейн — скажем, биткоина, — то каждый блок включает: уникальный номер, указание о размере блока, заголовок, счетчик транзакций, массив множества транзакций. Как только очередной блок наполняется данными, он заносится в цепочку, и с него формируется хеш следующего блока. Всё, далее сохраненный в цепочке блок уже не может быть изменен. Никогда. В этом фундаментальный принцип блокчейна.
Сразу оговоримся. Конечно, изменения можно внести в любой блок. Но сделать это можно только совместным консенсусным решением 51% узлов сети. Вернемся к нашему примеру с деревней: если вдруг больше половины ее жителей сговорятся, они могут переписать свои амбарные книги, скажем, исключив из них упоминание о том, что Дмитрий продал Павлу мешок зерна. После этого ни Дмитрий, ни остальные 49% жителей деревни ничего не докажут — они со своими амбарными книгами окажутся в меньшинстве.
Такой сценарий называется «атака 51%», и до сих пор он остается теоретической возможностью. У блокчейнов современных криптовалют миллионы узлов, и вероятность того, что 51% из них договорятся и совместно изменят данные в некоем блоке, стремится к нулю.

Разные криптовалюты — разные блокчейны
Вычисление хеша и само формирование блока — это вычислительная процедура, называемая майнингом. Ее выполняют те самые майнеры, о которых так любят в последнее время писать СМИ. То есть майнинг — это не «добывание денег из розетки», как многие думают. Это непростая работа по обслуживанию функционирования блокчейна, за которую выплачивается вознаграждение в денежных единицах той самой сети, которую майнер обслуживает.
В сети биткоина размер блока информации составляет 1 Мб, в других сетях размер блока может сильно отличаться. Стремление изменить размер блока становится поводом для создания форков (ответвлений) или даже новых блокчейнов. Например, в августе 2017-го от «классического» биткоина отделился форк Bitcoin Cash: у него размер блока сети составляет 8 Мб и может динамически изменяться.
Сам блокчейн также существует в самых разных видах. Классическая его форма, положенная в основу биткоина и множества прочих криптовалют (включая белорусский талер), подразумевает, что блокчейн публичен, т.е. любой желающий может просмотреть всю историю транзакций, а также участвовать в достижении консенсуса, то есть в выполнении проверки блоков информации. (Попутно отметим, что публичность блокчейна и данных транзакций не означает, что они не анонимны. Но вообще, анонимность операций с криптовалютами — тема отдельного большого разговора.)
Альтернатива классическому варианту — частный блокчейн. Когда он создается (например, при проведении ICO), изначально имеется некий центр (эмитент токенов). Только он может вносить записи в цепочку своего собственного блокчейна — майнеры из такой схемы исключены. Подобные блокчейны, в частности, создаются банками для своих нужд, компаниями, проводящими ICO; на них основаны некоторые криптовалюты (например, Ripple). Частные централизованные блокчейны используются также для ведения внутреннего учета в компаниях, государственных кадастрах недвижимости, для учета ценных бумаг, медицинских данных... Нередко (например, в земельном кадастре) частный блокчейн предусматривает возможность чтения данных всеми желающими, однако право записи все равно есть только у держателя блокчейна.