Вступ до протоколів індексації|Зрозумійте сценарії використання, реалізацію та безпеку активів протоколів індексації

Початківець2/7/2024, 11:56:00 AM
У цій статті розглядаються основні протоколи індексації, щоб допомогти користувачам зрозуміти випадки використання, методи реалізації та способи захисту активів індексації.

1 лютого Binance Web3 Гаманець офіційно запустив свій ринок криптовалют, підтримуючи різні протоколи криптовалют, такі як BRC-20 і Ethscription. Кілька днів тому OKX також оголосила про підтримку протоколів написів, таких як ARC-20, Runes, Doginals тощо, що привернуло увагу всього ринку до написів. Під час хвилі індексації часто виникають різні проблеми з безпекою через складність і новизну протоколів індексації. Це не тільки загрожує безпеці активів користувачів, але й негативно впливає на здоровий розвиток всієї екосистеми Inscription.

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

Вступ до написів

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

Поточний стан написів

Від початкової появи біткоїн-надписів, таких як BRC-20, до сучасної екосистеми надписів, майже щодня з'являється нескінченна кількість нових протоколів надписів і нових проектів. Можна сказати, що розвиток Inscription рухається вперед семимильними кроками. До екосистеми написів також приєдналися різні поширені публічні ланцюжки, такі як протокол Ethscription в публічному ланцюжку ETH, протокол ARC-20 в публічному ланцюжку BTC, BSC-20 та інші протоколи в публічному ланцюжку BSC, а також PRC - в публічному ланцюжку Polygon. 20 і т.д. договір .... Всі ці протоколи генеруються з метою публікації написів у своїх публічних ланцюжках. У наступних матеріалах ми представимо методи реалізації та приклади використання різних протоколів.

Детальне пояснення напису

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

1. BRC-20

Щоб чітко пояснити BRC-20, ми повинні спочатку ввести UTXO і ординали.

BTC використовує модель UTXO, і транзакції передаються в одиницях UTXO. UTXO - це абревіатура Unspent Transaction Output, що означає невитрачений вихід транзакції. Модель UTXO відрізняється від моделі облікових записів публічних ланцюжків, таких як Ethereum, тим, що вона фіксує події транзакцій, але не їх остаточний статус. Щоб порахувати, скільки біткоїнів має користувач, потрібно підсумувати всі UTXO його адреси, і в результаті вийде кількість монет, якими володіє користувач.

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

Засновник BRC-20 запропонував іншу концепцію, засновану на протоколі Ordinals. Оскільки протокол Ordinals може створювати біткоін NFT, надаючи кожному сатоші різні "атрибути", він також може створювати біткоін FT, надаючи уніфікований "формат" і "атрибути", тобто однорідні токени.

BRC-20 записує текстові дані в уніфікованому форматі JSON в Satoshi через протокол Ordinals. Ці текстові дані є обліковою книгою токенів BRC-20. На основі цих текстових даних можна аналізувати володіння токенами та їх перекази. В основному включає наступний зміст:

Вище перераховані три стандарти BRC-20. Серед них поле op представляє операцію, яку потрібно виконати, включаючи deploy (розгортання), mint (карбування) і transfer (передача). Галочка позначає назву токена, який потрібно виконати. max - загальна кількість випущених токенів, lim - максимальна кількість монет, що карбується на один токен, amt - кількість токенів, які необхідно обслуговувати. У стандарті передачі також є такі поля, як "кому", але це не обов'язково. Переказ здійснюється за допомогою Напис надсилається на цільову адресу для здійснення зміни балансу, як показано на малюнку нижче:

Source:https://twitter.com/blockpunk2077/status/1725513817982136617

2. ARC-20

ARC-20 все ще залишається протоколом запису в публічному ланцюжку Біткоїна. Як і протокол BRC-20, він реалізується шляхом запису стандартних даних в UTXO, але різниця полягає в тому, що в протоколі ARC-20 не потрібно вказувати ARC-20 в даних. Замість цього, кількість токенів ARC-20 представлена сатами (сатоші, найменша одиниця Bitcoin) в UTXO. Правило: 1 sat = 1 токен ARC-20.

Протокол ARC-20, як і протокол BRC-20, також поділяється на три етапи: розгортання, карбування та передача. На етапі розгортання в UTXO необхідно заповнити стандартне ім'я токена, загальну кількість токенів, обмеження на кастинг та інформацію про блок. ім'я токена в UTXO, а кількість сатів UTXO є сумою карбування токена ARC-20 і не вноситься в UTXO разом з ім'ям токена; коли користувач карбує токени ARC-20, токени можна надсилати на інші адреси. При надсиланні токенів користувачам не потрібно заповнювати будь-які дані в UTXO, а безпосередньо передавати UTXO, що містить токен, на інші адреси.

