Биткоин будет работать в бухгалтерской книге, которую ведут все. Если Алиса хочет дать Бобу пять биткоинов, она отправляет всем сообщение, как и в случае с b-деньгами, используя свой псевдонимный закрытый ключ, с информацией: «Дорогие мои, я даю Бобу пять биткоинов». Затем все в сети обновляют свою универсальную бухгалтерскую книгу и фиксируют биткоины на счете Боба.
Это практически система, которую придумал Вэй Дай – и отверг как непрактичную, потому что она требовала, чтобы все постоянно работали на своих компьютерах, были подключены друг к другу и регулярно обрабатывали эту гигантскую бухгалтерскую книгу. Зачем кому-то это нужно? Ответ Сатоши на этот вопрос, возможно, является самым важным нововведением в биткоине: чтобы эта модель работала, надо, чтобы компьютеры, которые были на связи, общались друг с другом и отслеживали бухгалтерскую книгу биткоинов, получали плату в недавно созданных биткоинах за выполнение этой работы.
Магия биткоина заключается в том, что вам не нужно доверять правительству, банку или Сатоши Накамото; вы просто должны доверять коду.
Это работает так:
• Каждая новая транзакция транслируется в сеть.
• Все компьютеры в сети записывают эти транзакции и в то же время пытаются решить вычислительную головоломку (идея решения головоломок восходит к hashcash Адама Бэка).
• Первый компьютер, решивший головоломку, отправляет решение вместе с записью самых последних транзакций в книге на все компьютеры в сети. Эта запись транзакций называется блоком.
• Компьютеры в сети проверяют правильность решения головоломки. Как только они понимают, что оно верно, они начинают все сначала, записывая новые транзакции в новый блок и пытаясь решить следующую вычислительную головоломку.
• Каждый блок транзакций связан с предыдущим блоком. Таким образом все транзакции в истории биткоина навсегда связаны друг с другом. В официальном документе Сатоши назвал это «цепочкой блоков». Вскоре она получит более короткое и более цепляющее название «блокчейн».
• В начале 2009 года Сатоши опубликовал исходный код биткоина. Любой желающий в любой точке мира мог загрузить код на свой компьютер и начать решать вычислительные головоломки, упаковывать блоки транзакций и получать биткоины.
Победитель, решивший головоломку, за каждый блок получал 50 биткоинов, которые в то время вообще ничего не стоили. Но, по крайней мере, вначале их было легко добыть. «Прежде всего, я сделал доказательство выполнения работы смехотворно простым, поэтому в течение некоторого времени типичный компьютер изначально сможет генерировать биткоины всего за несколько часов», – писал Сатоши в раннем электронном письме криптогруппе. Если бы к сети присоединилось больше людей, сложность возросла бы настолько, что независимо от того, сколько компьютеров в сети биткоин пытается решить проблемы, каждые 10 минут создавался бы новый блок транзакций.
Как и в случае с золотом, количество биткоинов, которое может когда-либо существовать в мире, было бы конечным – в общей сложности 21 миллион. Они будут выдаваться в соответствии со строгим графиком, записанным в коде. В течение первых четырех лет победитель получит 50 биткоинов за каждый блок. В течение последующих четырех лет размер приза снизится до 25 биткоинов за блок. Он будет уменьшаться вдвое каждые четыре года, вплоть до долей биткоинов, пока, наконец, в 2140 году не будет создана последняя доля 21-миллионного биткоина. «Когда процесс закончится, – писал Сатоши, – система может поддерживать транзакционные сборы, если потребуется». Сатоши уже смотрел на вещи в длительной перспективе.
Незадолго до того, как был обнародован код биткоина, Сатоши создал первый блок биткоина. Возможно, с немного большим драматизмом, чем это необходимо, он стал называться «блоком генезиса» с небольшим дополнительным текстом: заголовком с первой страницы лондонской
00000070 00 00 00 00 00 00 FF FF FF FF 4D 04 FF FF 00 1D. . . yyyyM.yy..
00000080 01 04 45 54 68 65 20 54 69 6D 65 73 20 30 33 2F..EThe Times 03/
00000090 4A 61 6E 2F 32 30 30 39 20 43 68 61 6E 63 65 6C Jan/2009 Chancel
000000A0 6C 6F 72 20 6F 6E 20 62 72 69 6E 6B 20 6F 66 20 lor on brink of
000000B0 73 65 63 6F 6E 64 20 62 61 69 6C 6F 75 74 20 66 second bailout f
00000 °C0 6F 72 20 62 61 6E 6B 73 FF FF FF FF 01 00 F2 05 or banksyyyy..o.
000000D0 2A 01 00 00 00 43 41 04 67 8A FD B0 FE 55 48 27 *. . CA.gŠy°þtUH’