Боб проводить транзакцію, щоб надіслати гроші Алісі. Транзакція, яку ініціював Боб, спочатку зберігається в Mempool (місце, де є всі непідтверджені транзакції). Для того, щоб транзакція з Mempool потрапила в Bitcoin блокчейн, майнери, спочатку повинні вирішити математичну проблему. Її рішення зазвичай займає 9 хвилин. Майнер, який вирішить цю проблему першим, заявляє іншим учасникам мережі, що він її успішно вирішив. Тепер інші майнери перевірять, чи є здобутий блок справді тим, що хоче додати Боб, чи це хакери намагаються зламати мережу. Після того, як все буде перевірено, транзакція буде успішно розміщена в блокчейні і Аліса отримає 1 BTC від Боба.
Зазначимо, що майнер, який першим вирішить математичну проблему, отримає винагороду або комісію за транзакцію у вигляді bitcoin.
Математична проблема
Давайте розберемося з математичною проблемою, яку вирішують майнери, щоб додати блок у мережу Bitcoin.
Кожна транзакція містить номер блоку, одноразове значення (nonce), дані, попередній хеш та власний хеш.
Номер блоку, як повідомляє нам ім'я, це номер поточного блоку, який належить додати в блокчейн. Дані містять деталі транзакції. У блокчейне хеш це як відбитки пальців, вони використовуються, щоб посилатися на попередні блоки. Попередній хеш містить значення хеш попереднього блоку, який міститься в блокчейні.
Одноразове значення це число, яке майнер може змінювати, щоб отримати певний хеш. Решта даних у блоці, тобто. номер блоку, дані та попередній хеш є незмінними за своєю природою. Ніхто не може їх змінити.
Алгоритм SHA 256
Уявімо, що у нас є файл. Ми можемо обробити цей файл за допомогою алгоритму SHA 256. На виході ми отримаємо хеш – 64 символи, кожен з яких може бути будь-яким шістнадцятковим символом. 4 біти на символ.
Хеш, який є частиною блоку, генерується, коли ми обробляємо номер блоку, дані, попередній хеш та одноразове значення за допомогою алгоритму SHA 256. Хеш можна порівнювати один з одним. Bitcoin протокол надає майнерам цільове значення хеша.
Хеш, який генерується майнерами, повинен бути меншим або дорівнює цільовому значенню, яке надав Bitcoin протокол. У такому випадку, блок буде додано до блокчейну. Майнери можуть змінювати одноразове значення, щоб генерувати нові хеші. Майнер, який першим згенерує хеш, який менший або дорівнює цільовому значенню, отримує нагороду за успішне вирішення математичної проблеми.
0 Комментарии