Ця стаття проводить поглиблений аналіз деяких явищ «втрачених» рун, які мали місце під час нещодавніх крос-чейн операцій BEVM, а також пропонує пропозиції щодо безпеки, щоб уникнути повторення таких проблем.
Написав Леон, команда дослідників ScaleBit
У цій статті проведено поглиблений аналіз деяких феноменів «втрачених» рун, які мали місце під час нещодавніх крос-ланцюгових операцій BEVM, а також запропоновано пропозиції щодо безпеки, щоб уникнути повторення таких проблем.
Нещодавно ми помітили, що деякі руни «втрачені» в міжланцюжкових операціях BEVM, що викликало занепокоєння та занепокоєння спільноти. У цій статті буде проведено поглиблений аналіз цієї проблеми, щоб надати користувачам більш повне розуміння проблеми. Водночас вона також буде використовувати цю тему, щоб розповісти про деякі запобіжні заходи при використанні написів і рун, які останнім часом стали популярними.
*23 грудня 2023 року за пекінським часом деякі користувачі міжланцюгової торгівлі BEVM виявили, що деякі COOK і PSBTS, які зберігалися на їхніх облікових записах, були перенесені на міжланцюговий міст без їхнього відома. Згодом ці користувачі поставили запитання команді BEVM. Потім офіційний Твіттер BEVM опублікував заяву, в якій говориться, що оскільки ця частина рун не підтримується основними гаманцями, такими як * Unisat *, під час перехресного з’єднання з BEVM такі неосновні написи розглядатимуться як звичайний * UTXO *Перейти на адресу BEVM. *
Посилаючись на інформацію з офіційного веб-сайту BEVM, BEVM є BTC рівня 2, який використовує BTC як газ і сумісний з EVM.Основна мета полягає в тому, щоб розширити сценарій смарт-контрактів Bitcoin і допомогти BTC подолати обмеження блокчейну Bitcoin, який є не завершено Turing і не підтримує розумні контракти. , що дозволяє BTC створювати децентралізовані програми з BTC як рідним газом на рівні 2 BEVM.
Нещодавно, із запуском події BEVM Odyssey, багато користувачів почали з’єднувати BTC з BEVM для взаємодії, сподіваючись скористатися можливістю взяти участь в екосистемі BEVM у майбутньому. Однак під час крос-чейн процесу деякі користувачі виявили, що частина COOK і PSBTS, які вони зберігали, були втрачені. Відповідно до блокчейн-браузера було виявлено, що ця частина рун була передана в крос-чейн бридж BEVM, тому виникла вищезгадана ситуація.
Далі, ходімо з нами подивитися, що сталося.
По-перше, ми знайшли деяку інформацію про крос-ланцюгові транзакції через браузер BEVM (). Завдяки аналізу ми виявили, що адреса отримання міжланцюгового мосту така:
bc1p43kqxnf7yxcz5gacmqu98cr2r5gndtauzrwpypdzmsgp7n3lssgs5wruvy。
Згодом ми перевірили Rune Alpha (універсальний браузер і сервіс, який підтримує такі протоколи RUNES, як COOK і PSBTS). Його адреса містить велику кількість різноманітних рун, включаючи понад 110 000 COOK і більше 280 000 PSBTS.

Ми негайно провели дослідження та аналіз цієї частини транзакцій, пов’язаних із рунами.
Розглянемо одну з цих транзакцій як приклад:
Зміст транзакції показано на малюнку:

Ми бачимо, що транзакція має два входи: 0,00000546 BTC (включаючи 1000 COOK) і 0,02169031 BTC, а вихід — 0,02 BTC (включаючи 1000 COOK) і 0,00148377 BTC.
Для порівняння, ми знайшли транзакцію, яка не була транзакцією COOK із міжланцюжковою мостовою транзакцією. Результат такий:

Можна побачити, що і вхід, і вихід містять UTXO 0,00000546 BTC.
Чому це так? Тут ми повинні знати деякі відповідні знання.
Спочатку давайте розберемося, що таке UTXO.

