Модуль 3 з 8

Технічна історія Bitcoin

3.0 Вступ

Анотація до Bitcoin White Paper

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

Bitcoin не з’явився на порожньому місці, а був побудований на основі роботи багатьох людей у попередні десятиліття. У цьому модулі ми розглянемо основи інтернету, на яких базується Bitcoin, а також дослідження та розробки, згадані у whitepaper.

У 70-х роках група людей звернула увагу на те, як уряд США, зокрема, намагався обмежити доступ до криптографії, і вирішила зробити цю технологію доступною для всіх людей, щоб захистити їхню приватність в інтернеті. Деякі з цих ранніх піонерів також зосереджувалися на потенційних перевагах цифрової системи «звукових грошей», яку можна було б використовувати для зберігання та обміну цінностями через новий інтернет. Фрідріх Гаєк — провідний представник австрійської економічної школи — ще до появи інтернету уявляв, якою могла б бути ідеальна валюта, заснована на конкуренції вільного ринку, але вважав це технічно та політично неможливим. Окрім цифрової приватності, ця група, яка згодом стала відома як Cypherpunks, намагалася реалізувати бачення Гаєка щодо цифрових грошей, але ці спроби зазнавали невдачі до того, як Сатоші опублікував свої ідеї у розсилці.

  • Протокол TCP/IP (1976)
  • Протоколи для криптосистем з відкритим ключем — Ральф Меркле (1980)
  • Digicash — Девід Чаум (1989)
  • Цифрове фіксування часу (90-ті)
  • Hashcash — Адам Бек (1997)
  • BitTorrent — Брем Коен (2001)
  • Reusable POW — Гел Фінні (2004)
  • Bitcoin Whitepaper — Сатоші Накамото (2008)

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

Потреба у цифрових грошах також була визначена, і було зроблено кілька спроб їх створити, але вони мали обмеження, які не дозволили їм стати успішними. Геній Сатоші Накамото полягав у тому, що він об’єднав ці можливості, додавши власні інновації, і на їх основі створив протокол Bitcoin, який використовується сьогодні. У наступних розділах ми розглянемо деякі з цих розробок і пояснимо, як вони вплинули на дизайн Bitcoin. Також обговоримо, яких елементів бракувало, і як Сатоші вдалося їх вирішити.

3.1 Розробка TCP/IP

Більшість із нас знайомі з протоколами TCP/IP, які сьогодні використовуються як основа для інтернету. Їхнє походження сягає кінця 70-х років, коли науковці досліджували альтернативні проєкти до Arpanet — ще більш ранньої мережі, створеної Міністерством оборони США для забезпечення спільного використання ресурсів між віддаленими комп’ютерами. У 1983 році TCP/IP став стандартним протоколом для Arpanet, що призвело до його домінування як основної моделі мереж до кінця 1990-х і стало фундаментом для інтернету, на якому сьогодні працює Bitcoin.

Модель OSI TCP/IP
Застосування Застосування
Презентація Застосування
Сеанс Застосування
Транспорт Транспорт
Мережа Мережа
Канальний рівень Канальний рівень
Фізичний Фізичний

У той самий час, коли розроблялася модель TCP/IP, Міжнародна організація зі стандартизації (ISO) та телекомунікаційна індустрія (CCITT) працювали над схожою, але більш всеосяжною структурою. Процес розробки нових протоколів або внесення змін був повільним і громіздким у порівнянні з більш децентралізованим підходом TCP/IP, що й призвело до домінування останнього сьогодні.

Запит на зміну

Будь-які пропозиції щодо розвитку існуючих протоколів або ідеї нових можуть бути запропоновані в моделі TCP/IP через Запит на зміну процес. Вони проходять процедуру затвердження, яку координує Internet Engineering Task Force (IETF), і після схвалення стають відкритим кодом, щоб будь-хто міг їх впроваджувати та використовувати. Деякі приклади:

  • 1969 RFC 1 Документував, як пакети передаватимуться в Arpanet
  • 1981 RFC791 визначив Інтернет-протокол V4 — досі широко використовується
  • 1982 RFC 821 Simple Mail Transfer Protocol
  • 1987 Domain Name System — як доменні імена перетворюються на IP-адреси
  • 1999 RFC 2616 Hypertext Transfer Protocol — основний для перегляду веб-сторінок

