Технічна статистика Новий прогрес Polkadot: Asset Center підтримує резервні мультичейн активи

Автор: Джо Петровскі, керівник парачейн-команди Web3 Foundation System

Складено спільнотою OneBlock

Переважна більшість людей звикли ідентифікувати активи за назвою або символом, наприклад, «Tether» або «USDT». Якщо ви знайомі з Ethereum, ви звикли до 0x адрес контрактів.

У Polkadot Asset Hub розміщує функціональність активів безпосередньо в протоколі, використовуючи прості цілі числа як ідентифікатори активів. Назва «1984» трохи зухвала, але людям, безумовно, легше запам'ятати (і перевірити), ніж 0xdAC17F958D2ee523a2206206994597C13D831ec7.

Polkadot тепер має ще один паралельний екземпляр цього функціоналу активу, за винятком того, що цей екземпляр використовує примітив XCM, який називається мультилокацією, для ідентифікації ресурсу. За допомогою цього пояснення я сподіваюся донести, що ця функція створює виразну та потужну модель використання активів у мережі Polkadot та всередині неї.

! [Технічний подробиці Новий прогрес Polkadot: Центр активів підтримує резервні багатоланцюгові активи] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-310f5be259-dd1a6f-69ad2a.webp)

"Мультилокація"Локальні та зовнішні активи

Коли Центр активів був вперше запущений, він містив лише один екземпляр палітри «Активи», що дозволяло будь-кому отримати доступний ідентифікатор активу та створити свої об'єкти. Замість того, щоб мати кастомний контракт для кожного активу, Asset Center вбудовує логіку активів як примітив першого рівня. Кожен актив має однаковий функціонал.

Ці активи, на основі яких можна заявити про себе на основі цілих чисел, називаються локальними активами. Центри активів в основному використовуються творцями цих активів, як правило, резервними стейблкоїнами, такими як USDT. Однак протокол забезпечує лише унікальність ідентифікаторів активів, у цьому випадку цілих чисел. Автори можуть встановлювати метадані, як-от символи об'єктів. Тому користувачам все одно потрібно провести належну перевірку активу; Будь-хто може назвати свій актив USDT, але користувачі зазвичай хочуть вибрати USDT, створений Tether.

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

Але самі ідентифікатори активів не дуже виразні. Незважаючи на те, що ідентифікатор простіше перевірити, ніж адресу контракту, він не передає користувачеві жодної інформації про актив. Ось тут і настала черга XCM (Cross-Consensus Message Format).

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

Мультилокація має серію перетинів, які зазвичай поділяються на дві частини: «батьківські» та розширені шляхи, наприклад, «батьки: 1, внутрішня: парачейн(9,000)». Це означає «іди до мого батька, а звідти до парачейну 9 000». Тут «батьком» є система, яка містить консенсус. Наприклад, ретрансляційний ланцюг — це система консенсусу, яка містить парачейни, тоді як парачейн може бути консенсусною системою, яка містить смарт-контракти. У цьому прикладі кілька місцеположень можуть надходити з іншого парачейну, наприклад центру активів. Парачейн 9 000 буде парою братів, оскільки вони мають одного батька — естафетний ланцюг.

Як ідентифікатори об'єктів, кілька місцеположень мають значні переваги перед абсолютними ідентифікаторами (наприклад, адреса, хеш, ціле число). По-перше, множинне місцезнаходження активу саме по собі вказує на контролюючий суб'єкт. У наведеному вище прикладі наведено керування парачейном 9 000. Переглядаючи абсолютні ідентифікатори, користувачі повинні довіряти організації-емітенту та її заявам, таким як ончейн-токени та офчейн-активи, один до одного. До мультипозиційних належать парачейни, смарт-контракти або інші протоколи, що фактично вказує на логіку контролю активів. Однак це не означає, що користувачі можуть відмовитися від усієї необхідної належної обачності, наприклад, парачейн 9 000 може мати довіреного «суперкористувача». Але мультилокація здатна повідомити користувачеві, яким протоколом керується актив.

За межами кінцевої точки кількох позицій він фактично уточнює «ланцюжок командування». Для довшого прикладу, парачейн 9 000 об'єктів з ідентифікатором 42: "parents: 1, interior: Parachain(9,000), PalletIndex(99), GeneralIndex(42)". Цей актив контролюється піддоном, який знаходиться всередині консенсусу парачейну, який, у свою чергу, знаходиться всередині консенсусу спільного батьківського елемента (ланцюга ретрансляції). Мультилокація може навіть представляти повністю зовнішню систему консенсусу, наприклад, «батьки: 2, внутрішня: GlobalConsensus (Ethereum)». З точки зору парачейну, це означає «піднятися на два рівні (тобто вище ланцюжка ретрансляції), а потім досягти консенсусу Ethereum».