Source:https://twitter.com/blockpunk2077/status/1725513817982136617

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

Розібравшись з BRC-20 та ARC-20, ви повинні знати, чому деякі люди помилково переносять вписані активи на інші адреси або "спалюють" їх.

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

3. Етикетка

Ethscription - це протокол для створення та обміну даними на Ethereum. Деякі криптовалюти використовують цей протокол для заміни смарт-контрактів для реалізації емісії токенів. Використання написів може знизити витрати користувача до надзвичайно низького рівня.

Коли Ethereum відправляє транзакцію, він надає блок даних calldata. Зазвичай цей блок даних залишається порожнім для звичайних переказів ETH. Якщо викликається смарт-контракт, блок даних буде позначений як підпис функції, що викликає, і дані кожного параметра. Протокол Ethscription використовує блок даних calldata для додавання деяких стандартних даних для надання відповідного значення при відправці звичайних ETH-переказів.

Як Ethscription визначає ці стандартні дані?

По-перше, якщо ви хочете створити Ethscription, вмістом якого є дані зображення, вам потрібно перетворити зображення (розмір зображення обмежений 96 КБ) в URI даних в кодуванні Base64 у форматі (data:image/png;base64,...); далі перетворити URI в шістнадцятковий рядок; відправити звичайну транзакцію переказу на цільову адресу через Ethereum, і заповнити вищевказаний шістнадцятковий рядок в calldata, як показано нижче:

Таким чином, адреса 0xf1bf є власником Ethscription, і будь-який Ethscription, створений пізніше з тими самими даними виклику, буде вважатися недійсним.

Якщо ви хочете передати Ethscription, вам потрібно, щоб власник Ethscription надіслав звичайний переказ на адресу одержувача і ввів хеш транзакції, яка створила Ethscription, в calldata, після чого адреса одержувача стане власником Ethscription, як показано нижче:

4. Напис EVM Blockchain

Для EVM-блокчейнів, таких як BSCChain, Ethereum, Polygon тощо, існує загальний метод запису, який називається calldata. Цей метод використовує блоки даних для зберігання даних фіксованого формату. На відміну від зберігання даних зображень, згаданих вище, цей метод передбачає запис текстових даних у стандартному форматі до calldata.

На ланцюжку BSC написи вигравірувані у форматі, подібному до формату напису BRC20. Наприклад, формат запису: data:,{“p”:””,”op”:””,”tick”:””,”amt”:””}; де поле "p" представляє назву протоколу, наприклад, bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20 і так далі. Поле "op" позначає операцію, зазвичай "mint". Поле "tick" представляє назву токена, а поле "amt" - кількість токенів.

На прикладі токена bnbs ми бачимо, що поки звичайний переказ надсилається на цільову адресу, заповнення даних:,{“p”:”bsc-20”,”op”:”mint” in the calldata ,”tick”:”bnbs”,”amt”:”1000”} завершує операцію карбування токена bnbs, як показано нижче. На даний момент адреса 0x22ef містить 1,000 токенів bnbs.

Далі вам потрібно передати токен. Як і раніше, вам потрібно відправити звичайний переказ на адресу отримувача, а в calldata вписати хеш транзакції, яка створила токен bnbs. Тоді отримувач буде володіти токеном bnbs, як показано нижче:

В принципі, те ж саме відбувається в Ethereum, Polygon та інших ланцюжках, але слід зазначити, що вміст наведеного вище ланцюжка BSC - не єдина ситуація, коли написи створюються на ланцюжку evm. Між різними ланцюжками evm або різними протоколами можуть бути відмінності у заповненні полів текстових даних. Також можуть бути відмінності в способах передачі токенів. Але для цього типу методів всі вони реалізуються за допомогою атрибуту calldata в ланцюжку EVM, тому вони здаються схожими.

Зведення

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

Відмова від відповідальності:.

  1. Ця стаття передрукована з[PANews]. Всі авторські права належать оригінальному автору[Beosin]. Якщо у вас є заперечення щодо цього передруку, будь ласка, зв'яжіться з командою Gate Learn, і вони оперативно його опрацюють.
  2. Відмова від відповідальності: Погляди та думки, висловлені в цій статті, належать виключно автору і не є інвестиційною порадою.
  3. Переклади статті іншими мовами виконані командою Gate Learn. Якщо не зазначено інше, копіювання, розповсюдження або плагіат перекладених статей заборонені.