Bitcoin Improvement Proposal (BIP) використовує схожий підхід до RFC, але зосереджений виключно на вдосконаленнях самого Bitcoin, а не на розробці нових чи альтернативних протоколів. Bitcoin також запозичує цю багаторівневу модель, і ви побачите додаткові протоколи, описані як другий або третій рівень.

Так само, як базові рівні моделі TCP/IP майже не змінювалися за останні десятиліття, а інновації відбувалися на вищих рівнях, базовий рівень Bitcoin також очікується змінюватися дуже повільно, а рішення для масштабування, такі як Lightning і Liquid, розвиваються вище.

Гарним прикладом того, як протоколи базового рівня з часом стають важкими для змін, є IPv6. Очікуване вичерпання адресного простору в IPv4 створило попит на новий протокол. Перший проєкт стандарту з’явився у 1998 році, але був затверджений як інтернет-стандарт лише у 2017-му. Хоча він вирішив багато проблем IPv4 і набагато краще підходить для майбутнього, його впровадження в індустрії досі дуже повільне. За цей час на верхніх рівнях було визначено багато нових протоколів для мультимедіа, електронної пошти тощо.

Будівельні блоки, які використовує Bitcoin

Таке розділення проблем взаємозв’язку дозволяє розробляти протоколи незалежно від рівнів вище й нижче. Замість того, щоб винаходити рішення для кожного рівня заново, мережа Bitcoin може покладатися на базові можливості мережі, які забезпечуються на фізичному та канальному рівнях.

Рівень TCP/IP Оригінал
Застосування Використовує Domain Name System (DNS) для ідентифікації сусідніх вузлів. Порт 8333 сигналізує протокол Bitcoin.
Транспорт UDP для FIBRE-зв’язку між майнерами для низької затримки. TCP для P2P-комунікацій між вузлами.
Транспорт TOR-маршрутизація: забезпечує анонімність і приватність. Протокол широкомовлення: маршрутизує трафік по мережі.
Канальний Працює через будь-яке середовище (наприклад, Ethernet, Wi-Fi тощо)
Фізичний Фізична передача через бездротові, Ethernet або інші апаратні інтерфейси.
Bitcoin — це нейтральний протокол для передачі цінності, як HTTPS — протокол для передачі інформації
  • HTTPS: Захищені вебсайти
  • SMTP: Надсилати електронні листи
  • FTP: Передавати файли
  • DNS: Керувати доменними іменами
  • BTC: Зберігати та передавати цінність

Bitcoin дозволяє надійно передавати цінність між людьми або пристроями через Інтернет без необхідності у посередниках. Очікується, що це відкриє величезний потенціал.

3.2 Криптографія з відкритим ключем і протоколи

Сьогодні Інтернет і більшість сучасних комп’ютерних систем покладаються на криптографію — метод приховування інформації так, щоб лише отримувач міг її розшифрувати. Основи криптографії, яка використовується для захисту Bitcoin, сягають 70-х років минулого століття.

Перше питання, яке потрібно вирішити — як передати спільний секрет через незахищене середовище.

Вперше це питання розглядали Вітфілд Діффі та Мартін Геллман.

Проблема: дві сторони — зазвичай їх називають Аліса та Богдан — хочуть поділитися секретною інформацією через мережу, де хтось може підслуховувати. Для цього вони створили процес обміну ключами Діффі-Геллмана.

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

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

Варіанти використання:

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

Хоча його не згадано в статті, Ральф Меркле був ключовою фігурою у вирішенні того, що до того часу вважалося нерозв’язною задачею — як встановити або відновити приватне спілкування через відкриту й потенційно ворожу мережу.

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

Протоколи для криптосистем із відкритим ключем

Окрім внеску в систему з відкритим ключем Діффі-Геллмана, описану вище, Ральф Меркле продовжував працювати в цій сфері багато років і був ключовим у розробці деяких важливих компонентів, які використовує Bitcoin.

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

  • Вхідні дані можуть бути будь-якого розміру
  • Вихід завжди має фіксовану довжину й детермінований (однаковий вхід створює однаковий хеш щоразу)
  • Перевірити легко, але надзвичайно складно обернути процес, щоб визначити вхідні дані
  • Навіть незначна зміна даних повністю змінює результат
