Головна » бізнес » Як блокова ланцюг запобігає подвійному витрачанню біткойнів?

Як блокова ланцюг запобігає подвійному витрачанню біткойнів?

бізнес : Як блокова ланцюг запобігає подвійному витрачанню біткойнів?

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

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

Ключові вивезення

  • Технічна проблема, що виникає з поняттям цифрової валюти, - це можливість когось копіювати цифрові гроші та витрачати їх одночасно у двох чи більше місцях.
  • Ця проблема "подвійних витрат" запобігається в криптовалютах на основі блокчейна, таких як Біткойн, використовуючи механізм консенсусу, відомий як перевірка роботи (PoW).
  • Це ПЗ здійснюється децентралізованою мережею «шахтарів», які не лише забезпечують вірність минулих транзакцій у головній книзі блокчейна, але й виявляють та запобігають подвійним витрачанням.

Розуміння Blockchain

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

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

З точки зору Bitcoin, «блок» - це файл постійно записаних даних. Усі останні транзакції записуються в блоки, подібно до книги ведення акцій на біржі. Інформація з блоків додається до книги кожні кілька хвилин; всі вузли в мережі підтримують копію регістру блокчейна. Користувачі мають змогу орієнтуватися на блокчейн для біткойна та переглядати транзакції лише з точки зору кількості. Деталі про особистість покупця та продавця в будь-якій транзакції захищені шифруванням високого рівня, що також захищає головну книгу від підробки сторонніх джерел. Коли блокчейн-книга обновлюється, так само є і всі гаманці bitcoin.

Справа з подвійним витрачанням

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

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

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

Докази роботи та пояснення «майнінг»

Тепер давайте трохи більше технічного. Спосіб виявлення фальсифікацій, таких як спроба подвоїти витрати на практиці, - це хеши, довгі рядки чисел, які слугують доказом роботи (PoW). Покладіть заданий набір даних через хеш-функцію (біткойн використовує SHA-256), і він буде коли-небудь генерувати один хеш. Через "ефект лавини", однак, навіть невелика зміна будь-якої частини оригінальних даних призведе до абсолютно невпізнаваного хешу. Незалежно від розміру вихідного набору даних, хеш, що генерується даною функцією, буде однакової довжини. Хеш - це одностороння функція: його не можна використовувати для отримання вихідних даних, лише для перевірки відповідності даних, що генерували хеш, вихідним даним.

Генерування будь-якого хешу для набору транзакцій з біткойнами було б банальним для сучасного комп'ютера, тому для того, щоб перетворити процес на «роботу», мережа біткойн задає певний рівень «складності». Цей параметр регулюється таким чином, щоб новий блок був "видобутий" - додається до блокчейн шляхом генерування дійсного хешу - приблизно кожні 10 хвилин. Встановлення труднощів досягається встановленням "цілі" для хеша: чим менша ціль, тим менший набір допустимих хешів і тим складніше їх генерувати. На практиці це означає хеш, який починається з довгого рядка нулів: хеш для блоку # 429818, наприклад, є 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Цей блок містить 2012 транзакцій, що включають трохи більше 1000 біткойн, а також заголовок попереднього блоку. Якщо користувач змінив одну суму транзакції на 0, 0001 біткойн, отриманий хеш буде невпізнанним, а мережа відхилить шахрайство.

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

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

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

Порівняйте інвестиційні рахунки Ім’я постачальника Опис Розкриття рекламодавця × Пропозиції, що з’являються в цій таблиці, є партнерствами, від яких Investopedia отримує компенсацію.
Рекомендуємо
Залиште Свій Коментар