logo involta foundation
Involta Foundation

Проблема двойной траты

coin

 

Двойная трата — это потенциальная проблема в системах электронной наличности, где одни и те же средства можно отправить двум получателям.

Без каких-либо конкретных решений проблемы, любой протокол становится бесполезным, так как пользователь не будет уверен в том, что полученные им деньги не были потрачены кем-то еще.

Решение проблемы

Централизация

Централизованный метод борьбы с двойной тратой предусматривает компонент в системе, который будет контролировать все транзакции. Такой метод гораздо проще в плане реализации и безопасности, так как исходный код может быть закрытым.

Существует метод слепых подписей, автором которого является Дэвид Чом (1982). В таком случае пользователь получающий деньги сначала информирует банк о желании получить их.

Проблема в том, что центральный орган системы, то есть банк может быть уязвим к атаке или сам стать злоумышленником.

В децентрализованной одноранговой сети, где все равны, проблема двойной траты решается по-другому

Децентрализация

Чтобы предотвратить двойную трату в децентрализованных системах, нужно приложить гораздо больше усилий. Так как все участники равны, они должны действовать по общим правилам, чтобы защитить систему от взлома.

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

Когда пользователь желает объявить всей сети, что он перевел деньги, его транзакция добавляется блокчейн не сразу. Сначала ее добавляют в блок посредством майнинга, где проверяется подлинность транзакции. Только после добавления транзакции в блокчейн можно говорить об успешности операции.

Как только транзакция окажется в блокчейне, средства нельзя будет потратить второй раз, потому что навсегда было решено, что деньги ушли другому пользователю.

Рекомендуется считать транзакцию подлинной только после появления еще нескольких блоков. Таким образом транзакцию будет сложнее отменить при помощи атаки 51%.

 

 

Читайте также