Я створив контракт із відкритим кодом і веб-інтерфейс, OracleSwap, тому що я хочу, щоб криптовалюта повернулася до своїх коренів поза мережею. Я не можу ним керувати, оскільки на ньому забагато відбитків пальців, щоб отримати безпосередню користь. OracleSwap — це шаблон, який полегшує програмістам адміністрування контрактів, які посилаються на об’єктивні результати: ліквідні активи чи ставки на спорт. Користувачі створюють довгі або короткі свопи (так звані CFD) позиції, які посилаються на унікальний контракт Oracle, який зберігає ціни (прототип посилається на ETH/USD, BTC/USD і S&P500). Єдиними користувачами цього контракту є постачальники ліквідності, інвестори та Oracle. Єдина поверхня атаки здійснюється через змовницького оракула, який публікує шахрайську ціну. Він містить кілька нововведень, у тому числі початкові ціни (наприклад, ринок на закритті), взаємозалік для постачальників ліквідності, а також можливість і стимул для ошуканих сторін обнулити свого шахрая.
Біла книга та Технічний додаток описують це більш повно, але я хочу пояснити, чому централізований оракул під псевдонімом кращий, ніж децентралізований оракул для смарт-контрактів. Багато вдумливих крипто-лідерів вважають, що децентралізація є необхідною умовою для будь-якого мобільного додатка в блокчейні, який, на їхню думку, включає багато агентів і механізм консенсусу. Це просто неправильно, помилка категорії, яка передбачає, що частини повинні мати всі характеристики цілого. Суть полягає в тому, що децентралізовані оракули неефективні та відволікають від фундаментального механізму, який робить будь-який оракул «ненадійним».
Після першого хрестового походу (1099) тамплієри захищали паломників до щойно завойованого Єрусалиму та швидко створили міжнародний банк. Паломник міг залишити гроші або цінні речі в фортеці тамплієрів і отримати офіційний лист з описом того, що він має. Цей паломник міг потім знімати готівку на шляху, щоб подбати про свої потреби. До 12 століття вкладники могли вільно переміщувати свої статки з однієї власності на іншу.
Тамплієри не перебували під контролем жодного монарха, і, що ще гірше, багато хто був їм винен гроші. Зрештою король Франції Філіп IV захопив поле для нападу, заарештувавши сотні вищих тамплієрів, включаючи Великого Магістра, усіх у той самий день по всій Європі в 1307 році. Їх звинуватили в єресі, середньовічній версії систематичного ризику, явної загрози для все добре і благородне. Через кілька років багато тамплієрів були страчені, а банківська система тамплієрів зникла [невідомі тамплієри якимось чином змогли втекти зі своїм величезним статком, який на той час не був цифровим, і залишається загадкою, куди він подівся].
Уряди, біржі та традиційні фінансові установи завжди боролися з усім, що могло б зменшити їх ринкову владу. Децентралізація є важливою для протистояння їхнім неминучим атакам, оскільки якщо хтось заволодіє існуючим блокчейном, він може знову з’явитися через хардфорк. Теперішня вартість старого ланцюжка створить готову та здатну армію майнерів-замінників, якщо Китай або Крейг Райт вирішать привласнити 51% існуючих майнерів Ethereum.
Віталік Бутерін гарно описує цю стійкість у своїй чудовій оцінці своєї обмеженої влади:
Справа з розробниками в тому, що ми досить взаємозамінні люди. Один розробник не працює, а хтось інший може продовжувати розробку. Якщо хтось приставить пістолет до моєї голови і скаже написати патч про хардфорк, я обов’язково напишу патч про хардфорк. Я напишу випуск GitHub, я напишу код, я опублікую його, і я буду робити все, що вони скажуть. Якщо я зроблю це та опублікую патч хардфорку, щоб видалити купу облікових записів, скільки людей захочуть завантажити оновлення, встановити його та перейти на це оновлення? Це називається децентралізацією.
Віталік Бутерін. TechCrunch: Блокчейн сеансів 2018.
Потенціал для хардфорка у випадку атаки є основним захистом від сторонніх. Це залежить від протоколу, який має глибокий і відданий набір користувачів і розробників, які віддають перевагу основним принципам біткойна — прозорості, незмінності, псевдонімності, захисту від конфіскації та доступу без дозволу — і тому, чому децентралізація є критичною для довгострокової криптобезпеки.
Зовнішні атаки знищили, якщо не знищили кілька колись корисних фінансових інновацій. E-gold, Etherdelta, Intrade і ShapeShift мали помітні точки централізації, що дозволяло органам влади переслідувати, закривати або змушувати їх підкорятися традиційним фінансовим протоколам. Псевдонімний оракул, який виконує віртуальні сценарії на віддалених серверах по всьому світу, був би несприйнятливим до такого втручання. Саме ця спадковість робить Ethereum настільки цінним, що прикладним програмам не потрібні власні децентралізовані механізми консенсусу, щоб уникнути таких атак.
Будь-який оракул, який сприяє торгівлі деривативами або спортивним ставкам, підлягає регулюванню в більшості розвинених країн. Корпорації Dapp є помітними поверхнями для атак. Оскільки Augur і 0x не конкурують з традиційними інституціями, влада буде розумно розглядати їх просто як незначні цікавинки. Якщо ці протоколи коли-небудь стануть конкурентоспроможними зі звичайними фінансовими установами — наприклад, надаючи ф’ючерсну позицію на ціну ETH — усі традиційні фіатні правила будуть нав’язані їм під приводом захисту громадськості. Виробник та Ланка ланцюга вже фліртують з ЗСК, тому що вони знають, що не можуть помітно монетизувати ринки, які зрештою принесуть прибуток, не підкоряючись Колектив Борг.
Сатоші потрібно було залишатися анонімним на ранніх стадіях біткойна, щоб уникнути переслідування місцевою владою, перш ніж біткойн зможе працювати без нього. Однорангова система біткойн, яку спочатку емулювали, Tor, наповнена людьми, які не розміщують рекламу на традиційних платформах, не мають інституційних інвесторів і не виступають на конференціях. Життєздатні програмні додатки повинні наслідувати цей приклад і зосереджуватися менше на корпоратизації, а більше на розвитку своєї репутації серед сучасних криптоентузіастів.
У випадках, коли йдеться про невеликі суми грошей, випадковим особам у децентралізованих системах важко змовитися за рахунок інших учасників. Витрати на змову занадто високі, що нівелює ефект тролів і поодиноких порушників порядку. Проте це створює небезпечне відчуття самовдоволення, оскільки будь-який надійний механізм має спонукати до доброї поведінки навіть якщо є змова. Якщо ми хочемо, щоб колись блокчейн обробляв реальні значні транзакції, це передбачає випадки, коли на кону буде достатньо ETH, щоб припустити, що хтось зрештою планує зламати систему.
Сатоші знав, що зловмисна змова була б можливою за допомогою доказів роботи, але не проблематично, оскільки це було б самопровалом. В Біла книга про біткойн, Сатоші підкреслив, як підтвердження роботи позбавило потреби в довіреній третій стороні, чому термін бездовірний часто пов’язують з децентралізованою мережею. З підтвердженням роботи неможливо подвоїти витрати, просто всупереч егоїстичній раціональності. Зокрема, він написав, що кожен, хто має можливість подвоїти витратиповинен вважати, що вигідніше грати за правилами, ніж підривати систему та обґрунтованість власного багатства».
Для великих блокчейнів, таких як Ethereum і Bitcoin, потрібне спеціалізоване обладнання для майнінгу, яке є цінним, лише якщо майнери дотримуються букви та духу свого закону. Капітал, знищений маніпулюванням блоками, у тисячу разів перевищує пряму вартість хеш-потужності такої атаки. Хоча кілька груп майнінгу Bitcoin або Ethereum можуть ефективно змовлятися та контролювати 51% контролю над мережею, це не викликає занепокоєння, оскільки не в їхніх власних інтересах створювати подвійні витрати, враховуючи вартість втрати майбутнього доходу. Наприклад, навесні 2019 року глава Binance Чанпен Чжао запропонував відкотити блокчейн, щоб скасувати недавню крадіжку. Біткойн-спільнота висміяла його, і він швидко відмовився, оскільки це не відповідало б довгостроковим власним інтересам біткойн-майнерів або бірж. Збереження 40 мільйонів доларів знищило б блокчейн на 100 мільярдів доларів, що робить це легким рішенням.
Люди часто згадують стійкість до змови як головну перевагу децентралізації. Кращий термін буде опір змови. Децентралізована система повинна генерувати належні стимули, навіть якщо є змова, оскільки змова незмінно можлива, оскільки на практиці великі децентралізовані блокчейни контролюються невеликою кількістю команд (Міхельс Залізний закон олігархії). Було кілька випадків доброякісного зіткнення блокчейнів, яке при розумному та ощадливому застосуванні підвищує стійкість (наприклад, уразливості в біткойнах були виправлені за лаштунками у вересні 2018 року, горезвісний відкат Ethereum 2016 у відповідь на злом DAO). Професор права Анджела Волш виділений епізоди доброякісної змови як докази того, що біткойн і Ethereum не є децентралізованими, і, отже, повинні бути більш регульованими стандартними установами.
Юристи захоплюються технічними визначеннями, але ключовим моментом є те, що звичайні регулятори не можуть регулювати біткойн або Ethereum, навіть якщо вони намагаються, підкреслюючи істотну децентралізацію цих протоколів. Якби SEC у США чи FCA у Великобританії спробували агресивно регулювати Ethereum, вони незабаром виявили б за межами своєї юрисдикції тих, хто приймає рішення. Подібним чином, якби Джо Любін і Віталік Бутерін погодилися об’єднати Ethereum у майнери Facebook, старі розгалужувалися б і існуючий ефір буде більш цінним у цьому новому ланцюзі. У міру ймовірності такого кроку протокол є децентралізованим, захищеним від сторонніх осіб, яким з будь-якої причини не подобається його бачення.
Стійкість до змови зводиться до стимулів, які гарантують, що ті, хто керує системою, вважають керування системою більш цінним, ніж обман. Цей самий стимул для максимізації прибутку не тільки зберігає майнерів чесними, але й захищає їх від самих себе. Хоча блокчейни мають багато спільного, у них дуже різні пріоритети. Користувачі, які віддають перевагу швидкості, віддають перевагу EOS; ті, хто надає перевагу анонімності, Monero; інституційне визнання, Ripple. Кворум майнерів, які змовляються радикально змінити традиційні пріоритети свого блокчейну, знецінить їхні активи, відчужуючи їхню базу, а ті, хто поділяє новий пріоритет, не перейдуть, а радше підкреслять, що їхній улюблений блокчейн весь час був правий. Конкуренція між криптовалютами не дає зарозумілим інсайдерам завдати великої шкоди.
Швидкий і зрозумілий моніторинг необхідний для створення механізму, сумісного зі стимулами. Для децентралізованого оракула різні підмножини агентів працюють над будь-яким результатом. Важко знайти стислий набір даних про, скажімо, відсоток і тип ринків Augur, визнаних недійсними, або перелік минулих звітів Chainlink про результати. Хоча всі звіти Oracle існують (незмінно!), зібрати це разом просто непрактично для середнього користувача. Крім того, минулі помилки та шахрайство відкидаються як аномалії, що знижує вартість шахрайства.
Бульбашка ICO 2017 року спонукала всіх у криптопросторі випускати токени незалежно від потреби; Те, як токен зробить dapp більш ефективним, було другорядним питанням для інвесторів, які прагнули інвестувати в наступний біткойн. Навіть якби невелика частка грошей ICO була спрямована на дослідження та розробки, це означає сотні мільйонів доларів талантів і часу, зосереджених на створенні децентралізованих програм, які могли б виправдати потребу в жетонах. Усі визнали б цінність надійного децентралізованого оракула, але вони не змогли його створити, що є явною невдачею. Найпопулярніші оракули сьогодні фактично централізовані, оскільки ChainLink і MakerDAO мають помітні поверхні для атак, оскільки вони обидва жорстко контролюються інсайдерами. Вони й надалі залишатимуться фактично централізованими, оскільки альтернативою буде система, схожа на Augur, яка є нестерпно неефективною (повільні, хакерські, кульгаві контракти).
Децентралізовані оракули, які залежать від ринкової вартості своїх токенів, заохочуючи до доброї поведінки, мають значну різницю між тим, скільки користувачі повинні платити оракулу, і тим, скільки потрібно, щоб він залишався чесним. Наприклад, припустімо, що існує така гра, що потрібно заплатити репортеру 1 ETH, щоб чиста вигода від чесного звітування була більшою, ніж шахрайство, яке репортер може реалізувати. Якщо лише 2% власників токенів звітують про результат, це означає, що ми повинні заплатити 50 ETH оракулу колективно (1/0.02), оскільки ми не маємо можливості зосередити поточну вартість токена на підмножині звітів власників токенів. . Можна змусити репортера внести заставу, яка буде втрачена, якщо він повідомить нечесно, але щоб це спрацювало, він обмежить виплату на тривіальних рівнях на основі капіталу репортера, що неефективно ігнорує теперішню вартість оракула, а також передбачає тривалу затримка платежу.
Ще одна проблема з децентралізованими оракулами полягає в тому, що вони зазвичай обслуговують різноманітний набір ігор. Хоча це сприяє омані загальності, як у Amazon, це робить конкретні контракти погано узгодженими зі стимулами оракула. Частота та розмір виграшу відрізнятимуться в різних програмах, тому плата за оракул, що заохочує чесність у будь-який час, буде занадто дорогою для більшості програм. Ефективні рішення мінімізують контекстні параметри, тобто найкраще загальне рішення буде неоптимальним для будь-якого конкретного використання.
Хоча є очевидні витрати на децентралізацію всередині оракула, немає жодних переваг, якщо задовольняється фундаментальна вимога цензури/стійкості від атак. Мудрість натовпу не має значення для контрактів на ліквідні активи, такі як біткойн або S&P500. Алгоритм оцінки репутації є безглуздим, оскільки найбільш очевидним ризиком є шахрайство на виході, яке покладається на чесну поведінку до остаточної транзакції (Bitconnect).
Щоб вирівняти простір виплат оракула криптоекономічно оптимальним способом, потрібно створити таку виплату оракула, щоб вигода від правдивого звітування завжди переважала витрати від неправдивого звітування. Маючи повний контроль над оракулом, його дохід від правдивих звітів максимізується; будучи однозначно відповідальним і легким для перевірки та покарання, його витрати від неправильної звітності повністю несе оракул; граючи в конкретну повторювану гру, розрахунок витрат/вигод є послідовним щотижня; надаючи ошуканому користувачеві можливість і стимул покарати шахрайського оракула, виграш за шахрайство зведено до мінімуму. Усе це сприяє ефективності одноагентного оракула.
Ненавмисні помилки можуть походити з пошкоджених джерел або алгоритму, який агрегує ці ціни та публікує єдину ціну в контракті. Ми часто робимо ненавмисні помилки та покладаємося на добру волю та здоровий глузд тих, з ким співпрацюємо, щоб «скасувати» ті випадки, коли ми могли додати зайвий нуль до платежу. Кредитні картки дозволяють повернення платежів, і якщо банк випадково перерахує на ваш рахунок 1 млн доларів, ви зобов’язані повернути їх. Недоліком є те, що в цьому процесі беруть участь треті сторони, які дотримуються правила, згідно з яким великі ненавмисні помилки є оборотними, а це означає, що вони мають права на баланс облікових записів користувачів.
В OracleSwap сам контракт Oracle має дві перевірки помилок у коді надійності. По-перше, якщо ціни змінюються більш ніж на 50% від свого попереднього значення, а по-друге, якщо вони точно такі ж, як їхнє попереднє значення. Ці обмеження вловлюють найпоширеніші помилки. Проте за межами блокчейну ефективніше вирішувати фільтрацію помилок, і в кінцевому підсумку її слід перетворити на алгоритм, оскільки в іншому випадку можна створити поверхню для атаки через людину, яка перевірить остаточний звіт. Таким чином, використання багатьох людей для зменшення помилок лише повертає більш витончене та небезпечне джерело поганих цін. OracleSwap використовує автоматичне збирання цін із кількох незалежних джерел протягом кількох хвилин і бере медіану. Оскільки контракт орієнтований на довгострокових інвесторів, середня ціна на кількох біржах матиме прийнятну стандартну помилку; оскільки точні канали та обміни не визначені, це запобігає цензурі; оскільки ціни публікуються протягом 1-годинного вікна, що виключає торгівлю, точну ціну легко зібрати та підтвердити.
Децентралізація оракулів вирішує проблему, якої вони не мають: опір атакам і цензурі. Агенту, який оновлює договір Oracle, потрібен лише доступ до Інтернету та псевдонім, щоб уникнути цензури. Враховуючи це, найкращий спосіб створити належні стимули для оракулів — це створити гру, де виграші за чесність і шахрайство добре параметризовані, і сторонні люди можуть легко перевірити, чи агент поводиться чесно. Простота має важливе значення для будь-якої надійної гри, і це передбачає видалення сторін і процедур.
Ринки — це остаточний децентралізований механізм. Це не парадокс, що ринки складаються з централізованих агентів, оскільки часто властивість речей існує на нижчих рівнях, але не на вищих. Децентралізований ринок просто потребує, щоб споживачі мали як вибір, так і інформацію, а підприємства мали вільний доступ. Ринки завжди залежали від окремих осіб і корпорацій із високою репутацією, оскільки незмінно якість важко оцінити, тому споживачі віддають перевагу продавцям із хорошою репутацією, щоб не повертатися додому з поганими яйцями чи автомобілем із поганою проводкою. Блокчейни є найкращим засобом підзвітності в історії, що дозволяє контрактам створювати цінну репутацію для своїх адміністраторів, залишаючись при цьому анонімними і, отже, не підлягаючи цензурі.
Набір конкуруючих контрактів більш ефективний, ніж узагальнені оракули, розроблені для невизначених контрактів, або узагальнені торгові протоколи, розроблені для невизначених оракул. Простий контракт, прив’язаний до оракула, який є «ва-банк», створює чітку та недвозначну підзвітність, створюючи найсильніший стимул для чесного звітування