113.–9. січня 2009

Genesis Block: повідомлення, приховане в першому блоці

Сатосі Накамото розмістив у першому біткоїн-блоці заголовок з газети The Times. Одне речення пов'язало фінансову кризу, технічний доказ часу та мережу, яка на той час мала лише одного учасника.

У суботу 3 січня 2009 року лондонська газета The Times опублікувала заголовок про британського міністра фінансів Алістера Дарлінга та загрозу другої порятунку банку. Того ж дня в іншому місці з'явився перший блок Біткоїна. Його автор, який виступав під іменем Сатосі Накамото, розмістив точний текст заголовка у вводі єдиної транзакції. У мережі ще не було ринку, обмінного пункту чи натовпу майнів. Був лише програма, одна машина та перший ланцюг, до якого не можна було додати посилання на попередній блок. Газетне речення, отже, не служило декорацією. Воно закріплювало виникнення Genesis Block у конкретний день та одночасно ставило новий експеримент з грошима поряд з кризою системи, яку саме рятували публічними грошима.

01

Титульна сторінка як часовий штамп

Текст «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks» зберігається безпосередньо у coinbase-вводі блоку нуля. Такий ввод не видає старіші монети; створює блоковий приз та може нести довільні дані. Сатосі не розмістив у ньому своє ім'я чи маніфест, а речення, яке можна було прочитати в щойно виданих газетах. Блок, отже, не міг достовірно виникнути до 3 січня 2009.

Заголовок посилав на дискусію щодо того, чи має британський уряд знову підтримати банки після фінансового потрясіння 2008 року. Читати його як критику порятункових пакетів є природним, особливо поряд з першими реченнями біткоїн-білупаперу про платежі без фінансових інститутів. Сатосі, однак, ніколи публічно та однозначно не пояснював свою причину. Встановлений текст є певним; політичний послання залишається сильним, але все ще інтерпретацією.

Такий самий підхід використовували творці систем proof-of-work ще до Біткоїна: недавня публічна інформація може обмежити найстаріший можливий час виникнення обчислень. У цьому випадку часовий штамп набув виняткової символічної сили. Proof of Work доводив витрачену працю, а газетний заголовок доводив, що праця не почалася в таїні колись у далекому минулому.

Сатосі тим самим відповів на проблему, яку у нових грошей викликає недовіра: чи підготував засновник довгий приватний ланцюг та великий запас перед запуском. Саме речення не доводить абсолютно все про початок видобутку, але дає публічно перевірену нижню межу. Кожен, хто сьогодні завантажує оригінальний блок, бачить те саме повідомлення.

Контраст є точним навіть без прикрас. На титульній сторінці стоїть інститут, який розглядає подальший втручання згори. У блоці виникає система, грошовий план і правила якої має перевіряти кожен підключений вузол. Не йде про доведення, що Біткоїн вирішив банківську кризу. Це свідчення того, в якому історичному повітрі виник його перший блок.

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

02

Блок без попередника

Кожен пізніший блок містить відбиток попереднього блоку. Genesis Block жодного попередника не має, і тому в програмі закріплений окремо. Bitcoin Core досі збирає його параметри з фіксованого заголовка, публічного ключа, часу 1231006505, nonce 2083236893, складності одна та призу 50 BTC. Результат мусить відповідати відомому хешу, інакше програмне забезпечення не вийде з тієї самої історії.

Усередині єдина coinbase-транзакція. Її вихід посилає п'ятдесят біткоїнів на публічний ключ, записаний у скрипті. У звичайному погляді на набір невитрачених виходів ця винагорода, однак, недоступна для витрачання. Не існує, отже, задокументованого моменту, коли б Сатосі тих перших 50 BTC пересунув чи продав; технічна конструкція залишає їх поза звичайним обігом.

Блок нуля був одночасно особливим пунктом між специфікацією та реальністю. Білупапер описав ланцюг доказів праці, але сам документ не створив мережу. Лише знайшовши nonce, зібравши заголовок блоку та зберігаючи результат, зробив з проекту історію, до якої міг приєднатися інший комп'ютер.

На початку не було чого децентралізувати у звичайному соціальному сенсі. Сатосі контролював єдину відому реалізацію та, ймовірно, єдиний активний вузол. Правила, однак, він спроєктував так, щоб їх пізніше міг кожен повний вузол перевірити самостійно. Genesis Block не був готовою децентралізованою економікою; був стартовим пунктом, з якого така економіка могла розвинутися.

Це пояснює, чому блок не можна оцінювати лише як першу бухгалтерську позицію. Він є одночасно технічною константою, публічним часовим доводом та історичним документом. Його дані не знаходяться в музеї чи архіві однієї компанії. Вони є частиною правил, які кожен новий вузол знову перевіряє.

03

Шість днів, протягом яких мережа чекала

Наступний блок з’явився не через звичні десять хвилин. Часова позначка блоку один вказує на 9 січня 2009 року, тобто на шість днів пізніше. Згодом дослідники звернули увагу на цю паузу й висували різні теорії, але збережені джерела не дають однозначної відповіді. Можливо, тривали розробка, тестування або підготовка до публікації. Сама затримка не свідчить про таємний план.

