Що лежить в основі Біткоїна?

07.11.2022
11 хв
2320
0
Що лежить в основі Біткоїна? Головний колаж статті.

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

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

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

Як покращена альтернатива традиційним валютам, Bitcoin має низку переваг:

  • Швидкі транзакції. Підтвердження транзакцій займає ~ 10 хвилин. Для порівняння: через традиційні фінансові установи операції у фіаті можуть займати до кількох днів, особливо великі перекази. При цьому не проходити у вихідні та святкові дні, а також у неробочі години.
  • Поділ. Bitcoin — це цифровий актив, його можна ділити на безліч частин, одна стомільйонна частина біткоїна називається сатоші. Це дає змогу здійснювати навіть незначні платежі.
  • Дешеві транзакції. Транзакції в біткоїні дешевші, ніж традиційні банківські перекази.
  • Обмеженість. Кількість біткоїнів обмежена, вона ніколи не перевищить 21 мільйон монет. Це робить його дефляційним активом, видобуток якого буде завершено приблизно в 2140 році. Рідкість біткоїна наближає його до золота, тому можна почути як його називають “Цифровим золотом”.

Майнінг біткоїна

Майнінг біткоїна — це процес перевірки транзакцій і додавання їх у блокчейн. Майнери не контролюють мережу або її правила, вони створюють нові блоки та перевіряють транзакції, вкладаючи в це власні ресурси: витрати на обладнання, електроенергію та заробітну плату. Транзакції додаються блоками в хронологічному порядку, гарантуючи, що біткоїн не буде витрачено двічі. Щойно транзакція отримає кілька підтверджень, одержувач може бути впевнений, що гроші переказані. У мережі також існують комісії, вони залежать від того, наскільки мережа завантажена, як правило, вони не великі.

Така складна комбінація криптографії, розподілених алгоритмів і теорії ігор зробила Біткоїн прозорою, відкритою, а головне децентралізованою грошовою системою, стійкою до цензури та шахрайства.

Криптографія та цифровий підпис

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

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

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

Алгоритм SHA-256 перетворює дані будь-якої довжини в хеш-функцію фіксованої довжини

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

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

Ще однією важливою перевагою хеш-функції є те, що її виведення — це випадкова одностороння функція. Це означає, що дані для входу не можуть бути передбачувано сформовані для отримання конкретного бажаного результату, а вихід не показує жодної інформації про вхід. Завдяки цьому, хеш можна використовувати як прив’язку до певної інформації, не розкриваючи саму інформацію, до якої вона прив’язана. Для Біткоїна ця властивість використовується для реалізації механізму Proof-of-Work.

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

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

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

  1. Дані, що підписуються. Вони можуть бути будь-якими: текст, зображення, аудіофайл тощо.
  2. Відкритий ключ особи, яка підписує. Відкритий ключ – це псевдоанонімна форма ідентифікації, яка інформує, що власник ключа підписав це повідомлення.
  3. Сам підпис. Представляє доказ, що власник відкритого ключа підписав надані дані.

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

Біткоїн реалізував алгоритм цифрового підпису під назвою ECDSA, а з оновленням Taproot, протокол використовує підписи Schnorr. Взаємодія між учасниками відбуваються поза блокчейном, але тепер один підпис може використовуватися для витрачання всіх входів транзакції:

Принцип роботи підпису Schnorr. Джерело: bitnovosti.com

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

Проблема Візантійських генералів

Щодо грошей, проблема довіри зберігалася протягом усієї історії. Певного компромісу вдалося досягти, коли в якості цінного активу стали використовувати золото, але залишалися суперечки з приводу його чистоти та ваги.

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

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

Проблема Візантійських генералів.

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

Для досягнення консенсусу потрібні такі умови:

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

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

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

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

Біткоїн розв’язав цю проблему, встановивши об’єктивний набір правил для блокчейна. Доказ роботи PoW (Proof-of-Work) — це алгоритм, що забезпечує безпеку мережі.

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

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

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

Проблема подвійного витрачання

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

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

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

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

Як вам стаття?

0
0

статті на цю ж тему

Топ-5 безкоштовних способів...
avatar Denis Solomyanyuk
15.04.2024
Рішення другого рівня для біткоїна —...
avatar Nikita Tipikin-Holovko
20.03.2024
Халвінг біткоїну у 2024 році: коли...
avatar Andrew Makarov
06.03.2024