UTXO, повна назва — Unspent Transaction Output, дослівний переклад — Unspent Transaction Output, це основна інформація про біткойн. У біткойн-транзакціях кожна транзакція має входи та виходи. Гроші, які вам платить хтось інший, є «введенням транзакції», а гроші, які ви отримуєте, є «виходом транзакції».
Основна ідея дизайну UTXO — без стану. Він реєструє події транзакцій, але не кінцевий статус. Тобто реєструються лише події змін, і користувачам потрібно розраховувати власні баланси на основі історичних записів. Таким чином, модель транзакцій біткойна відрізняється від банківського рахунку, який ми зазвичай використовуємо. Він не має рахунку. Біткойн має лише UTXO. UTXO можна уявити як «монету» будь-якої суми.
UTXO схожий на монету, її не можна розбити та використати. Отже, як отримати введену суму під час транзакції та як отримати здачу?
Наприклад, Xiao Ming переказує 1 BTC Xiao Gang. Весь процес виглядає так. Сяо Міну потрібно зібрати достатньо вхідних даних. Наприклад, у попередній транзакції, що відповідає адресі Сяо Мінга, він знайшов UTXO з номінальною вартістю 0,9, чого недостатньо для 1 BTC. На щастя, кілька входи дозволені в транзакції, тому Xiao Ming було знайдено інший UTXO з номінальною вартістю 0,2, тому в цій транзакції передачі буде два входи. Також буде два виходи одночасно, один із яких вказуватиме на адресу Сяогана номінальною вартістю 1 BTC. Інший вказує на адресу Сяо Міна номінальною вартістю близько 0,1 BTC. Цей вихід є зміною.
У процесі переказу біткоіни немає фіксованого алгоритму введення, і він залежить від реалізації гаманця.
По-друге, треба зрозуміти, що таке написи і руни. Написи та руни на біткойнах є двома важливими поняттями в екосистемі біткойн.
**Основним представником Bitcoin Inscription є протокол Ordinals. **Ordinals було створено в грудні 2022 року. Вміст повністю включений у ланцюжок і розроблено Кейсі Родармором. Протокол використовує систему нумерації Sat. Порядкові номери відстежують кожен сатоші в транзакціях, надаючи їм порядковий номер. У той же час користувачі можуть додавати додаткові дані (зображення, відео, текст тощо) до блокчейну біткойн за допомогою порядкових номерів, створюючи кожен Кожен сатоші унікальний і, отже, має природу NFT. BRC-20 був створений на основі цього протоколу.
**Протокол рун, також відомий як протокол рун. **З огляду на популярність BRC-20, транзакції пов’язаних з BRC-20 токенів складають більшість протоколу Ordinals. 26 вересня 2023 року Кейсі Родармор переробив протокол під назвою Runes (який зараз усі називають протоколом Runes) на заміну BRC-20. Цей протокол є простим протоколом FT (Fungible Token, взаємозамінний токен) на основі UTXO (Unspent Transaction Output), який дає змогу користувачам біткойнів мати хороший досвід. Основними представниками рун є згадані нами COOK і PSBTS.
Носіями написів і рун Bitcoin є UTXO. Ключова відмінність між написами Bitcoin (Inions) і рунами (Rune) полягає в тому, що Написи вигравірувані в даних Segregated Witness, тоді як руни вигравірувані в In OP\ _ПОВЕРНЕННЯ. Розмір даних, які може зберігати OP_RETURN, дуже обмежений, але його більш ніж достатньо для емісії монет. Це не нова технологія.
Щоб користувачі використовували написи або руни, вони, по суті, надсилають біткойни, сума яких відповідає протоколу, а протокол повертає вам UTXO з написами або рунами, зазвичай UTXO 0,00000546 BTC. Давайте поговоримо про те, чому він дорівнює 0,00000546. Це мінімальна сума транзакції, встановлена Bitcoin.

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

Для користувачів, які втрачають руни, оскільки вони все ще є UTXO за своєю природою, коли користувачі використовують UniSat для виконання міжланцюжкових операцій на біткойнах, UniSat не розпізнає цю частину UTXO, що містить руни, і розглядає її як звичайний UTXO та вводить разом Відправляється на поперечно-ланцюговий міст.
Насправді, користувачі можуть втратити руни не лише під час переказу біткойнів у гаманці, які не підтримують руни. 7 грудня користувач втратив 15 000 COOK під час операції обміну BRC-20 на Unisat.