Hash function

Хешування є невід’ємною частиною протоколу Bitcoin. SHA-256, який використовується в Bitcoin, був створений АНБ і є прикладом криптографічного алгоритму хешування.

  • Кожен блок у ланцюжку хешується так, щоб дані не можна було змінити — це забезпечує цілісність розподіленого реєстру.
  • Згенерований хеш повинен відповідати критеріям «Доказу роботи», щоб блок вважався дійсним.
  • Дерева Меркле — використовуючи розгалуження та хеші хешів, хеш-дерева дозволяють перевіряти великі набори даних із мінімальним обсягом зберігання.
  • Хеш-основні підписи та ключі можуть використовуватися для гаманців, адрес і авторизації транзакцій.

Розподілена перевірка станів блокчейну та моделі реєстру лише для додавання, стійкі до змін, стали можливими завдяки односторонньому хешуванню. Хеш-функції забезпечують надійний, детермінований спосіб перевірки подій у публічних реєстрах, таких як Bitcoin, без централізованої моделі довіри.

Очікувалося, що ці нові можливості у сфері криптографії започаткують нову хвилю інновацій.

Криптографія на еліптичних кривих

Одним із таких пізніших нововведень стала криптографія на еліптичних кривих.

Криптографія на еліптичних кривих була представлена у 1985 році двома науковцями — Н. Кобліцем і В. Міллером. Вони запропонували ідею використовувати точки, визначені еліптичними кривими, замість скінченних простих полів, щоб виконувалася гіпотеза про дискретний логарифм, як це зазвичай використовується у стандартному протоколі обміну ключами Діффі-Геллмана. Деталі того, як це працює, виходять за межі цього розділу, але загалом еліптична крива — це множина точок, які задовольняють певне математичне рівняння.

Рівняння для еліптичної кривої виглядає приблизно так:

Elliptic curve

Це має кілька корисних властивостей:

  • Горизонтальна симетрія. Будь-яку точку на кривій можна відобразити відносно осі x, і вона залишиться на тій самій кривій.
  • будь-яка не вертикальна пряма перетинає криву максимум у трьох точках.
  • Компактні розміри ключів є важливими для ефективного зберігання та передачі публічних ключів у блокчейні.

Ці властивості можна використати для створення пар ключів подібно до алгоритму Діффі-Геллмана. Bitcoin використовує ECDSA, що означає Алгоритм Цифрового Підпису на Еліптичних Кривах. Це процес, який використовує еліптичну криву та скінченне поле для «підпису» даних так, що треті сторони можуть перевірити справжність підпису, а підписант зберігає виключне право створювати підпис. У Bitcoin підписуються дані транзакції, яка передає право власності.

«Скінченна» частина подібна до підходу з «mod» у Діффі-Геллмана, де результат рівняння ділиться, і залишок використовується для того, щоб він потрапляв у певний діапазон чисел.

3.3 DigiCash

Одним із перших учасників «нової хвилі інтересу» до криптографії був Девід Чаум. У юності він навчався зламувати комп’ютерні системи, і його успіхи призвели до недовіри до так званих «безпечних» систем. Він також помітив проблему, яку раніше не враховували: «як зберегти в таємниці знання про те, хто з ким і коли спілкується».

Він розробив анонімний поштовий протокол із використанням криптографії з відкритим ключем, який «міксував» повідомлення, щоб зберегти анонімність джерела та одержувача. Це стало основою для мережі TOR.

Чаум розглядав цифрові платежі так само — розуміючи, що «відстежувані фінансові транзакції, здійснені особою, можуть багато розповісти про її місцезнаходження, зв’язки та спосіб життя». У 1980 році він запатентував систему цифрових грошей, захищену криптографією, яка стала основою для криптовалют. Він також почав досліджувати ідею використання криптографії для створення повністю децентралізованої економіки, заснованої на децентралізації обміну повідомленнями та платежами.

