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

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

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

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

Розуміння криптографії та її використання в блокчейні

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

Вступ до криптографії

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

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

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

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

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

Сучасна криптографія

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

Існує три загальні класи сучасної програмної криптографії: хеш-функції, симетричне шифрування та асиметричне шифрування.

Функції хешування

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

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

Найпопулярнішим алгоритмом безпечного хешування на сьогоднішній день є SHA-256, який створює рядки довжиною 256 біт (тобто 256 послідовних 1s і 0s). 256-бітні хеші часто представлені в шістнадцятковому форматі рядків, тому вони можуть бути довжиною 32 або 64 символи. SHA-256 існує як частина набору хеш-функцій SHA-2, який замінив тепер криптографічно несправний SHA-1. SHA-3 також був представлений в 2015 році на основі криптографічного примітиву Keccak.

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

Симетричне шифрування

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

Найпопулярнішим симетричним шифром є розширена система шифрування (AES). AES пропонує 128-, 192-розрядні та 256-розрядні ключі – значне поліпшення порівняно з 56-бітними ключами, які використовувалися в попередньому та тепер небезпечному стандарті шифрування даних (DES). Для порівняння, 56-бітний ключ має 256, або 72 квадрильйони, можливих ключів, які можна зламати менш ніж за 24 години. В іншому випадку знадобиться трильйони і трильйони років, щоб перебрати 2 в силу 128 можливих ключів, навіть якщо всі комп’ютери світу об’єднані.

Симетричне шифрування використовує той самий секретний ключ для шифрування та розшифровки повідомлень.

Асиметричне шифрування

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

Найпопулярнішими асиметричними алгоритмами шифрування є RSA (названий на честь його винахідників Раміса, Шаміра та Адлемана), ECC (криптографія еліптичної кривої), Діффі Хеллман (популярний протокол обміну ключами) та DSS (Стандарт цифрового підпису). Деякі асиметричні алгоритми шифрування стійкі до квантування, а інші ні, і в майбутньому їх, можливо, доведеться модернізувати або відмовитися.

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

Криптографія в блокчейні

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

Аутентифікація та верифікація транзакцій

Кожен користувач блокчейна повинен мати пару відкритих / закритих ключів і адресу блокчейна для відправки транзакцій в мережу. Закритий ключ використовується для створення відкритого ключа, а відкритий ключ використовується для генерації адреси блокчейна – як правило, хеш відкритого ключа з останніми 20 байтами, доданими до префікса, наприклад, 0x. Зверніть увагу, що багато блокчейн-гаманців і традиційних бірж абстрагуються від створення пари відкритих / закритих ключів і взаємодії користувача з ним.

Адреса блокчейна схожа на справжнє ім’я, пов’язане з банківським рахунком користувача (наприклад, Pay to the Order…), тільки в блокчейні це псевдоанонімний рядок цифр і букв. Адреса блокчейна – це місце, де користувач зберігає кошти та розгортає смарт-контракти. Закритий ключ схожий на пін-код, який користувач повинен ввести, щоб вжити заходів зі своїм обліковим записом, наприклад, переказ коштів або внесення змін до смарт-контрактів. Відкритий ключ схожий на номер банківського рахунку користувача і використовується для перевірки підписів закритого ключа.

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

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

Блокчейн використовує цифрові підписи для аутентифікації та перевірки транзакцій користувачів.

Виробництво блоків, стійкість до атак, та доопрацювання

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

У блокчейнах Proof-of-Work (PoW) (наприклад, в Біткойнах) проводиться відкрита конкуренція між майнерами, де буде обраний перший, хто генерує надійний хеш (тобто хеш, починаючи принаймні з певної кількості нулів) методом грубої сили, щоб запропонувати свій блок реєстру. Блокчейн PoW використовує хеш-функції у виробництві блоків для забезпечення опору Sibyl-атакам – захист від того факту, що одна сутність контролює процес виробництва блоків шляхом підробки альтернативних особистостей. Оскільки хеш-потужність є єдиним способом для шахтаря PoW збільшити свої шанси стати автором блоку, отримання контролю над більшою потужністю хешування в мережі має пропорційні фінансові витрати у вигляді виконання більшої кількості обчислень. Це не тільки запобігає атакам на відмову в обслуговуванні, але також вимагає від шахтарів “працювати”, щоб навіть отримати шанс на винагороду.