Ще цікаво те, що при закиданні рун на Runes Alpha є можливість перевести написи користувача як Gas.
В офіційній документації BEVM ми виявили, що крос-ланцюжок BEVM підтримує крос-ланцюг надписів. Користувачам потрібно лише використовувати BSwap, щоб перехресно зв’язати свої написи з BEVM. Гаманець, який використовується в мережах, — це гаманець UniSat. Це плагін-гаманець Chrome для екосистеми BTC, який допомагає користувачам зберігати, карбувати та передавати токени BRC-20. Він може ідентифікувати напис користувача, таким чином уникаючи злиття цієї частини UTXO.Вона буде передана лише тоді, коли користувач активно торгує написом.

Оскільки Unisat наразі не підтримує протокол рун, саме тому користувачі «втрачатимуть» руни в ланцюжках, але не написи. Аналогічна ситуація виникне, якщо ви перейдете на інші гаманці, які не підтримують руни.
Тепер, коли руни переміщено до крос-ланцюгового мосту, чи можуть користувачі повернути ту частину рун?
Ми звернулися до офіційного документа BEVM. Рішення BEVM для перехресного ланцюга активів побудовано на основі технології Taproot Bitcoin. Це POS-мережа, що складається з підпису Schnorr + контракту Mast + 1000 BTC світлового вузла для досягнення децентралізації активів. Cross -ланцюг і керування, двосторонній перехресний ланцюг BTC-BEVM повністю керується на основі консенсусу вузлів у ланцюзі, досягаючи повного кодування та надійності замість того, щоб покладатися на мультипідпис або ручне керування. Це робить BTC і Bitcoin перехресними Безпека ланцюга активів є такою ж децентралізованою та безпечною, як і BFT POS. Тому представники BEVM не можуть ініціювати окрему транзакцію передачі для вилучення «рунних активів» користувача.
Оскільки BEVM не підтримує протокол рун, ймовірність передачі цієї частини рун є абсолютно випадковою. Коли договір зберігання виконує транзакцію, ці «активи рун» можуть бути передані як звичайний UTXO, але весь процес це повністю випадковим і непідвладним людському контролю.Якщо його потрібно примусово вилучити, консенсус усього ланцюга BEVM має бути повністю змінений, що, безсумнівно, призведе до хардфорку BEVM.
Загалом цей інцидент стався з кількох причин:
Для звичайних користувачів, як уникнути повторення подібної проблеми? Виконуючи інтерактивні операції, ми рекомендуємо користувачам виконувати такі дії:
У той же час розробникам нагадують, що під час розробки та проектування їм необхідно повністю розглянути та підготуватися до вирішення можливих проблем несумісності протоколів на рівні коду. Якщо ні, проведіть дослідження перед виходом в Інтернет і дайте чіткі нагадування, щоб уникнути непотрібних сумнівів і проблем.
Поява написів і рун є важливою віхою в безперервному дослідженні та інноваціях екосистеми біткойн. Це значно привернуло увагу та ентузіазм усіх до участі в екосистемі біткойн, а також зіграло велику роль у майбутньому розвитку біткойна. екосистема значення. **Однак наразі написи та руни все ще знаходяться на відносно ранній стадії. Ми сподіваємося, що кожен повинен звернути увагу на пов’язані з цим ризики під час участі та уникати сліпоти. **
ScaleBit є провідною командою безпеки блокчейнів у галузі Web3, яка розташована в Кремнієвій долині, Сінгапурі, Гонконгу, Тайвані та інших місцях. Ми надали рішення безпеки блокчейну для 200+ організацій і проектів у глобальній сфері Web3, перевірили загалом 180 000+ рядків коду та захистили активи користувачів на суму понад 8 мільярдів+ доларів . **Зробіть безпеку доступною для всіх! Якщо у вас є якісь потреби в перевірці безпеки, будь ласка, зв’яжіться з нами. Ми налаштуємо детальні, комплексні та професійні рішення безпеки для вас, щоб захистити вас і сферу Web3! **
Посилання
[1]
[2]
[3]