Уряди добре вміють «відрубувати голови» централізованим мережам, таким як Napster, але чисті P2P-мережі, як-от Gnutella та TOR, здається, тримаються самостійно.
Satoshi Nakamoto

Децентралізовані системи без центральної влади — peer-to-peer — мають кілька переваг:

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

Через десятиліття він заснував свою компанію Digicash, щоб створити «ecash» — першу у світі систему цифрових грошей. До Digicash на певний час приєдналися багато відомих імен, компанія мала певний успіх, але зрештою зазнала невдачі та оголосила про банкрутство.

Подальший розвиток цифрових грошей

У повідомленні на форумі в липні 2010 року Satoshi Nakamoto сказав: «Bitcoin — це реалізація пропозиції Wei Dai щодо b-money на Cypherpunks у 1998 році та пропозиції Nick Szabo щодо Bit Gold».

Хоча жодна з цих двох ідей не вийшла за межі стадії пропозиції, деякі з них явно вплинули на розробку Bitcoin:

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

Але спочатку розглянемо Hashcash.

3.4 Hashcash

Hashcash був створений Адамом Беком, ще одним із ранніх новаторів у цій сфері. Адам мав великий інтерес до вільних ринків і приватності в інтернеті, і натрапив на розсилку Cypherpunks, до якої приєднався і став активним учасником.

Він дуже цікавився цифровими грошима і запропонував кілька ідей, як група могла б тісніше співпрацювати з Chaum над DigiCash, але ці ідеї не отримали розвитку. Тоді він звернув увагу на іншу проблему, що набирала обертів — спам у електронній пошті. Він та інші учасники Cypherpunks хотіли знайти рішення проблеми спаму, коли спамерам було дуже просто створювати й надсилати тисячі листів, що перевантажують мережі. Його інноваційне рішення ґрунтувалося на хешуванні — можливості криптографії перетворювати будь-які дані на унікальний і випадковий рядок певної довжини, щоб створити цифрову «марку», яку потрібно було додати до листа, щоб він вважався дійсним і міг передаватися мережею. Це був незначний кошт для справжнього листа, але непосильний для спамера.

Ключова інновація, яку створив Hashcash, полягала у прив’язці реальних ресурсів — обчислювальної потужності — до цифрової мережі. Якщо до цього цифрові ресурси можна було копіювати без обмежень, то кількість «hashcash», яку можна було створити, обмежувалася тим, скільки енергії люди були готові вкласти.

Хоча це рішення відповідало деяким критеріям, які, на думку Адама, були необхідні для цифрової грошової системи: воно було анонімним, стійким і не вимагало довіри, кожен hashcash не був повторно використовуваним і не був по-справжньому дефіцитним. Він запропонував інші способи вирішення цих питань із залученням зовнішніх третіх сторін.

BitGold

Нік Сабо розвинув концепцію Hashcash і доказу роботи, запропонувавши альтернативне рішення, яке він описав у розсилці через рік після публікації Hashcash, у 1998 році.

Хоча це наближало до вирішення, ця пропозиція все ще мала кілька викликів.

  • Хто буде вести реєстр власності хешів і як їм можна довіряти?
  • З часом хешування зазвичай стає дешевшим, що також є викликом для HashCash.

Оскільки пов’язані хеші мали бути позначені часовими мітками, він запропонував певну форму історичного відстеження складності хешування на той момент; раніший хеш вимагав би більше обчислювальних витрат, ніж пізніший, оскільки витрати знижувалися. На жаль, це означало, що хеші не були б «фунгібельними», тобто рівноцінними, що вважається ключовою властивістю цифрових грошей. Щоб допомогти вирішити це, Нік запропонував певну форму «вільного банкінгу» поверх BitGold, яка могла б агрегувати різні групи хешів, що оцінювалися б однаково.

B-Money

Невдовзі після пропозиції Bit Gold Вей Дай запропонував схоже рішення. Він уже розробив кілька інших інструментів для Cypherpunks і мав власні ідеї щодо цифрових грошей.

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

