© CCFOUND sp. z o.o. sp.k.

Bitcoin: A Peer-to-Peer Electronic Cash System

Сатоши Накамото

31 жовтня 2008 року

Анотація

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

1. Вступ

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

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

2. Транзакції

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

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

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

3. Сервер штампування часу

Рішення, яке ми пропонуємо, починається зі сервера штампування часу. Сервер штампування часу працює шляхом отримання хешу блоку елементів, які потребують штампування, і широко публікує хеш, наприклад, в газеті або на Usenet-сайті[2-5]. Штамп підтверджує, що дані мали існувати в час, очевидно, щоб увійти в хеш. Кожен штамп включає попередній штамп в його хеш, утворюючи ланцюжок, де кожен додатковий штамп підсилює попередні.

4. Доказ роботи

Щоб реалізувати розподілений сервер штампування часу на основі уз взаємодії, нам потрібно використовувати систему з доказом роботи, схожу на Hashcash Адама Бека[6], а не газетних або Usenet-подій. Доказ роботи включає пошук значення, яке при хеширований, наприклад, за допомогою SHA-256, хеш починається з певної кількості нульових бітів. Середня праця, яка необхідна, є експоненціальною у кількості нульових бітів та може бути перевірена за допомогою виконання одного хешу.

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

Доказ роботи також вирішує проблему визначення представництва при прийнятті більшості рішень. Якби більшість була заснована на один-IP-адреса-одне голосування, її можна було б перекреслити ким завгодно, хто може виділити багато IP-адрес. Доказ роботи по суті є один-ЦПУ по одному голосу. Більшість рішень представлена найдовшим ланцюжком, в який вкладено найбільше зусиль доказу роботи. Якщо б

Сатоши Накамото

31 жовтня 2008 року

Анотація

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

1. Вступ

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

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

2. Транзакції

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

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

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

3. Сервер штампування часу

Рішення, яке ми пропонуємо, починається зі сервера штампування часу. Сервер штампування часу працює шляхом отримання хешу блоку елементів, які потребують штампування, і широко публікує хеш, наприклад, в газеті або на Usenet-сайті[2-5]. Штамп підтверджує, що дані мали існувати в час, очевидно, щоб увійти в хеш. Кожен штамп включає попередній штамп в його хеш, утворюючи ланцюжок, де кожен додатковий штамп підсилює попередні.

4. Доказ роботи

Щоб реалізувати розподілений сервер штампування часу на основі уз взаємодії, нам потрібно використовувати систему з доказом роботи, схожу на Hashcash Адама Бека[6], а не газетних або Usenet-подій. Доказ роботи включає пошук значення, яке при хеширований, наприклад, за допомогою SHA-256, хеш починається з певної кількості нульових бітів. Середня праця, яка необхідна, є експоненціальною у кількості нульових бітів та може бути перевірена за допомогою виконання одного хешу.

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

Доказ роботи також вирішує проблему визначення представництва при прийнятті більшості рішень. Якби більшість була заснована на один-IP-адреса-одне голосування, її можна було б перекреслити ким завгодно, хто може виділити багато IP-адрес. Доказ роботи по суті є один-ЦПУ по одному голосу. Більшість рішень представлена найдовшим ланцюжком, в який вкладено найбільше зусиль доказу роботи. Якщо б

https://nakamotoinstitute.or...
Show original content

2 users upvote it!

0 answers