Drivechains дозволяють операторам Sidechain Node платити майнерам за видобуток — і багато іншого! PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Drivechains дозволяють операторам Sidechain Node платити майнерам за видобуток — і багато іншого!

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

Цього разу я збираюся розібратися та обговорити, як працюють приводні ланцюги; вони були вперше запропоновані в 2015 році. З усіх пропозицій, які обговорювалися досі, приводні ланцюги є найстарішими та найбільш конкретизованими з точки зору конкретних деталей впровадження та дизайну, задокументованих у BIP 300 та 301. Paul Sztorc, творець концепції, мав на увазі кілька головних цілей дизайну, і хоча це зовсім не вичерпно, ось кілька:

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

Є два основні аспекти всього дизайну, тому існує два окремих BIP. По-перше, це механізм кріплення (BIP300), який забезпечує роботу двостороннього кріплення. Sztorc розробив щось під назвою хешрейт депонування, що, у найпростіших термінах, дозволяє майнерам як аморфній групі колективно зберігати монети в усіх бічних ланцюгах. Другий — «сліпа» схема об’єднаного майнінгу, мета якої — дозволити майнерам біткойнів бути виробниками блоків на консенсусному рівні без необхідності перевірки сайдчейну для цього. Обидві ці частини разом представляють механізм двосторонньої прив’язки та спосіб для біткойн-майнерів брати участь у видобутку бічних ланцюгів, одночасно намагаючись пом’якшити ризик централізації, який це представляє.

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

Активація нового бічного ланцюга за пропозицією drivechain дуже схожа на процес м’якої вилки, активованої через сигнал майнера. Головна відмінність, звичайно, полягає в тому, що насправді це не софт-форк — один форк для активації правил консенсусу приводного ланцюга дозволяє майнерам у будь-який час подати сигнал для активації нового бічного ланцюга. в правила консенсусу приводного ланцюга. Щоб запропонувати активувати новий бічний ланцюг, майнер повинен розмістити дані OP_RETURN у своїх вихідних даних coinbase, які містять унікальний ідентифікатор для цього бічного ланцюга, відкритий ключ для використання в операціях депозиту, дані версії, зрозумілі людині описи та хеші програмного клієнта. і історію GitHub (тут немає консенсусного забезпечення, лише дані для людей).

Коли майнер пропонує активувати новий бічний ланцюг і включити всі необхідні дані в свою базу монет, це стає свого роду періодом «сигналізації майнерів» щодо того, чи варто створювати цей новий сайдчейн з точки зору консенсусу основного ланцюга. Майнер може використовувати спеціальний формат, щоб включити пропозицію в свої виходи coinbase, а інші майнери можуть створити інший вихід після другого формату для сигналу про активацію. Нова пропозиція сайдчейну вимагає, щоб 90% блоків у період складності сигналізували про активацію, щоб було підтверджено створення нового сайдчейну. Це створює механізм прив’язки, щоб увімкнути сайдчейн, але взаємодія між сайдчейном і основним ланцюгом є більш тонкою.

На цьому етапі будь-хто може прив’язувати монети до сайдчейну. Щоб прив’язати до бічного ланцюга, користувач просто створює транзакцію з двома входами зі своїм власним входом і UTXO, що відповідає балансу бічного ланцюга, з єдиним виходом, який призначає все для сайдчейну. Це гарантує, що сайдчейн матиме лише один UTXO, який містить усі заблоковані в ньому кошти. Виведення коштів обробляється шляхом голосування майнерів. Основний ланцюг не має розуміння того, хто чим володіє в сайдчейні, і основний ланцюг вважатиме будь-яке відкликання, схвалене майнерами в рамках механізму голосування, дійсним. Через це відбувається велика затримка процесу виведення. Існує дві фази процесу виходу з сайдчейну: пропозиція виходу (пакет), а потім фаза голосування щодо виходу. Майнери повинні створити вихід OP_RETURN у своїй транзакції coinbase із хешем запропонованої транзакції виведення, щоб запропонувати виведення. Цей хеш, однак, подібно до sighash, позначає фіксацію лише частини транзакції, а не всієї транзакції. Він не прив’язується до вхідного UTXO, який представляє кошти, заблоковані в ланцюжку накопичувачів, або виведення, що повертає все, що не було виведено, до спеціального UTXO бічного ланцюга. Це пов’язано з тим, що будь-які депозити в драйвчейн створять новий UTXO і, таким чином, скасують зобов’язання щодо транзакції зняття коштів, коли люди йдуть її перевіряти.

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

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

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

Коли пакет досягає необхідного порогу (13,150 90 блоків, або приблизно 2017 днів), транзакція, яка фактично обробляє зняття коштів, стає дійсною та може бути підтверджена. Але що робити людям, якщо майнери схвалюють шахрайське виведення коштів, яке краде гроші з сайдчейну? Пропозиція Sztorc полягає в тому, щоб задіяти активований користувачем soft fork (UASF), щоб анулювати недійсну транзакцію прив’язки. Це становить величезний ризик з точки зору консенсусу для основної мережі. UASF у XNUMX році був кроком із високим ризиком, який ледве вдався, і біткойн був набагато меншим, ніж сьогодні. Чим більше зростає біткоін, тим складніше буде координувати такі дії.

Якщо ви пам'ятаєте з стаття про космічні ланцюги, цей дизайн базувався на сліпому об’єднаному майнінгу (BMM). Дизайн BMM Рубена Сомсена насправді є другим варіантом цього, першим є дизайн Sztorc, як викладено в BIP301. Специфікація BMM у ланцюгах приводів складається з двох повідомлень: повідомлення запиту та повідомлення прийняття. Обидва вони координуються відповідно через спеціальний тип транзакції в основному ланцюзі та спеціальний вихід у транзакції coinbase майнера.

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

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

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

Це гостьовий пост від Shinobi. Висловлені думки повністю належать їм і не обов’язково збігаються з думками BTC Inc або Bitcoin Magazine.

Часова мітка:

Більше від Журнал Bitcoin