Блокчейн забезпечується за допомогою різноманітних механізмів, включаючи передові технології шифрування, теорії зміни поведінки та механізми прийняття рішень. Технологія блокчейн є основою більшості систем цифрових валют і є тим, що запобігає повторенню/копіюванню або знищенню цього типу цифрових грошей.
Наразі також вивчаються способи використання технології блокчейну в інших сферах, де цінними є незмінність даних та їхня безпека. Серед прикладів — реєстрація й відстеження благодійних пожертвувань, медичні бази даних та управління ланцюгами постачання.
Однак безпека блокчейну — не проста тема. Тому важливо розуміти базові поняття та механізми, які надають цим інноваційним системам надійний захист.
Незмінність (недоступність для змін) та консенсус
Хоча багато характеристик пов’язані з безпекою блокчейну, найголовніше — це консенсус (узгодження) та незмінність (недоступність для змін). Консенсус означає здатність вузлів у розподіленій мережі блокчейну домовлятися про реальний стан мережі та про валідність транзакцій. Зазвичай процес досягнення консенсусу в думках базується на так званих алгоритмах консенсусу.
З іншого боку, незмінність означає здатність блокчейну запобігати зміні транзакцій, які вже були підтверджені. Хоча ці транзакції переважно стосуються переказу цифрових монет, вони також можуть вказувати на записи інших, не грошових, форм цифрових даних.
Разом консенсус і незмінність забезпечують основу безпеки даних у мережах блокчейну. У той час як алгоритми консенсусу (узгодження) гарантують, що правила системи дотримуються і що всі зацікавлені сторони погоджуються з поточним станом мережі, незмінність забезпечує цілісність даних і записів транзакцій після того, як буде підтверджена правильність кожної нової сукупності даних.
Роль криптографії в безпеці блокчейну
Мережі блокчейну значною мірою покладаються на криптографію, щоб забезпечити безпеку своїх даних. Одна з важливих функцій криптографії в цьому контексті — хешування (Hashing). Хешування — це процес, за якого алгоритм, відомий як Hash function (хеш-функція), приймає вхідні дані (будь-якого розміру) і повертає визначені виходи, що містять значення сталої довжини.
Незалежно від розміру вхідних даних, вихідні дані завжди матимуть однакову довжину. Якщо вхідні дані змінюються, то змінюються й виходи повністю; але якщо вхідні дані не змінюються, то отриманий хеш завжди залишатиметься незмінним, незалежно від того, скільки разів ви запускаєте хеш-функцію (Hash function).
У блокчейні ці вихідні значення, відомі як хеші, використовуються як унікальні ідентифікатори блоків даних. Хеш кожного блоку створюється на основі хеша попереднього блоку. Саме це пов’язує блоки між собою та формує ланцюжок блоків (blockchain). Крім того, хеш блоку залежить від даних, які містяться в цьому блоці, тобто будь-яка зміна, внесена в дані, вимагає зміни хеша блоку.
Тому хеш кожного блоку створюється на основі даних, що містяться в цьому блоці, і хеша попереднього блоку. Ці ідентифікатори хешу відіграють ключову роль у забезпеченні безпеки блокчейну та його незмінності.
Хешування (Hashing) також використовується в алгоритмах консенсусу для перевірки правильності транзакцій. Наприклад, у блокчейні біткоїна алгоритм proof of work (PoW — доказ виконання роботи), який застосовується для досягнення консенсусу та майнінгу нових монет, використовує хеш-функцію під назвою SHA-256. SHA-256 бере вхідні дані та повертає хеш довжиною 256 біт або 64 символи — як зазначено в назві. Окрім того, що SHA-256 забезпечує захист записів транзакцій у реєстрах (Ledgers), криптографія також відіграє роль у забезпеченні безпеки гаманців, які використовуються для зберігання одиниць цифрових монет. Створюються парні відкриті та приватні ключі, які дозволяють користувачам отримувати й надсилати платежі послідовно через використання асиметричної криптографії або криптографії публічного ключа. Приватні ключі використовуються для створення цифрових підписів транзакцій, що дає змогу підтверджувати право власності на монети, які надсилаються.
Хоча деталі виходять за межі цієї статті, сама природа асиметричної криптографії не дозволяє будь-кому, окрім власника приватного ключа, отримати доступ до коштів, що зберігаються в гаманці цифрової монети; таким чином ці кошти залишаються в безпеці, доки власник не вирішить витратити їх (за умови, що приватний ключ не було передано або зламано).
Криптоекономіка (Cryptoeconomics)
На додаток до криптографії, відносно нове поняття, відоме як криптоекономіка (cryptoeconomics), відіграє роль у підтриманні безпеки мереж блокчейну. Вона пов’язана з навчальною сферою, що має назву теорія ігор, яка математично моделює процес ухвалення рішень раціональними елементами в ситуаціях із заздалегідь визначеними правилами та винагородами. У той час як традиційну теорію ігор можна застосовувати в багатьох випадках, криптоекономіка визначає та описує поведінку вузлів у розподілених системах блокчейну.
Коротко кажучи, криптоекономіка — це дослідження економіки в межах протоколів мережі блокчейну та можливих наслідків, які може запропонувати їхній дизайн, виходячи з поведінки учасників. Безпека через криптоекономіку базується на ідеї, що блокчейн-системи надають вузлам сильні стимули діяти чесно, а не намагатися будувати зловмисні чи неправильні сценарії поведінки.
Знову ж таки, алгоритм консенсусу proof of work (Proof of Work / PoW), який використовується для майнінгу біткоїна, є гарним прикладом такої стимулювальної структури.
Коли Сатоші Накамото створював рамки для майнінгу біткоїна, їх навмисно спроєктували так, щоб цей процес був дорогим і ресурсомістким. Через свою складність і обчислювальні вимоги майнінг, що використовується в алгоритмі proof of work, передбачає значні інвестиції грошей і часу незалежно від того, де і хто майнить вузли. Тому така структура створює потужний бар’єр для зловмисної діяльності та забезпечує значні стимули для чесного майнінгу. Недостатньо потужні або неефективні вузли швидко відсіюються з мережі блокчейну, тоді як активний і ефективний майнер має можливість отримувати великі винагороди за блок.
Аналогічно, цей баланс ризиків і винагород також забезпечує захист від потенційних атак, з якими консенсус/узгодження може зіткнутися, коли більшість хешрейту мережі блокчейну опиняється в руках однієї групи або організації. Такі атаки відомі як атаки 51% і можуть бути дуже руйнівними, якщо їх виконати успішно. З огляду на конкурентність у системі майнінгу proof of work та розмір мережі біткоїна ймовірність того, що зловмисний учасник візьме під контроль більшість вузлів, є вкрай низькою.
Крім того, витрати на обчислювальні потужності, необхідні для здійснення успішної атаки 51% на мережу розміром із мережу біткоїна, будуть астрономічними. Це робить мотивацію для проведення такої атаки вкрай низькою з огляду на дуже великий обсяг інвестицій, який вона вимагає.
Цей факт, який відомий під назвою візантійської помилки (BFT), сприяє властивостям блокчейну. Тобто, по суті, здатності розподіленої системи продовжувати працювати належним чином, навіть якщо деякі вузли опиняються в небезпеці або діють зловмисно.
Поки вартість створення більшості зловмисних вузлів є надто високою і при цьому існують кращі стимули для чесної активності, система здатна буде розвиватися без будь-яких істотних збоїв. Однак варто зазначити, що невеликі мережі блокчейну безперечно схильні до атаки більшості (атаки 51%), оскільки загальний хешрейт, виділений для цих систем, значно нижчий, ніж у біткоїна.
Підсумкові думки
Блокчейн-системи можуть досягати високих рівнів безпеки як розподілені системи завдяки спільному застосуванню теорії ігор та криптографії. Як і у випадку майже всіх систем, важливо правильно застосувати знання з обох цих сфер. Точний баланс між децентралізацією та безпекою є критично важливим для побудови надійної й ефективної мережі цифрових монет.
Оскільки використання блокчейну продовжує розвиватися, його системи безпеки також змінюватимуться, щоб відповідати потребам різних застосунків. Наприклад, спеціальні блокчейн-системи, які зараз розробляються для бізнес-інституцій, забезпечують безпеку через контроль доступу більше, ніж через покладання на механізми теорії ігор (або криптоекономіки), які є необхідними для безпеки більшості публічних блоків.