Ці розташування дуже схожі на шляхи до файлів Unix, наприклад ": /Parachain (9000)/PalletIndex (99)/GeneralIndex (42)" або ".. /.. /GlobalConsensus (Ethereum)"。

Зрештою, центр активів Polkadot може представляти будь-який актив, доступний із Polkadot. Незалежно від того, чи викликається він через локальну панель або контракт, XCMP або міст, нативний токен протоколу або інші локальні активи ланцюга, Asset Center забезпечує загальний інтерфейс для всіх активів, а ідентифікатор активу повідомляє про його суверенне місцезнаходження.

Два типи відносин передачі активів: **Передача та резервування

У мові XCM є два способи вираження відносин між розташуванням і передачею активів: телепорти і резерви. Вони визначають взаємозв'язок між центром активів та іншими ланцюгами та те, як вони взаємодіють.

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

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

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

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

Отже, хто кому довіряє? Чому довіряти? Суб'єкти господарювання завжди довіряють своєму «батькові» в парадигмі многолокациональності. Наприклад, смарт-контракт, розташований на Parachain 8 000, довіряє управлінню Parachain 8 000, тоді як Parachain 8 000 довіряє Polkadot Relay Chain. Ланцюжки ретрансляції Polkadot керуються «кореневим походженням» і можуть виконувати будь-які інструкції, включаючи вигнання парачейнів. Root Origin від Polkadot також керує всіма системними парачейнами (фактично, ланцюжок ретрансляції та всі системні парачейни можна розглядати як єдиний «протокол Polkadot»).

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

З іншого боку, Polkadot не може поширити цю загальну довіру на членів у ньому. Але він може довіряти місцевість у керуванні активами, які походять із цього місця. Протокол може довірити Parachain 9 000 керувати своїм нативним токеном (PNT, "пінта"?). ) та активи, створені в ньому, наприклад, токени, випущені локально. Таким чином, під час взаємодії з парачейном 9 000 Центр активів передаватиме PNT, щоб підтвердити, що PNT походить із цього парачейну. Для парачейну 9 000 центр активів використовуватиме резервний переказ PET (Parachain 8 000 токенів, менш двозначний).

**Центр активів виконує функцію резервної позиції, **Інтерактивні необмежені активи

Створення PET контролюється компанією Parachain 8 000, яка приймає управління протоколом Polkadot. Тому Polkadot, природно, довірився PET Parachain 8,000, який є частиною протоколу Parachain 8,000. Але ні Polkadot, ні Parachain 8 000 не довіряють іншим парачейнам діяти як резервні позиції для PET.

(* Примітка: Довіра, однак, також є варіантом: Parachain 8,000 може мати інших братів і сестер, які ідентифікують себе з його походженням з управління, так само, як багато системних мереж визнають походження Polkadot OpenGov. У зв'язку з цим краще розглядати суверенну систему, яка може містити кілька ланцюгів, а не окремі ланцюжки. )

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

З огляду на ці двосторонні довірчі відносини, Центр активів може виступати в якості місця призначення для резервних активів. Парачейн 8 000 може передавати свої ПЕТ до центру активів, який потім може діяти як резервне місце для переказів між іншими місцями. Це означає, що парачейн 9 000 може використовувати центр активів як резервне місце для своїх PET для надсилання іншим парачейнам.

Однак ці інші локації тепер можуть розглядати як Parachain 8 000, так і Asset Center як резервні місця для PET.

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

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

Практика кодування: передача парачейн-активів до Центру активів**

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

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

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

Почніть наш процес із визначення кількох активів: DOT і парачейн 9 000 PINT нативних активів, а також бенефіціара активу-одержувача:

! [Технічний подробиці Новий прогрес Polkadot: Центр активів підтримує резервні багатоланцюгові активи] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-6f1578732f-dd1a6f-69ad2a.webp)

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

! [Технічний подробиці Новий прогрес Polkadot: Центр активів підтримує резервні багатоланцюгові активи] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-706b50806e-dd1a6f-69ad2a.webp)

Тепер приступайте до створення XCM-програми, яку ви відправили в Asset Center:

! [Технічний подробиці Новий прогрес Polkadot: Центр активів підтримує резервні багатоланцюгові активи] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-4a86958556-dd1a6f-69ad2a.webp)

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

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

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

🔗

Висновок

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

У найближчі місяці Parity випустить більше прикладів і навчальних посібників, щоб продемонструвати деякі загальні моделі роботи із зовнішніми ресурсами. Розробники парачейнів повинні стежити за Trappist на Rococo, тоді як розробники гаманців/інтеграцій повинні стежити за API передачі активів:

🔗

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити