Знижка Witness Discount: Чому деякі байти дешевші за інші

By Bitcoin Журнал - 4 місяці тому - Час читання: 9 хвилини

Знижка Witness Discount: Чому деякі байти дешевші за інші

Цього року спостерігалося значне зростання попиту на обмежений доступний простір bitcoin блоків, що призводить до підвищення комісії за ланцюгові транзакції. Велика частина попиту на розкриття транзакцій Написи. Зміст цих написів розкривається як частина свідкових даних1 з bitcoin угода. Ці дані свідків1 дисконтуються до однієї чверті вартості інших даних транзакцій. Чому ми даємо знижку на ці написи? Чи варто скинути знижку на свідків?

Чому деякі байти дешевші за інші?

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

Було внесено 3 основні покращення bitcoinвирівнювання стимулів на сьогоднішній день:

1. Обмеження розміру блоку

2. Перенесення вартості складних сценаріїв від відправника до одержувача (P2SH)

3. Вирівнювання вартості даних між виконавцями вузлів і транзакторами (SegWit)

Обмеження розміру блоку

Транзактори хочуть здійснювати багато транзакцій, а майнери хочуть збирати багато комісій за транзакції; але виконавці вузлів повинні передавати, перевіряти та зберігати всі ці дані транзакцій, і вони не отримують за це компенсації, як майнери. На початку bitcoinВ історії Satoshi працював над вирішенням цієї проблеми, додавши фіксований ліміт розміру блоку (застосовується вузлами). Обмеження становило 1 мільйон байтів на блок і встановлювало верхню межу обсягу даних, які вузли повинні були завантажити та перевірити. У той час Сатоші пише, «[ми] можемо поступово вносити зміни пізніше, якщо ми наблизимося до того, щоб вони нам знадобилися». Пізніше, посилаючись на патч для збільшення ліміту, він зазначив: «[d]не використовуйте цей патч, він зробить вас несумісними з мережею», тобто збільшення ліміту розміру блоку є зміною хардфорка і вимагає більше координації навіть ніж м'яка вилка. У наступні роки bitcoin свідомо уникав таких несумісних змін хардфорка, що також означало збереження обмеження розміру блоку в 1 мільйон байтів.

Перенесення складних витрат на сценарій від відправника до одержувача

Тому що bitcoin захищено сценаріями блокування, його завжди можна було заблокувати за допомогою розширених сценаріїв, включаючи multisig. За оригінальним оформленням відправник a bitcoin транзакція розмістить повний сценарій блокування одержувача в його транзакції та сплатить будь-які комісії, щоб отримати цей сценарій блокування до блоку. Розробники зрозуміли, що зі збільшенням комісії відправники можуть вагатися платити користувачам більших сценаріїв блокування через вищу вартість оплати цим користувачам. Ці складні сценарії блокування також створили проблему для кодування в адреси та обміну через механізми з низькою пропускною здатністю, такі як QR-код.

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

Вирівнювання вартості даних між виконавцями вузлів і транзакторами

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

Найбільша частина більшості bitcoin розблокування скриптів - це криптографічні підписи. Ці підписи приблизно вдвічі більші за їхні відповідні відкриті ключі, що робить сценарії розблокування (навіть без P2SH) більшими за сценарії блокування.

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

Як би дивно це не здавалося, перевірка кожного UTXO, проведеного транзакцією в історії blockchain має сценарій блокування, задоволений відповідним сценарієм розблокування, є значно менш фундаментальним. Щодо цього, а bitcoin вузол працює за замовчуванням bitcoin core 26.x не перевірятиме повне виконання сценарію блокування для транзакцій до блоку 804000 (19 серпня 2023 р.).

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

Введіть відокремленого свідка

Команда окремий свідок (SegWit) soft fork — це найамбітніша зміна bitcoin на сьогоднішній день. Найбільшою мотивацією для змін було вирішення давньої проблеми TXID4 ковкість5 in bitcoin. Щоб виправити цю податливість, сценарій розблокування замінюється новоствореним «свідком». Видаляючи дані авторизації (які часто можуть бути змінені третіми особами без зміни результатів транзакції) з TXID, стають можливими протоколи (такі як Lightning), які залежать від незмінних TXID.

Оскільки дані авторизації винесено з оригінальної структури транзакції, вони більше не враховуються в обмеженні блоку в 1 мільйон байтів. Потрібен новий ліміт. У той час обговорювалося багато підходів до обмеження відокремлених даних свідків: Окреме обмеження байтів свідків6, комбіноване обмеження < 1 мільйона байтів7 або зважене комбіноване обмеження. Зрештою було вибрано зважений об’єднаний ліміт із розділеними даними свідків, зваженими на рівні 1 одиниці, даними транзакцій, зваженими на рівні 4 одиниць, і обмеженням ваги на 4 мільйони блоків. Для розрахунку комісії кожна одиниця ваги розглядається як 1/4 віртуального байта (vByte).

Чому ці ваги? Давайте подивимося на вартість входів і виходів транзакцій з відокремленим свідком і без нього:

Перше, на що слід звернути увагу в цій таблиці, це те, що типи сценаріїв-свідків (P2WPKH, P2WSH) мають майже однакову кількість вхідних і вихідних байтів (котрі стягуються по повному vByte кожен). Користувач сценарію-свідка потім стягує 1/4 vByte за дані, які авторизують витрати, значна частина яких не перевіряється для будь-яких транзакцій, крім останніх, і жодна з них не має поточних витрат в індексі UTXO. Інша річ, яку тут варто відзначити, це те, як вартість використання більш безпечного мультипідпису 2 із 3 порівняно з одним підписом зменшується зі 147 vBytes до 36.25 vBytes.

Taproot і написи змінюють усе (або нічого)

Як я сказав на початку, bitcoin ґрунтується на людських стимулах, і тут ми бачимо, як були внесені зміни bitcoin протягом багатьох років покращувати вирівнювання стимулів між сторонами, які використовують мережу.

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

Тепер до суті справи. Написи розкриваються в свідку, тому вони стягуються лише 1/4 vByte за байт даних напису. Це зловживання знижкою для свідків? Правда полягає в тому, що дані записів є одними з найдешевших даних для перевірки вузлами в мережі. Структура сценарію, яка використовується в написах, явно пропускає виконання даних напису, тому єдиною перевіркою, яка виконується на ньому, є єдина перевірка хешу (переконується, що розкритий напис є тим, що користувач, який вписує, планував розкрити). Ці дані хешуються один раз, а потім більше ніколи не переглядаються вузлами. Він має дуже низьку обчислювальну вартість (на порядок менше, ніж еквівалентний сценарій multisig).

Але написи підвищують комісії та витісняють інших користувачів.

Так! За допомогою поточного програмного забезпечення, доступного для взаємодії з bitcoin мережі, inscriboooors мають більший економічний стимул робити свої написи, ніж багато людей, щоб здійснювати інші транзакції.

Це різко пояснює значення збільшення економічної щільності bitcoin операції. Lightning Network робить величезний крок у цьому напрямку, дозволяючи об’єднати сотні, тисячі або мільйони економічних транзакцій в одну bitcoin угода. Чим більша економічна щільність кожного байта в транзакції, тим менша плата за цю економічну діяльність. Як економічна щільність bitcoin збільшується кількість транзакцій, інші види використання блокового простору були і будуть знижуватися9.

Варто це зауважити if позаланцюгові протоколи multisig, такі як MuSig2 or FROST, або підписи адаптера стають поширеними; це може має сенс зменшити або скасувати знижку свідка. Ці протоколи можуть активувати іншіwise умови великих витрат повинні бути представлені одним підписом. Це, у поєднанні з ефективним використанням ключового шляху Taproot, може зменшити вартість вхідних даних із майже довільно складними умовами лише до 105 байтів.

Висновок

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

Залишайтеся скромними, накопичуйте сати та будуйте.

Виноски

Термін свідок був прийнятий bitcoin з криптографічного жаргону, де це стосується даних, необхідних для ефективної перевірки криптографічного твердження. BIP141 визначає це як будь-які «дані, необхідні для перевірки дійсності транзакції, але не потрібні для визначення наслідків транзакції». Криптографи, можливо, взяли цей термін із виробничих знаків-свідків, які використовуються для ефективної перевірки вирівнювання компонентів. The Утріксо проект має на меті змінити це для підмножини bitcoin вузлів, дозволяючи їм ефективно накопичувати корені включення UTXO, а потім отримувати шляхи включення разом із витратами цих UTXO. Якщо це стане поширеним способом використання bitcoin, це переносить вартість більшої кількості UTXO з вузлів на власників цих UTXO. The ZeroSync Проект має на меті змінити це для деяких вузлів у деяких контекстах. Ідентифікатор транзакції: зворотний порядок байтів, подвійний SHA256 транзакції мережевого формату перед segwit. Кілька дійсних транзакцій з однаковими входами та виходами мають різні txids, якщо вони підписані різними способами або їхні підписи змінено третьою стороною. Може бути будь-яким значенням без хардфорка, оскільки старі вузли не знають відокремлених даних-свідків. 1 мільйон або менше для підтримки сумісності та запобігання хардфорку. Припускається використання компактних відкритих ключів і 71-байтових підписів DER з низьким R/S. Хто пам'ятає Кістки Сатоші

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

Оригінальний джерело: Bitcoin журнал