Нещодавно, в екосистемі Bitcoin, проект під назвою Fractal BTC, після кількох раундів тестової мережі, офіційно запустив основну мережу у вересні. Однією з основних переваг Fractal є його здатність до смартконтрактів, а також запуск нового токен-протоколу CAT20 в момент виходу на основну мережу. Які технічні особливості має CAT20? Що ми можемо з цього дізнатися?
Вступ до Фрактального Біткоїну
Перед тим, як зрозуміти CAT20, нам потрібно спочатку коротко ознайомитися з Fractal Bitcoin. Їх зв'язок подібний до ERC20 та ETH, протокол CAT20 розгортається на Fractal Bitcoin.
Фрактальний Біткоїн, також відомий як фрактальний біткоїн, є повністю сумісною з BTC "другою" мережею. У порівнянні з BTC, час підтвердження блоку значно швидший, всього 1 хвилина. Його основний принцип, простими словами, полягає в тому, що мережа BTC була скопійована кілька разів, кожен ланцюг може обробляти транзакції, що збільшує кількість вузлів, здатних обробляти транзакції, а отже, природно підвищує швидкість. Однак конкретні деталі, такі як способи комунікації між різними ланцюгами, наразі ще не зовсім зрозумілі, а офіційні документи з відповідною технічною інформацією не надані.
Якщо тільки друга шарова ланцюгова торгівля швидша, здається, цього недостатньо, щоб викликати захват. Але Fractal активував операційний код OP_CAT, який BTC відмовився використовувати давно з міркувань безпеки, що підняло можливості Fractal Bitcoin на новий рівень. Дехто вважає, що OP_CAT може надати BTC можливості смартконтрактів, що відкриває більше простору для уяви.
На даний момент вже є люди, які реалізували протокол, схожий на ERC20, на Fractal Bitcoin.
CAT Протокол
З підтримкою базового OP_CAT незабаром з'явився відповідний протокол CAT Protocol. На даний момент один з протоколів, що вже працює на практиці, це протокол CAT20.
У порівнянні з зрілим протоколом ERC20, розгортання токена стало дуже зручним, тож як CAT20 реалізує подібний життєвий цикл до ERC20?
Розгорнути
Перед розгортанням користувачам потрібно вказати свою адресу гаманця та основну інформацію про токен, яка схожа на ERC20. Деякі відмінності CAT20 полягають у можливості налаштування попереднього видобутку та обмеження кількості на кожен Mint. Звичайно, ERC20 також може реалізувати ці функції за допомогою контрактних можливостей.
На етапі розгортання буде ініційовано дві транзакції, які можна розглядати як два етапи: "commit" та "reveal". На етапі "commit" у вихідному скрипті транзакції буде записано основну інформацію про токен, таку як назва токена, символ тощо. Хеш-ідентифікатор транзакції, ініційованої на етапі "commit", буде використовуватися як ідентифікатор цього токена для розрізнення від інших токенів.
На етапі "reveal" транзакція спочатку виведе OP_RETURN, в якому зберігається Hash початкового стану CAT20. Після цього буде виведено Minter, який відіграє важливу роль у подальшому процесі Mint, щоб підтримувати зміни стану процесу Mint.
Весь процес Deploy, "commit" і "reveal" слідують звичайним двом етапам подачі та розкриття в блокчейні, що є досить поширеним способом розгортання проектів.
Чеканити
Під час випуску токена, торгівля має такі характеристики:
Вхід mint - це minter, який спочатку створюється під час розгортання.
Кожен раз, коли виконується mint, є лише один minter як вхід, а виходом може бути будь-яка кількість minter.
Кожен раз, коли відбувається mint, існує і лише один токен.
Порядок виходу має вимоги, після minter обов'язково має бути token.
minter як вихід mint-транзакції може бути 1, кілька або навіть 0. Якщо кожного разу Mint встановлюється на 1, тоді загальна кількість доступних minter у всій мережі залишиться незмінною (1 ), що ускладнить Mint. Щоб уникнути цього, потрібно встановити кількість minter, що виводяться кожного разу, більшою за 1, так що після mint кількість доступних minter буде постійно зростати.
Однак, кожен додатковий вихід minter означає необхідність сплатити ще один utxo. З економічних міркувань більше людей схиляються до того, щоб встановити minter на 0, що неминуче призводить до дефляції minter, необхідно, щоб деякі люди зробили внесок і добровільно сплатили додатковий minter.
У версії V2 за замовчуванням генеруються два Minter, і їх стан намагатиметься бути якомога ближчим.
побудова угоди
Чому можна використовувати utxo від minter для побудови транзакцій? Це вимагає аналізу вихідного коду "контракту".
У процесі reveal транзакція використовує вихід commit попередньої транзакції як вхід. Це досягається за допомогою хитрої перезаписи логіки скрипту, у якому записані пари публічних та приватних ключів нашої власної адреси, таким чином можна контролювати два різні адреси utxo.
Щодо minter utxo, усі можуть використовувати ці utxo як вхідні дані, це може бути можливість смартконтрактів, надана OP_CAT, кожен minter є смартконтрактом.
Стан угоди (V2)
У minter зберігається стан у двох місцях: по-перше, у виході транзакції OP_RETURN, по-друге, у смартконтрактах.
Hash, що зберігає стан виходу поточної транзакції в OP_RETURN, а також кількість Mint, що залишилася для токена, зберігається в контракті. Після кожного Mint, кількість mint нового Minter дорівнюватиме залишковій кількості, що можна mint, поділеній на два.
Крім того, що Minter є смартконтрактом, згенеровані токени також є смартконтрактами, а саме CAT20. CAT20 має два основні стани: кількість і адресу власника токена. Варто зазначити, що на відміну від BRC20 або написів, CAT20 не знаходиться на UTXO вашої адреси.
Перевести
Під час передачі кількість токенів, що використовуються для створення транзакційних вхідних та вихідних даних, повинна бути однаковою. Одна транзакція може мати кілька різних токенів, потрібно лише, щоб кількість вхідних і вихідних токенів була однаковою.
Спалити
Щоб спалити токен, просто потрібно перевести токен на звичайну адресу.
Підсумок
Усі операції будує користувач самостійно, гнучкість велика, тому частина контракту потребує багатьох перевірок логіки. Деякі недоліки, які виникли на сьогодні, також пов'язані з недоліками перевірки логіки.
Цей дизайн має кілька переваг:
Щоб знайти всі токени, просто перегляньте utxo токена, не потрібно продовжувати шукати вгору.
Щоб перевірити поточний стан mint, можна шукати транзакції в OP_RETURN, що містять дані з cat.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
25 лайків
Нагородити
25
10
Поділіться
Прокоментувати
0/400
MercilessHalal
· 07-09 20:02
Знову новий протокол До місяця?
Переглянути оригіналвідповісти на0
CodeAuditQueen
· 07-08 23:05
Переглянувши вихідний код, виявлено ризики в перевірці вхідних параметрів.
Переглянути оригіналвідповісти на0
MainnetDelayedAgain
· 07-08 03:40
Згідно з базою даних, з вересня вже минуло 92 дні затримки.
Важливий прорив в екосистемі BTC: Fractal запустив смартконтракти протоокол CAT20
BTC також матиме власну смартконтракт функцію
Нещодавно, в екосистемі Bitcoin, проект під назвою Fractal BTC, після кількох раундів тестової мережі, офіційно запустив основну мережу у вересні. Однією з основних переваг Fractal є його здатність до смартконтрактів, а також запуск нового токен-протоколу CAT20 в момент виходу на основну мережу. Які технічні особливості має CAT20? Що ми можемо з цього дізнатися?
Вступ до Фрактального Біткоїну
Перед тим, як зрозуміти CAT20, нам потрібно спочатку коротко ознайомитися з Fractal Bitcoin. Їх зв'язок подібний до ERC20 та ETH, протокол CAT20 розгортається на Fractal Bitcoin.
Фрактальний Біткоїн, також відомий як фрактальний біткоїн, є повністю сумісною з BTC "другою" мережею. У порівнянні з BTC, час підтвердження блоку значно швидший, всього 1 хвилина. Його основний принцип, простими словами, полягає в тому, що мережа BTC була скопійована кілька разів, кожен ланцюг може обробляти транзакції, що збільшує кількість вузлів, здатних обробляти транзакції, а отже, природно підвищує швидкість. Однак конкретні деталі, такі як способи комунікації між різними ланцюгами, наразі ще не зовсім зрозумілі, а офіційні документи з відповідною технічною інформацією не надані.
Якщо тільки друга шарова ланцюгова торгівля швидша, здається, цього недостатньо, щоб викликати захват. Але Fractal активував операційний код OP_CAT, який BTC відмовився використовувати давно з міркувань безпеки, що підняло можливості Fractal Bitcoin на новий рівень. Дехто вважає, що OP_CAT може надати BTC можливості смартконтрактів, що відкриває більше простору для уяви.
На даний момент вже є люди, які реалізували протокол, схожий на ERC20, на Fractal Bitcoin.
CAT Протокол
З підтримкою базового OP_CAT незабаром з'явився відповідний протокол CAT Protocol. На даний момент один з протоколів, що вже працює на практиці, це протокол CAT20.
У порівнянні з зрілим протоколом ERC20, розгортання токена стало дуже зручним, тож як CAT20 реалізує подібний життєвий цикл до ERC20?
Розгорнути
Перед розгортанням користувачам потрібно вказати свою адресу гаманця та основну інформацію про токен, яка схожа на ERC20. Деякі відмінності CAT20 полягають у можливості налаштування попереднього видобутку та обмеження кількості на кожен Mint. Звичайно, ERC20 також може реалізувати ці функції за допомогою контрактних можливостей.
На етапі розгортання буде ініційовано дві транзакції, які можна розглядати як два етапи: "commit" та "reveal". На етапі "commit" у вихідному скрипті транзакції буде записано основну інформацію про токен, таку як назва токена, символ тощо. Хеш-ідентифікатор транзакції, ініційованої на етапі "commit", буде використовуватися як ідентифікатор цього токена для розрізнення від інших токенів.
На етапі "reveal" транзакція спочатку виведе OP_RETURN, в якому зберігається Hash початкового стану CAT20. Після цього буде виведено Minter, який відіграє важливу роль у подальшому процесі Mint, щоб підтримувати зміни стану процесу Mint.
Весь процес Deploy, "commit" і "reveal" слідують звичайним двом етапам подачі та розкриття в блокчейні, що є досить поширеним способом розгортання проектів.
Чеканити
Під час випуску токена, торгівля має такі характеристики:
minter як вихід mint-транзакції може бути 1, кілька або навіть 0. Якщо кожного разу Mint встановлюється на 1, тоді загальна кількість доступних minter у всій мережі залишиться незмінною (1 ), що ускладнить Mint. Щоб уникнути цього, потрібно встановити кількість minter, що виводяться кожного разу, більшою за 1, так що після mint кількість доступних minter буде постійно зростати.
Однак, кожен додатковий вихід minter означає необхідність сплатити ще один utxo. З економічних міркувань більше людей схиляються до того, щоб встановити minter на 0, що неминуче призводить до дефляції minter, необхідно, щоб деякі люди зробили внесок і добровільно сплатили додатковий minter.
У версії V2 за замовчуванням генеруються два Minter, і їх стан намагатиметься бути якомога ближчим.
побудова угоди
Чому можна використовувати utxo від minter для побудови транзакцій? Це вимагає аналізу вихідного коду "контракту".
У процесі reveal транзакція використовує вихід commit попередньої транзакції як вхід. Це досягається за допомогою хитрої перезаписи логіки скрипту, у якому записані пари публічних та приватних ключів нашої власної адреси, таким чином можна контролювати два різні адреси utxo.
Щодо minter utxo, усі можуть використовувати ці utxo як вхідні дані, це може бути можливість смартконтрактів, надана OP_CAT, кожен minter є смартконтрактом.
Стан угоди (V2)
У minter зберігається стан у двох місцях: по-перше, у виході транзакції OP_RETURN, по-друге, у смартконтрактах.
Hash, що зберігає стан виходу поточної транзакції в OP_RETURN, а також кількість Mint, що залишилася для токена, зберігається в контракті. Після кожного Mint, кількість mint нового Minter дорівнюватиме залишковій кількості, що можна mint, поділеній на два.
Крім того, що Minter є смартконтрактом, згенеровані токени також є смартконтрактами, а саме CAT20. CAT20 має два основні стани: кількість і адресу власника токена. Варто зазначити, що на відміну від BRC20 або написів, CAT20 не знаходиться на UTXO вашої адреси.
Перевести
Під час передачі кількість токенів, що використовуються для створення транзакційних вхідних та вихідних даних, повинна бути однаковою. Одна транзакція може мати кілька різних токенів, потрібно лише, щоб кількість вхідних і вихідних токенів була однаковою.
Спалити
Щоб спалити токен, просто потрібно перевести токен на звичайну адресу.
Підсумок
Усі операції будує користувач самостійно, гнучкість велика, тому частина контракту потребує багатьох перевірок логіки. Деякі недоліки, які виникли на сьогодні, також пов'язані з недоліками перевірки логіки.
Цей дизайн має кілька переваг: