2. Транзакції
Ми визначаємо електронну монету як ланцюжок цифрових підписів. Кожен власник передає монету наступному, підписуючи хеш попередньої транзакції та відкритий ключ наступного власника та додаючи їх до кінця монети.
Одержувач може перевірити підписи, щоб перевірити ланцюжок власності.
Звичайно, проблема полягає в тому, що одержувач не може підтвердити, що один із власників не витратив монету двічі.
Загальним рішенням є запровадження довіреного центрального органу, або монетного двору, який перевіряє кожну транзакцію на наявність подвійних витрат.
Після кожної транзакції монету потрібно повертати на монетний двір для випуску нової монети, і тільки монети, випущені безпосередньо з монетного двору, вважаються такими, що не будуть подвійно витрачені.
Проблема цього рішення полягає в тому, що доля всієї грошової системи залежить від компанії, яка керує монетним двором, і кожна транзакція повинна проходити через них, як і банк.
Нам потрібен спосіб, щоб одержувач платежу знав, що попередні власники не підписували жодних попередніх транзакцій. Для наших цілей зараховується найраніша транзакція, тому ми не дбаємо про пізніші спроби подвоїти витрати.
Єдиний спосіб підтвердити відсутність транзакції - бути в курсі всіх транзакцій. У моделі, заснованій на монетному дворі, монетний двір був в курсі всіх транзакцій і вирішував, яка надходить першою.
Щоб досягти цього без довіреної сторони, транзакції мають бути публічно оголошені[1], і нам потрібна система, щоб учасники погоджували єдину історію порядку їх отримання.
Одержувачу платежу потрібен доказ того, що під час кожної транзакції більшість вузлів погодилися, що це був перший отриманий вузол.