Вей Дай запропонував кілька рішень цих проблем, одне з яких полягало в тому, що замість центральної сутності(ей), яка веде реєстр, ВСІ вузли мали б зберігати його копію. Якщо всі користувачі перевіряли б власний реєстр і дійсність кожної транзакції, то, доки всі вузли залишаються актуальними, реєстри мали б залишатися синхронізованими по всій мережі. Така високо розподілена система була б складною для компрометації.

Вей Дай визнавав, що це не вирішує проблему візантійських генералів (1), оскільки вузли могли легко втратити синхронізацію або просто брехати. Він запропонував альтернативні методи, наприклад, мати підмножину «довірених» серверів, які ведуть реєстр, і створити фінансові стимули для підтримки їхньої чесності.

Щодо монетарної політики, він запропонував прив’язати купівельну спроможність B-Money до певного зовнішнього індексу споживчих цін. Він хотів, щоб однакова кількість B-Money могла купувати однакову частку індексу з часом, забезпечуючи певну стабільність цін. Таким чином, будь-хто міг створювати нові одиниці валюти, надаючи дійсний хеш, але складність створення хеша могла змінюватися з часом залежно від вартості процесора та індексу цін, щоб кожна одиниця була «незмінною».

3.5 BitTorrent

Ще одним проєктом, який відіграв значну роль у формуванні криптовалют до появи біткоїна, є BitTorrent.

У 2001 році Брем Коен опублікував дизайн протоколу під назвою BitTorrent, який був створений для забезпечення роботи однорангової системи обміну файлами. Він почав працювати в компанії під назвою MojoNation, яку заснували для того, щоб люди могли розбивати конфіденційні файли на зашифровані частини, які розповсюджуються на комп’ютерах із встановленим програмним забезпеченням. Копія файлу завантажувалася одночасно з кількох комп’ютерів. Хоча цей проєкт зрештою зазнав невдачі, він познайомив Коена зі сферою обміну файлами, де він вирішив створити кращий протокол, який складався з:

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

Схожість із Bitcoin:

  • Обидва протоколи працюють на одноранговій основі
  • Децентралізований дизайн
  • Файли BitTorrent і реєстр Bitcoin розподілені по всій мережі
  • Відкритий вихідний код (згодом BitTorrent став програмою із закритим кодом)

3.6 Багаторазове доказ роботи

Гел Фінні — ще один відомий учасник руху Cypherpunk, який дуже цікавився розвитком електронних грошей і був активним учасником розсилки.

Він вирішив ще раз спробувати розробити систему електронних грошей на основі proof-of-work. До цього моменту хеш-вихід був унікальним для кожної транзакції, але його ідея полягала у створенні «багаторазових доказів роботи».

Недоліком цього підходу є централізований сервер, якому потрібно довіряти, що він не здійснить подвійне витрачання або не буде вимкнений. Щоб обійти це, Гел запропонував використовувати вільне та відкрите програмне забезпечення, яке можна розмістити на захищеному апаратному компоненті та незалежно перевіряти.

Рішення все ще стикалося з деякими з тих самих проблем, що й інші пропозиції:

  • Проблема «курки й яйця» щодо впровадження: відсутній стимул для користувачів запитувати токени, а продавці не хочуть підключатися до системи, якщо користувачі не бажають платити цими токенами.
  • POW, ймовірно, також буде дешевшати з часом у міру покращення обчислювальної потужності, що свідчить про те, що ринок зрештою буде переповнений одиницями валюти RPOW.
Якщо закон Мура залишатиметься вірним, вартість створення токена (POW) буде знижуватися стабільно й експоненціально. Майте на увазі, що це не гроші й не призначено для збереження вартості, а радше легкий для обміну представник комп’ютерних зусиль.
Гел Фінні

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

3.7 Біткоїн

Після багатьох років і невдалих спроб, більшість Cypherpunks почали втрачати інтерес до ідеї цифрової валюти без дозволу, коли Адам Бек отримав електронного листа з посиланням на чернетку white paper під назвою «electronic cash without a third party» від анонімної особи, яка назвала себе Satoshi Nakamoto.

