BTC также будет обладать функцией смарт-контрактов
В последнее время проект под названием Fractal BTC в экосистеме Биткойна после многократного тестирования сети официально запустил основную сеть в сентябре. Одним из основных преимуществ Fractal является наличие смарт-контрактов, и в момент запуска основной сети был представлен новый токен-протокол CAT20. Какие технические особенности у CAT20? Чему мы можем из этого научиться?
Введение в Fractal Bitcoin
Прежде чем понять CAT20, нам нужно сначала немного разобраться с Fractal Bitcoin. Их связь похожа на связь между ERC20 и ETH, протокол CAT20 разворачивается на Fractal Bitcoin.
Фрактальный Биткойн, также известный как фрактальный биткойн, является полностью совместимой с BTC "второй уровень" сетью. В отличие от BTC, время подтверждения блоков у него быстрее, всего 1 минута. Его основная идея заключается в том, что сеть BTC была скопирована несколько раз, каждая цепь может обрабатывать транзакции, а количество узлов, способных обрабатывать транзакции, увеличивается, что естественно повышает скорость. Однако конкретные детали, такие как способы связи между различными цепями, на данный момент еще не ясны, и официальные документы с соответствующей технической информацией также не были предоставлены.
Если бы это была только более быстрая транзакция второго уровня, это, похоже, не было бы достаточно увлекательно. Однако Fractal активировал код операции OP_CAT, который был отключен из-за соображений безопасности задолго до этого, что подняло возможности Fractal Bitcoin на новый уровень. Некоторые считают, что OP_CAT может предоставить BTC возможности смарт-контрактов, что дает людям больше пространства для воображения.
В настоящее время кто-то реализовал протокол, похожий на ERC20, на Fractal Bitcoin.
Протокол CAT
С поддержкой базового OP_CAT вскоре появился соответствующий протокол CAT Protocol. В настоящее время одним из протоколов, который уже работает на практике, является протокол CAT20.
По сравнению со зрелым протоколом ERC20, развертывание токена стало намного более удобным, так как же CAT20 реализует жизненный цикл, аналогичный ERC20?
Развернуть
Перед развертыванием пользователю необходимо указать свой адрес кошелька и основную информацию о токенах, эта информация аналогична ERC20. Некоторые отличия CAT20 заключаются в том, что можно установить преддобычу и ограничение на количество при каждом Mint. Конечно, ERC20 также может реализовать эти функции через возможности контракта.
На этапе развертывания будет инициировано две транзакции, которые можно рассматривать как два этапа: "commit" и "reveal". На этапе "commit" в выходном скрипте транзакции будет записана основная информация о токене, такая как название токена, символ и т.д. HashId транзакции, инициированной на этапе "commit", будет использоваться в качестве идентификатора этого токена для его отличия от других токенов.
На этапе "reveal" транзакция сначала выводит OP_RETURN, в котором хранится хэш начального состояния CAT20. Затем выводится Minter, который играет важную роль в последующем процессе Mint, поддерживая изменения состояния процесса Mint.
Весь процесс развертывания, "commit" и "reveal" следуют двум обычным шагам на блокчейне: подаче и раскрытию, что является довольно распространенным способом развертывания проектов.
Минт
При создании токена торговля имеет следующие характеристики:
Вход mint - это minter, который изначально создается при развертывании.
Каждый раз при mint есть и только один minter в качестве входа, и может быть любое количество minter в качестве выхода.
Каждый раз при mint создается только один токен.
Порядок вывода имеет требования, после minter должен идти token.
minter как выход для mint-транзакции может быть одним, несколькими или даже нулем. Если каждый раз устанавливать 1 minter, то общее количество доступных minter в сети останется неизменным (1 ), что приведет к переполнению Mint. Чтобы избежать этой ситуации, необходимо устанавливать количество выходных minter больше 1, таким образом после mint количество доступных minter будет увеличиваться.
Однако каждое дополнительное значение minter означает необходимость выплатить еще одну UTXO. Из экономических соображений больше людей будут склонны устанавливать minter на 0, что неизбежно приведет к дефляции minter, и потребуется, чтобы некоторые люди сделали пожертвование, добровольно оплатив лишний minter.
В версии V2 по умолчанию создаются два Minter, и состояние обоих Minter будет максимально близким.
Построение сделки
Почему можно использовать UTXO от minter для построения транзакций? Это требует анализа исходного кода "смарт-контрактов".
В процессе раскрытия транзакция использовала выходные данные предыдущей транзакции commit в качестве входных данных. Это было реализовано путем умелого переписывания логики скрипта, где пара публичного и приватного ключей, записанная в скрипте, принадлежит нашему собственному адресу, что позволяет контролировать два разных адреса utxo.
Для minter utxo все могут использовать эти utxo в качестве входных данных, что может быть функциональностью смарт-контрактов, предоставляемой OP_CAT, каждый minter является смарт-контрактом.
Статус транзакции (V2)
В минтере сохраняется состояние, которое хранится в двух местах: первое - в OP_RETURN выходов транзакций, второе - в смарт-контрактах.
Хэш состояния текущего выхода транзакции хранится в 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 дня задержки.
Посмотреть ОригиналОтветить0
MemeEchoer
· 07-07 20:26
btc наконец-то можно торговать контрактами Быка ва
BTC экосистема достигла значительного прорыва: Fractal представил смарт-контракты Протокол CAT20
BTC также будет обладать функцией смарт-контрактов
В последнее время проект под названием Fractal BTC в экосистеме Биткойна после многократного тестирования сети официально запустил основную сеть в сентябре. Одним из основных преимуществ Fractal является наличие смарт-контрактов, и в момент запуска основной сети был представлен новый токен-протокол CAT20. Какие технические особенности у CAT20? Чему мы можем из этого научиться?
Введение в Fractal Bitcoin
Прежде чем понять CAT20, нам нужно сначала немного разобраться с Fractal Bitcoin. Их связь похожа на связь между ERC20 и ETH, протокол CAT20 разворачивается на Fractal Bitcoin.
Фрактальный Биткойн, также известный как фрактальный биткойн, является полностью совместимой с BTC "второй уровень" сетью. В отличие от BTC, время подтверждения блоков у него быстрее, всего 1 минута. Его основная идея заключается в том, что сеть BTC была скопирована несколько раз, каждая цепь может обрабатывать транзакции, а количество узлов, способных обрабатывать транзакции, увеличивается, что естественно повышает скорость. Однако конкретные детали, такие как способы связи между различными цепями, на данный момент еще не ясны, и официальные документы с соответствующей технической информацией также не были предоставлены.
Если бы это была только более быстрая транзакция второго уровня, это, похоже, не было бы достаточно увлекательно. Однако Fractal активировал код операции OP_CAT, который был отключен из-за соображений безопасности задолго до этого, что подняло возможности Fractal Bitcoin на новый уровень. Некоторые считают, что OP_CAT может предоставить BTC возможности смарт-контрактов, что дает людям больше пространства для воображения.
В настоящее время кто-то реализовал протокол, похожий на ERC20, на Fractal Bitcoin.
Протокол CAT
С поддержкой базового OP_CAT вскоре появился соответствующий протокол CAT Protocol. В настоящее время одним из протоколов, который уже работает на практике, является протокол CAT20.
По сравнению со зрелым протоколом ERC20, развертывание токена стало намного более удобным, так как же CAT20 реализует жизненный цикл, аналогичный ERC20?
Развернуть
Перед развертыванием пользователю необходимо указать свой адрес кошелька и основную информацию о токенах, эта информация аналогична ERC20. Некоторые отличия CAT20 заключаются в том, что можно установить преддобычу и ограничение на количество при каждом Mint. Конечно, ERC20 также может реализовать эти функции через возможности контракта.
На этапе развертывания будет инициировано две транзакции, которые можно рассматривать как два этапа: "commit" и "reveal". На этапе "commit" в выходном скрипте транзакции будет записана основная информация о токене, такая как название токена, символ и т.д. HashId транзакции, инициированной на этапе "commit", будет использоваться в качестве идентификатора этого токена для его отличия от других токенов.
На этапе "reveal" транзакция сначала выводит OP_RETURN, в котором хранится хэш начального состояния CAT20. Затем выводится Minter, который играет важную роль в последующем процессе Mint, поддерживая изменения состояния процесса Mint.
Весь процесс развертывания, "commit" и "reveal" следуют двум обычным шагам на блокчейне: подаче и раскрытию, что является довольно распространенным способом развертывания проектов.
Минт
При создании токена торговля имеет следующие характеристики:
minter как выход для mint-транзакции может быть одним, несколькими или даже нулем. Если каждый раз устанавливать 1 minter, то общее количество доступных minter в сети останется неизменным (1 ), что приведет к переполнению Mint. Чтобы избежать этой ситуации, необходимо устанавливать количество выходных minter больше 1, таким образом после mint количество доступных minter будет увеличиваться.
Однако каждое дополнительное значение minter означает необходимость выплатить еще одну UTXO. Из экономических соображений больше людей будут склонны устанавливать minter на 0, что неизбежно приведет к дефляции minter, и потребуется, чтобы некоторые люди сделали пожертвование, добровольно оплатив лишний minter.
В версии V2 по умолчанию создаются два Minter, и состояние обоих Minter будет максимально близким.
Построение сделки
Почему можно использовать UTXO от minter для построения транзакций? Это требует анализа исходного кода "смарт-контрактов".
В процессе раскрытия транзакция использовала выходные данные предыдущей транзакции commit в качестве входных данных. Это было реализовано путем умелого переписывания логики скрипта, где пара публичного и приватного ключей, записанная в скрипте, принадлежит нашему собственному адресу, что позволяет контролировать два разных адреса utxo.
Для minter utxo все могут использовать эти utxo в качестве входных данных, что может быть функциональностью смарт-контрактов, предоставляемой OP_CAT, каждый minter является смарт-контрактом.
Статус транзакции (V2)
В минтере сохраняется состояние, которое хранится в двух местах: первое - в OP_RETURN выходов транзакций, второе - в смарт-контрактах.
Хэш состояния текущего выхода транзакции хранится в OP_RETURN, а количество оставшихся Mint для токена сохраняется в контракте. После каждого Mint, количество mint нового Minter будет равно оставшемуся количеству mint, деленному на два.
Кроме того, что Minter является смарт-контрактом, создаваемый токен также является смарт-контрактом, то есть CAT20. У CAT20 есть два основных состояния: количество и адрес владельца токена. Стоит отметить, что в отличие от BRC20 или инскрипций, CAT20 не находится на UTXO вашего адреса.
Перевод
При передаче количество токенов на входе и выходе транзакции должно оставаться одинаковым. В одной транзакции может быть несколько различных токенов, достаточно, чтобы количество входных и выходных токенов для разных токенов оставалось одинаковым.
Сжечь
Чтобы сжечь токены, просто переведите токены на обычный адрес.
Резюме
Все операции строятся пользователем самостоятельно, что обеспечивает большую гибкость, поэтому часть смарт-контрактов требует множества проверок логики. Некоторые возникшие уязвимости также связаны с упущениями в логике проверки.
Этот дизайн имеет некоторые преимущества: