Ключові висновки

  • Подвійні витрати — це потенційна вразливість у системах цифрових грошей, де ті самі кошти надсилаються двом отримувачам одночасно, підриваючи цілісність мережі платежів.

  • Централізовані системи запобігають подвійним витратам, покладаючись на довірений посередник, який перевіряє кожну транзакцію, але це створює єдину точку відмови.

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

  • Очікування кількох підтверджень блоків (зазвичай шість для платежів великої вартості) залишається одним із найефективніших захистів від спроб подвійних витрат.

Binance Academy courses banner

Вступ

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

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

Що таке подвійні витрати?

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

Розгляньмо простий приклад: у Аліси є 10 цифрових токенів. Вона надсилає всі 10 Бобу для товару, а потім одразу надсилає ті самі 10 токенів Карол для іншого товару. Якщо в системі немає механізму визначити, яка транзакція дійсна, і Боб, і Карол можуть вважати, що отримали оплату, хоча зрештою можна буде визнати лише одну транзакцію.

Щоб цифрові гроші працювали, мають існувати механізми, які не дозволяють користувачам витрачати ті самі одиниці більше одного разу.

Як можна запобігти подвійним витратам?

Централізований підхід

Найпростіше рішення використовує довіреного посередника. Центральний орган (наприклад, банк) веде реєстр і перевіряє кожну транзакцію перед тим, як її схвалити. Якщо Аліса спробує надіслати свої кошти і Бобу, і Карол, банк обробить перший запит і відхилить другий, тому що баланс уже витрачено.

Девід Чаум запропонував одну з таких систем (eCash) у 1982 році, використовуючи сліпі підписи. У цій моделі банк видає користувачам цифрово підписані токени, які вони можуть обмінювати конфіденційно. Коли отримувач подає токен для погашення, банк перевіряє, чи цей конкретний токен уже був витрачений.

Хоча цей підхід ефективний для запобігання подвійним витратам, він створює єдину точку відмови. Якщо банк піде офлайн, буде скомпрометований або відмовиться приймати токени, вся система перестане працювати.

Децентралізований підхід

Забезпечити, щоб кошти не можна було двічі витратити без центрального авторитету, значно складніше. Прорив стався у 2008 році в білій книзі Bitcoin від Сатоші Накамото, де було представлено децентралізоване рішення із використанням структури даних блокчейну.

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

Коли користувач публікує транзакцію, вона не стає остаточною одразу. Спочатку її потрібно включити в блок через майнінг. Лише після того, як блок підтверджено та додано до ланцюжка, транзакція вважається врегульованою (settled). Кожне наступне підтвердження додає ще один рівень безпеки, роблячи зворотне скасування експоненційно дорожчим.

Отримувачі повинні чекати підтверджень, перш ніж вважати платіж остаточним. Стандартна рекомендація для платежів великої вартості — шість підтверджень (приблизно одна година в Bitcoin), що забезпечує надійну імовірнісну фінальність.

Подвійні витрати в Bitcoin

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

Однак існують методи атак, які спрямовані на сторони, що приймають непідтверджені (zero-confirmation) транзакції:

  • Атаки гонки (race attacks): зловмисник майже одночасно транслює дві конфліктні транзакції. Одна платить мерчанту; інша надсилає ті самі монети назад на власну адресу атакувальника. Підтверджено буде лише одну. Якщо мерчант доставляє товари до підтвердження, він ризикує втратити платіж.

  • Атаки Фінні: зловмисник попередньо майнить блок, що містить транзакцію, яка надсилає монети на власну адресу. Потім він витрачає ці самі монети в мерчанта та швидко публікує попередньо майнений блок, потенційно анулюючи платіж мерчанта.

  • Атаки 51%: якщо одна організація контролює більше половини обчислювальної потужності мережі майнінгу, вона може швидше будувати приватну ланцюжкову історію, ніж чесна мережа, та переписувати нещодавню історію транзакцій. У Bitcoin це економічно малоймовірно через величезний хешрейт.