Блокчейн Proof-of-Stake (PoS), такий як Ethereum 2.0, також генерує хеші у виробництві блоків, але цей процес спеціально розроблений, щоб бути легким, оскільки немає конкуренції між валідаторами. Замість цього валідатори PoS зазвичай вибираються як автори блоків навмання, часто на основі ваги їх дробу. Блокчейн PoS створює стійкість до атаки Sibyl, вимагаючи від валідаторів вносити криптовалюту (тобто ставки) для участі у виробництві блоків. Таким чином, валідатори PoS повинні інвестувати фінансові ресурси, щоб збільшити свої шанси бути обраними в якості автора блоку. Часто їх частка підлягає зменшенню (тобто конфіскації), якщо вони порушують певні правила протоколу, наприклад, включають в свій блок недійсні операції або підписують два блоки на однаковій висоті.

Блоки складаються з даних транзакції, кореня merkle, інших метаданих блоку, дійсного ключа (nonce) та хешу попереднього блоку.

Як правило, правильний хеш блоку повинен мати такі вихідні дані:

  • Корінь Меркле – це хеш всіх транзакцій, включених в блок, що міститься в структурі даних merkle tree.
  • Nonce (скорочення від числа, що використовується один раз) – це довільна комбінація чисел/букв, яка створює дійсний хеш, який задовольняє поточну мету складності. Блокчейни PoW періодично регулюють складність вгадування Nonce для досягнення певної частоти блоків (наприклад, кожні десять хвилин), тоді як у мережах Nonce PoS відносно легко генерувати.
  • Додаткові метадані блоку – вони відрізняються в різних блокчейнах, але можуть включати в себе наступне: поточна версія програмного забезпечення блокчейна, мітка часу, цільова складність майнінгу, корінь стану всього ланцюжка або номер поточного блоку.
  • Хеш попереднього блоку – це фактичний хеш блоку, який був перевірений раніше.

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

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

Саме завдяки цій логіці блокчейн PoW має імовірнісну остаточність, так як чим далі назад вони намагаються внести зміни, тим менше ймовірність того, що атака буде успішною. З імовірнісного фіналу випливає концепція 51% атаки – шахтарям потрібно 51% і більше хешуючих повноважень для проведення більш глибокої атаки на реорганізацію або цензуру блоків інших шахтарів. Імовірнісна остаточність також є причиною того, що централізовані криптовалютні біржі зазвичай дозволяють користувачам витрачати депоновані кошти тільки після того, як певна кількість наступних блоків була видобута поверх блоку, який включає їх транзакцію (наприклад, зазвичай 6 блоків в Біткойн, 32 блоки в Ethereum). Це допомагає запобігти подвійним атакам витрат – коли одна і та ж одиниця валюти обманним шляхом витрачається не один раз.

У мережах PoS всім або частині валідаторів, які в даний час не виробляють блоки, часто доручають підтвердити дійсність нових блоків за допомогою механізму голосування. Валідатор, який намагається перегрупуватися, повинен поставити під загрозу свою фінансову частку, а штраф за порушення децентралізованого консенсусу (як правило, >2/3 валідаторів), збільшує більш глибоку атаку. Ця узагальнена модель PoS надає криптоекономічні властивості консенсусним алгоритмам, таким як практична візантійська толерантність до несправностей, tendermint, Casper та HotStuff.

Деякі блокчейни PoS також мають обмеження щодо того, наскільки далеко можна змінити загальну книгу блокчейна, по суті встановивши контрольно-пропускну точку, на якій кожна транзакція, перш ніж вона матиме чітку остаточність. Наприклад, при об’єднанні ланцюжка poS-маяків в поточну мережу Ethereum виробництво і перевірка блоків буде розділена на епохи, причому кожна епоха має 32 слоти по 12 секунд кожна. У кожну епоху всі валідатори випадковим чином діляться на комітети розміром не менше 128, причому валідатори в кожну епоху змішуються. Під час кожного слота валідатор пропонує блок, а валідатори з одного або декількох комітетів підтверджують цей блок. Це робиться для того, щоб валідатори підтверджували один запропонований блок за епоху.

Виробництво і перевірка блоків Ethereum 2.0 буде розбита на 32-слотові епохи, де блок може бути запропонований і засвідчений в кожному слоті.

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

Збереження даних

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

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

Біткойн використовує дерево Merkle для транзакцій на основі моделі невитраченого виведення транзакцій (UTXO), а Ethereum використовує дерева Меркл для транзакцій, статусу та квитанцій (таких як журнали та події) у так званій узагальненій моделі облікового запису смарт-контрактів.

