Біткоін - одна з форм цифрових грошей, що дозволяє здійснювати онлайн-платежі між двома людьми - продавцем і покупцем. Працює за принципом «розподіленої бухгалтерської книги», в яку вписуються транзакції і сальдо рахунків.
Протокол Bitcoin працює на основі принципів криптографії та визначає процедуру формування, підтвердження і запису кожного окремо взятого грошового переказу. Немає потреби наводити конкретний програмний код - він знаходиться у вільному доступі в вигляді «білої книги» - «Bitcoin: A Peer-to-Peer Electronic Cash System" ». Однак зрозуміти його особливості можна, розібравшись в порядку формування транзакцій і подальших дій учасників блокчейна з ними.
Біткоін-транзакції
У них міститься наступна інформація:
- Унікальний ідентифікатор, що утворюється при подвійному пропущенні інформації через хеш-функцію SHA256.
- Поповнення. Або біткоін-адреса, яка визначає джерело біткоінів, що підлягають переведенню. Найчастіше є виводом з попередніх транзакцій і використовуються для перевірки реальності відправника і наявності на його рахунку необхідних коштів.
- Кількість біткоінів, яку необхідно перевести на іншу адресу.
- Вивід. Або біткоін-адреса одержувача.
Вивід однієї транзакції може використовуватися в якості поповнення для іншої - це створює безперервність ланцюжка і дозволяє відстежувати шлях переміщення біткоіна по блокчейну.
Перевірка переказів
Усі транзакції мережі блокчейн зобов'язані бути перевірними на справжність, спрямованість і наявність реальних криптовалютних активів. Даний процес не є централізованим - в ньому беруть участь всі вузли мережі.
Обліковий запис, який ініціює процес, ідентифікується за біткоін-адресою і парою ключів - закритому та відкритому. Для проходження перевірки автентичності, відправник позначає криптовалютний переказ цифровим підписом, створеним на основі закритого ключа. А будь-який вузол мережі за допомогою відкритого ключа, який відомий всім, може підтвердити або спростувати достовірність.
Криптовалютні перекази не вписуються в блокчейн поодинці - вони формуються в списки, звані блоками. Вони пов'язані між собою ланцюжком - блокчейном. Всі ті транзакції, що вже були відправлені в мережу, але не додалися до списку і не були підтверджені, є оборотними.
Майнери перевіряють справжність кожного грошового переказу і додають його в блок. Кожен з них повинен отримати певну кількість незалежних підтверджень.
На кожному комп'ютері, підключеному до мережі, зберігається актуальна копія всього блокчейна, яка оновлюється по мірі надходження нової інформації. У процесі формування нового блоку, потрібно додатково вирішити особливе математико-криптографічне завдання, зване «доказ роботи». Той майнер, який впорається з ним першим, отримує винагороду після підтвердження іншими вузлами правдивості його розрахунків.
У чому полягає протокол?
З точки зору процесу створення і валідації транзакцій, протокол біткоін можна сформулювати так:
- Кожна нова транзакція передається на всі вузли мережі.
- Кожен вузол збирає все нові перекази в блок.
- Кожен вузол намагається першим знайти рішення хеша, щоб отримати доказ роботи.
- Перший вузол, який знаходить рішення, передає готовий блок в мережу.
- Всі вузли перевіряють правильність обчислень і приймають, або не приймають, новий блок.
- Починається робота над новим блоком. Хеш тільки що обчисленого додається в новий, тим самим гарантуючи безперервну послідовність.
Висновок
Протокол біткоін заснований на спільному веденні і створенні «розподіленої облікової книги біткоін». Кожна транзакція намертво фіксується в новому блоці, який підтверджується тільки при підтвердженні достовірності всіх криптовалютних переказів і обчисленні правильної хеш-суми. Всі процеси перевіряються усіма учасниками мережі - в цьому і полягає алгоритм консенсусу.