Спільна риса: мерчанти, які чекають підтвердження блоків, значно знижують ризик стати жертвами.

Ризик подвійних витрат у 2026 році

Загроза подвійних витрат еволюціонувала з перших днів Bitcoin. Ось як виглядає ситуація у 2026 році:

Bitcoin залишається надзвичайно стійким

Не було підтверджених подвійних витрат або атак 51% на основному ланцюжку Bitcoin. Хешрейт мережі досяг рекордних рівнів, тож вартість атаки у рази вища за будь-який реалістичний прибуток. Іноді природно трапляються реорганізації ланцюжка на один блок у системах proof-of-work, і вони швидко розв’язуються без помітного впливу для користувачів.

Менші монети proof-of-work залишаються вразливими

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

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

Proof-of-stake пропонує іншу модель

Мережі, що використовують консенсус proof-of-stake (наприклад, Ethereum після Merge), забезпечують криптоекономічну фінальність, а не імовірнісну. Коли блок фіналізовано, щоб повернути його назад, зловмиснику потрібно буде пожертвувати суттєвою частиною заcтейканих активів через автоматичні штрафи (slashing). Це робить глибокі подвійні витрати економічно руйнівними для атакувальника — у доповнення до підходу, що базується на підтвердженнях, який використовують ланцюжки proof-of-work.

Сучасні інструменти захисту

Крім очікування підтверджень, мерчанти та біржі використовують складні інструменти: моніторинг mempool на предмет конфліктних транзакцій, скоринг ризиків у реальному часі для підозрілих платіжних схем, а також автоматизовані політики утримання коштів (hold), які коригують вимоги до підтверджень залежно від суми транзакції та поточних умов у мережі.

FAQ

Чи коли-небудь успішна атака з подвійними витратами траплялася на Bitcoin?

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

Скільки підтверджень мені слід чекати?

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

Чи може подвійне витрачання відбуватися в блокчейнах proof-of-stake?

Ланцюжки proof-of-stake використовують механізми фінальності, що роблять подвійні витрати надзвичайно дорогими. Коли блок фіналізовано, щоб повернути його назад, атакувальнику потрібно буде контролювати значну частку всієї заcтейканої вартості та прийняти масивні штрафи (slashing). Хоча теоретично це й не неможливо, економічно це неприпустимо для добре спроєктованих мереж із широким розподілом ставок.

Чому деякі біржі вимагають багато підтверджень для певних монет?

Біржі коригують вимоги до підтверджень відповідно до профілю безпеки монети. Монети з низьким хешрейтом, централізованим майнінгом або історією атак із реорганізаціями можуть вимагати 50, 100 чи навіть більше підтверджень, перш ніж депозити зарахуються. Це захищає біржу від поглинання збитків, якщо станеться відкат через подвійні витрати.

Чи унікальна проблема подвійних витрат для криптовалюти?

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

Підсумкові думки

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

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

Додаткове читання

  • Що таке Proof of Stake?

  • Що таке механізм консенсусу?

  • Що таке криптогаманець?

  • Що таке криптографія?

  • Які комісії транзакцій у блокчейні?


Застереження: цей контент надається вам у форматі "як є" лише для загальної інформації та освітніх цілей, без будь-яких заяв, гарантій чи зобов’язань. Його не можна тлумачити як фінансову, юридичну або іншу професійну пораду, і він не має на меті рекомендувати купівлю будь-якого конкретного продукту чи сервісу. Вам слід отримати власну пораду від відповідних кваліфікованих фахівців. Якщо контент надано стороннім автором, майте на увазі, що висловлені там погляди належать цьому сторонньому автору і не обов’язково відображають позицію Binance Academy. Ціни на цифрові активи можуть бути волатильними. Вартість ваших інвестицій може знижуватися або зростати, і ви можете не отримати суму, яку інвестували. Ви несете відповідальність за власні інвестиційні рішення, а Binance Academy не несе відповідальності за будь-які збитки, які ви можете понести. Для отримання додаткової інформації див. наші Умови користування, Попередження про ризики та Умови Binance Academy.