跳至主要内容

4. 代币(Token)

基于NOTE协议的代币(Token),命名为n20,Payload按照以下规则定义:

  • 数据使用msgpack编码的明文进行存储。
  • 一个Token包含部署(deploy)、分发(mint)、转移(transfer)等操作的数据结构。
  • 所有操作都围绕账户和余额展开。
  • 每个操作都需要经过部署时的智能合约进行链下验证,只有验证通过后才对账户余额进行操作。
  • 数据格式可以任意扩展,所有的扩展参数将传递给智能合约。

UTXO绑定

代币分为绑定UTXO和非绑定两种状态。在具体的区块链中,例如BTC链上,Token的数量被绑定在UTXO上,在转移和销毁等操作时,Token数量从交易输入转移到交易输出上的新UTXO。 如果需要跨链转移Token,则绑定的UTXO将被消耗并解绑,在新的链上重新绑定于新链的UTXO。

代币的UTXO绑定

比特币的基本交易单位是UTXO,每一个绑定的UTXO通过协议被赋予代币的种类和数量。与染色币(colored coin)不同的是,UTXO中的Satoshi数量与NOTE协议下代币的数量无关,不受Satoshi数量的限制。代币与UTXO绑定后,可以避免比特币的区块重组和RBF(Replace By Fee)带来的各种复杂问题。

代币的UTXO解绑

处于解绑状态的代币无法直接进行转账,需要在特定的区块链上进行绑定。