Публічне оголошення з’явилося ще до блоку один: електронний лист від 8 січня 2009 року, 19:27 UTC. У ньому Сатоші представив учасникам криптографічної поштової розсилки Bitcoin версії 0.1 як електронні гроші, у яких однорангова мережа запобігає подвійній витраті без центрального органу. Він додав посилання для завантаження та коротку інструкцію, водночас попередивши, що програма все ще експериментальна. Кожен, хто долучався, ставав учасником досліду з невідомим результатом.

Від цього моменту ланцюг уже не мав розвиватися на одному комп'ютері. Інші люди могли запустити перше біткоїн-програмне забезпечення, приймати блоки та намагатися знайти свої власні. Мережа все ще залишалася крихітною, але змінила свою природу: правила можна було завантажити, джерельний код прочитати та виконання незалежно повторити.

Genesis Block, отже, не представляє урочистий момент перед публікою. Між його виникненням та публічним програмним забезпеченням є тихе період, після якого прийшло просте оголошення у поштовому списку. Сатосі не потребував прес-конференції чи банку, яка б систему відкрила. Йому потрібно було, щоб програму завантажив хоча б одна інша людина.

12 січня 2009 року Сатоші надіслав Халу Фінні десять біткоїнів як тестовий платіж. Це вже інша історія. Для нульового блоку важливе очікування між технічним початком і моментом, коли до мережі долучилися інші люди. Ланцюг міг існувати сам по собі, але гроші почали набувати сенсу лише тоді, коли хтось іще прийняв правила та під’єднав свій вузол.

04

Засновницький документ без підпису

Країни розміщують на банкнотах портрети та гасла, компанії друкують на продуктах свої логотипи. Сатосі залишив у першому блоці запозичений газетний заголовок та публічний ключ. Цей аскетичний підпис вписується у весь проєкт: автор був присутній у коді та повідомленнях, але свою цивільну ідентичність з нього видалив.

Сила Genesis Block лежить не в тому, що він наказував іншим, у що їм слід вірити. Кожен його дані можна завантажити та перевірити. Користувач не мусить приймати політичну інтерпретацію заголовка, щоб перевірити час, nonce, складність чи хеш. Відокремлення факту від інтерпретації є саме тим, що робить його тривалішим документом, ніж пізніше легенди.

Обмеження біткоїн-емісії також не спирається на символіку титульної сторінки. Воно тримається правилами, які вузли впроваджують під час кожного наступного блоку. Genesis Block лише поклав перший шматок історії, на якому ці правила почали працювати. Без наступних майнів, користувачів та розробників він би залишився самітнім файлом на чужому диску.

Коли сьогодні новий вузол синхронізує Біткоїн, він не починає з довіри до веб-сторінки чи бази даних біржі. Він починає з відомого блоку нуля та поетапно перевіряє все, що відбулося далі. Заголовок з 3 січня повертається під час кожного нового підтвердження всього ланцюга, навіть якщо користувач ніколи свідомо не читав його.

Історія першого блоку не має чистої крапки. Ми не знаємо, чому Сатосі вибрав саме цей заголовок, що саме він робив під час шести днів чи де стояв його комп'ютер. Але знаємо, що він залишив: блок з публічно перевіреними параметрами та реченням зі світу, який був схвильований недовірою до банків. Відтоді міг початися система, яка не потребувала жодного міністра фінансів чи свого автора для підтвердження наступної транзакції.

Genesis Block отже не є авторитетом, що стоїть над мережею. Новий вузол не довіряє йому тому, що його створив Сатоші; він використовує його як фіксовану початкову точку правил, з якими працює програмне забезпечення. Від цієї точки наступні блоки мають пройти ту саму перевірку, що й будь-яка пізніша історія. Засновник міг обрати початкові параметри та вставити газетне речення, але не міг закласти в перший блок майбутню згоду людей. Вона виникала поступово, коли інші оператори запускали програму, перевіряли блоки та приймали витрати, пов'язані з власним контролем. Документ заснував ланцюг, а не послух його учасників.

Atlas

Люди й поняття в Атласі

BLK·0Genesis BlockSNSatoshi NakamotoCBTXCoinbase-транзакціяHDRBlock HeaderPoWProof of WorkNODEFull NodeCOREBitcoin Core
  1. 01
    Bitcoin Core — kernel/chainparams.cpp

    Поточний джерельний код з точним заголовком, параметрами, публічним ключем та контрольними значеннями Genesis Block.

  2. 02
    Mastering Bitcoin — The Genesis Block

    Технічний виклад змісту першого блоку, coinbase-повідомлення та його часового значення.

  3. 03
    Satoshi Nakamoto Institute — Bitcoin v0.1 released

    Архів оригінального листа з оголошенням версії 0.1 від 8 січня 2009 року, 19:27 UTC: експериментальний характер програми та інструкція із запуску.

  4. 04
    Bitcoin: A Peer-to-Peer Electronic Cash System

    Оригінальний проєкт ланцюга блоків, proof of work та верифікації без центрального органу.

  5. 05
    Mempool.space — транзакція f418…9e16 у блоці 170

    Публічний запис суми, виходів і блока.

Наступна історія · 12П'ять біткоїнів за одне клікання