Дерева Меркле – це ефективний спосіб зберігання даних про транзакції в блокчейні.

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

Інші криптографічні методи, що використовуються в блокчейні

Деякі з інших криптографічних примітивів, що використовуються в блокчейні, включають:

  • Докази нульових знань (ZKPs) – це метод, який дозволяє користувачеві (верифікатору) довести іншій стороні (піддається перевірці), що вони мають знання про конкретну частину інформації, не розкриваючи фактичну інформацію, що лежить в основі. Наприклад, в блокчейні Zcash повні вузли можуть довести, що транзакції дійсні, не знаючи відправника, одержувача або суми транзакції.
  • Надійні середовища виконання (TEE) – це використання надійного обладнання, такого як Intel SGX, для виконання чутливих обчислень, де цілісність обчислень може бути доведена за допомогою криптографічних сертифікатів. Прикладом може служити блокчейн Oasis, де всі вузли валідатора використовують надійні середовища виконання для забезпечення конфіденційного та перевіреного виконання смарт-контрактів.
  • Схеми підписання порогів (TSS) – це форма розподіленого генерації та підписання ключів, що використовуються для аутентифікації обчислень, що виконуються децентралізованою мережею за допомогою єдиного криптографічного підпису, для підписання якого потрібен лише пороговий набір учасників. Наприклад, транзакція, яку мають підписати лише 10 з 15 вузлів, щоб вона вважалася дійсною.

Істина формується за допомогою децентралізованого консенсусу

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

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

Давайте подивимося, як блокчейн структурований і стимульований для досягнення істини через результат чесної більшості.

Структура гри

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

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

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

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

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

Blockchain розділяє ролі майнерів/валідаторів та повноцінних вузлів для підвищення безпеки мережі.
Blockchain розділяє ролі майнерів/валідаторів та повноцінних вузлів для підвищення безпеки мережі.

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

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

Ігрові стимули

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

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

Блокчейн також використовує фінансові санкції через Sibyl-стійкі до атаки механізми, такі як PoW і PoS; тобто майнери / валідатори повинні зробити обчислювальну або фінансову ставку, щоб отримати шанс заробити винагороду, яка може бути витрачена даремно або зменшена, якщо вони йдуть врозріз з консенсусом мережі. Ще однією перевагою вимоги до виробників блоків робити обчислювальну або фінансову ставку є те, що це заохочує децентралізацію. Зокрема, тому, що майнеру/валідатору стає все дорожче отримати більше контролю над хеш-потужністю мережі або частки.

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

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

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

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

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

Результат гри

Реалізація цих стимулів в рамках заявленої структури гри призводить до бажаних результатів блокчейна:

  • Точність – Децентралізація блокчейна, неявні / явні витрати на кону, а також простота виявлення недійсних транзакцій заохочують майнерів / валідаторів і повних вузлів досягти чесного консенсусу щодо обґрунтованості транзакцій.
  • Незмінність – Фінансові витрати і ризик спроби змінити раніше затверджений блок робить це небажаним, особливо коли нові блоки створюються поверх цільового блоку.
  • Доступність – Достатня винагорода допомагає майнерам / валідаторам постійно генерувати блоки, а наявність значної кількості на кону сприяє створенню повноцінних мереж вузлів, які виходять за межі майнерів / валідаторів.
  • Опір цензурі – механізми захисту Sybil, фінансові винагороди та можливість брати участь без проблем роблять неймовірно дорогим для будь-якого централізованого суб’єкта намагатися цензурувати транзакції, особливо протягом тривалого періоду часу.

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

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

Слід також зазначити, що блокчейн в кінцевому підсумку є системою, керованою людьми, щоб служити людям, тому, якщо кожен приходить до соціального консенсусу (тобто угоди між учасниками поза ланцюгом), що щось в блокчейні потрібно змінити, то це можна зробити. Найяскравішим прикладом зміни соціального консенсусу була жорстка вилка Ethereum – оновлення програмного забезпечення, несумісне з попередніми версіями – яка відновила вкрадені кошти після злому DAO в 2016 році. Громадський консенсус також може мати зворотний бік, коли члени спільноти перешкоджають впровадженню запропонованих змін, таких як відмова від Segwit2x для мережі Bitcoin і ProgPoW для мережі Ethereum.

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

Світ, заснований на криптографічній правді

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