Підсумовуючи на цьому етапі, у нас є принаймні такі ідеї:

  • Криптографічні підписи, які можуть забезпечити певний рівень приватності та анонімності
  • Концепція незабезпеченої валюти (B-Money)
  • Пропозиції (але без засобів) щодо обмеження випуску нової валюти
  • Цифрові монети, право власності на які визначалося публічними ключами (B-Money) і які можна було переміщати шляхом підпису та перепризначати за адресою отримувача (RPOW та Hashcash)
  • Усі вузли підтримують копію повністю розподіленого реєстру (B-Money) (на той час відкинуто як непрактичне)
  • Протокол позначення часу — використання хешування дерева Меркла для математично доведеної хронології подій, яку важко підробити, якщо всі користувачі зберігають однакові записи
  • Proof of work для прив’язки реальних зусиль до системи (але використовуючи сам хеш як валюту)
  • Повністю децентралізовані мережі, де всі учасники рівні та можуть вільно приєднуватися і залишати мережу (BitTorrent)
  • Концепція прив’язки нових хешів до попередніх (Bit Gold і позначення часу)

На той час бракувало:

  • Життєздатного рішення для вирішення проблеми «візантійських генералів»
  • Методу обмеження кількості грошей в обігу, незважаючи на постійне вдосконалення обладнання
  • Схеми стимулів для участі людей (проблема курки й яйця)

Інша суттєва відмінність між останніми спробами та Bitcoin полягала в тому, що Satoshi працював над кодом деякий час у справжньому дусі «Cypherpunks write code» до того, як оголосити про це у розсилках, на відміну від Bit Gold і B-Money, які були більше концептуальними.

У чому полягала інновація, яка відрізняла Bitcoin від попередніх спроб створити електронні гроші?

Proof of work використовувався як механізм консенсусу та спосіб забезпечення безпеки й незмінності: замість використання хешу як форми грошей, його застосовували у новому концептуальному процесі, який назвали майнінгом, де вузол об’єднував набір транзакцій, додавав випадкове число і застосовував хешування до «блоку» даних. Дійсний блок, який відповідав вимогам хешу, оголошувався мережі. Ці блоки зв’язувалися між собою за допомогою хешу попереднього блоку, і найдовший блокчейн використовувався у разі розбіжностей, коли різні вузли одночасно підтверджували й оголошували різні блоки, створюючи розгалуження ланцюга. Proof of work став розподіленим механізмом вирішення проблеми візантійських генералів.

Майнери також отримували стимул надавати обчислювальні потужності для proof-of-work, отримуючи нові bitcoin за кожен блок. Кількість Bitcoin, яку вони отримують, також запрограмована на зменшення приблизно кожні 4 роки, доки всі Bitcoin не будуть створені, що встановлює жорстку межу загальної кількості Bitcoin, які коли-небудь будуть в обігу, на рівні 21 мільйона.

Найоригінальнішою ідеєю був спосіб, у який він вирішив питання, скільки грошей створюється у міру вдосконалення обладнання та збільшення потужності мережі. Часові мітки певної кількості блоків (2016) усереднювалися, і якщо блоки створювалися занадто швидко, складність хешу для створення нового блоку підвищувалася, якщо занадто повільно — знижувалася. Це було закладено у децентралізований протокол, який виконують усі вузли, тому будь-який майнер, який ігнорує це, витрачає енергію на майнінг блоку без користі, оскільки він буде відхилений рештою мережі. Це коригування гарантує, що створення нових блоків відбувається за запланованим графіком емісії, і стимулює майнерів «грати за правилами».


Підсумок

Багато складових головоломки щодо створення децентралізованої peer-to-peer електронної грошової системи на основі принципів здорових грошей були вже на місці до того, як Satoshi опублікував свій whitepaper і незабаром після початкового випуску коду.

Природа Bitcoin така, що після випуску версії 0.1 основний дизайн залишився незмінним на весь час його існування
Satoshi Nakamoto

Хоча було запропоновано й прийнято багато ідей для покращень (BIP), Bitcoin працює у фоновому режимі з 2009 року, дотримуючись протоколу, закладеного у початковому випуску, і майже без збоїв. Усі покращення здійснювалися з урахуванням зворотної сумісності з усіма попередніми версіями.

Примітки
  1. Пояснення проблеми візантійських генералів — дивіться https://uk.wikipedia.org/wiki/Візантійська_відмова

↑ До змісту