Вступ до протоколів індексації|Зрозумійте сценарії використання, реалізацію та безпеку активів протоколів індексації

Початківець2/7/2024, 11:56:00 AM
У цій статті розглядаються основні протоколи індексації, щоб допомогти користувачам зрозуміти випадки використання, методи реалізації та способи захисту активів індексації.

1 лютого Binance Web3 Гаманець офіційно запустив свій ринок криптовалют, підтримуючи різні протоколи криптовалют, такі як BRC-20 і Ethscription. Кілька днів тому OKX також оголосила про підтримку протоколів написів, таких як ARC-20, Runes, Doginals тощо, що привернуло увагу всього ринку до написів. Під час хвилі індексації часто виникають різні проблеми з безпекою через складність і новизну протоколів індексації. Це не тільки загрожує безпеці активів користувачів, але й негативно впливає на здоровий розвиток всієї екосистеми Inscription.

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

Вступ до написів

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

Поточний стан написів

Від початкової появи біткоїн-надписів, таких як BRC-20, до сучасної екосистеми надписів, майже щодня з'являється нескінченна кількість нових протоколів надписів і нових проектів. Можна сказати, що розвиток Inscription рухається вперед семимильними кроками. До екосистеми написів також приєдналися різні поширені публічні ланцюжки, такі як протокол Ethscription в публічному ланцюжку ETH, протокол ARC-20 в публічному ланцюжку BTC, BSC-20 та інші протоколи в публічному ланцюжку BSC, а також PRC - в публічному ланцюжку Polygon. 20 і т.д. договір .... Всі ці протоколи генеруються з метою публікації написів у своїх публічних ланцюжках. У наступних матеріалах ми представимо методи реалізації та приклади використання різних протоколів.

Детальне пояснення напису

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

1. BRC-20

Щоб чітко пояснити BRC-20, ми повинні спочатку ввести UTXO і ординали.

BTC використовує модель UTXO, і транзакції передаються в одиницях UTXO. UTXO - це абревіатура Unspent Transaction Output, що означає невитрачений вихід транзакції. Модель UTXO відрізняється від моделі облікових записів публічних ланцюжків, таких як Ethereum, тим, що вона фіксує події транзакцій, але не їх остаточний статус. Щоб порахувати, скільки біткоїнів має користувач, потрібно підсумувати всі UTXO його адреси, і в результаті вийде кількість монет, якими володіє користувач.

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

Засновник BRC-20 запропонував іншу концепцію, засновану на протоколі Ordinals. Оскільки протокол Ordinals може створювати біткоін NFT, надаючи кожному сатоші різні "атрибути", він також може створювати біткоін FT, надаючи уніфікований "формат" і "атрибути", тобто однорідні токени.

BRC-20 записує текстові дані в уніфікованому форматі JSON в Satoshi через протокол Ordinals. Ці текстові дані є обліковою книгою токенів BRC-20. На основі цих текстових даних можна аналізувати володіння токенами та їх перекази. В основному включає наступний зміст:

Вище перераховані три стандарти BRC-20. Серед них поле op представляє операцію, яку потрібно виконати, включаючи deploy (розгортання), mint (карбування) і transfer (передача). Галочка позначає назву токена, який потрібно виконати. max - загальна кількість випущених токенів, lim - максимальна кількість монет, що карбується на один токен, amt - кількість токенів, які необхідно обслуговувати. У стандарті передачі також є такі поля, як "кому", але це не обов'язково. Переказ здійснюється за допомогою Напис надсилається на цільову адресу для здійснення зміни балансу, як показано на малюнку нижче:

Source:https://twitter.com/blockpunk2077/status/1725513817982136617

2. ARC-20

ARC-20 все ще залишається протоколом запису в публічному ланцюжку Біткоїна. Як і протокол BRC-20, він реалізується шляхом запису стандартних даних в UTXO, але різниця полягає в тому, що в протоколі ARC-20 не потрібно вказувати ARC-20 в даних. Замість цього, кількість токенів ARC-20 представлена сатами (сатоші, найменша одиниця Bitcoin) в UTXO. Правило: 1 sat = 1 токен ARC-20.

Протокол ARC-20, як і протокол BRC-20, також поділяється на три етапи: розгортання, карбування та передача. На етапі розгортання в UTXO необхідно заповнити стандартне ім'я токена, загальну кількість токенів, обмеження на кастинг та інформацію про блок. ім'я токена в UTXO, а кількість сатів UTXO є сумою карбування токена ARC-20 і не вноситься в UTXO разом з ім'ям токена; коли користувач карбує токени ARC-20, токени можна надсилати на інші адреси. При надсиланні токенів користувачам не потрібно заповнювати будь-які дані в UTXO, а безпосередньо передавати UTXO, що містить токен, на інші адреси.

Source:https://twitter.com/blockpunk2077/status/1725513817982136617

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

Розібравшись з BRC-20 та ARC-20, ви повинні знати, чому деякі люди помилково переносять вписані активи на інші адреси або "спалюють" їх.

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

3. Етикетка

Ethscription - це протокол для створення та обміну даними на Ethereum. Деякі криптовалюти використовують цей протокол для заміни смарт-контрактів для реалізації емісії токенів. Використання написів може знизити витрати користувача до надзвичайно низького рівня.

Коли Ethereum відправляє транзакцію, він надає блок даних calldata. Зазвичай цей блок даних залишається порожнім для звичайних переказів ETH. Якщо викликається смарт-контракт, блок даних буде позначений як підпис функції, що викликає, і дані кожного параметра. Протокол Ethscription використовує блок даних calldata для додавання деяких стандартних даних для надання відповідного значення при відправці звичайних ETH-переказів.

Як Ethscription визначає ці стандартні дані?

По-перше, якщо ви хочете створити Ethscription, вмістом якого є дані зображення, вам потрібно перетворити зображення (розмір зображення обмежений 96 КБ) в URI даних в кодуванні Base64 у форматі (data:image/png;base64,...); далі перетворити URI в шістнадцятковий рядок; відправити звичайну транзакцію переказу на цільову адресу через Ethereum, і заповнити вищевказаний шістнадцятковий рядок в calldata, як показано нижче:

Таким чином, адреса 0xf1bf є власником Ethscription, і будь-який Ethscription, створений пізніше з тими самими даними виклику, буде вважатися недійсним.

Якщо ви хочете передати Ethscription, вам потрібно, щоб власник Ethscription надіслав звичайний переказ на адресу одержувача і ввів хеш транзакції, яка створила Ethscription, в calldata, після чого адреса одержувача стане власником Ethscription, як показано нижче:

4. Напис EVM Blockchain

Для EVM-блокчейнів, таких як BSCChain, Ethereum, Polygon тощо, існує загальний метод запису, який називається calldata. Цей метод використовує блоки даних для зберігання даних фіксованого формату. На відміну від зберігання даних зображень, згаданих вище, цей метод передбачає запис текстових даних у стандартному форматі до calldata.

На ланцюжку BSC написи вигравірувані у форматі, подібному до формату напису BRC20. Наприклад, формат запису: data:,{“p”:””,”op”:””,”tick”:””,”amt”:””}; де поле "p" представляє назву протоколу, наприклад, bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20 і так далі. Поле "op" позначає операцію, зазвичай "mint". Поле "tick" представляє назву токена, а поле "amt" - кількість токенів.

На прикладі токена bnbs ми бачимо, що поки звичайний переказ надсилається на цільову адресу, заповнення даних:,{“p”:”bsc-20”,”op”:”mint” in the calldata ,”tick”:”bnbs”,”amt”:”1000”} завершує операцію карбування токена bnbs, як показано нижче. На даний момент адреса 0x22ef містить 1,000 токенів bnbs.

Далі вам потрібно передати токен. Як і раніше, вам потрібно відправити звичайний переказ на адресу отримувача, а в calldata вписати хеш транзакції, яка створила токен bnbs. Тоді отримувач буде володіти токеном bnbs, як показано нижче:

В принципі, те ж саме відбувається в Ethereum, Polygon та інших ланцюжках, але слід зазначити, що вміст наведеного вище ланцюжка BSC - не єдина ситуація, коли написи створюються на ланцюжку evm. Між різними ланцюжками evm або різними протоколами можуть бути відмінності у заповненні полів текстових даних. Також можуть бути відмінності в способах передачі токенів. Але для цього типу методів всі вони реалізуються за допомогою атрибуту calldata в ланцюжку EVM, тому вони здаються схожими.

Зведення

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

Відмова від відповідальності:.

  1. Ця стаття передрукована з[PANews]. Всі авторські права належать оригінальному автору[Beosin]. Якщо у вас є заперечення щодо цього передруку, будь ласка, зв'яжіться з командою Gate Learn, і вони оперативно його опрацюють.
  2. Відмова від відповідальності: Погляди та думки, висловлені в цій статті, належать виключно автору і не є інвестиційною порадою.
  3. Переклади статті іншими мовами виконані командою Gate Learn. Якщо не зазначено інше, копіювання, розповсюдження або плагіат перекладених статей заборонені.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!