在 UTXO 模型的区块链上,资产可以类比为真实世界里钱包里面的硬币,每个硬币都是独立的,与之相应的,一个人可能同时持有很多个 UTXO,且每个 UTXO 都可以使用不同的密钥。
这就给数字货币钱包提出了挑战,不能再通过简单地转移一个私钥,来转移用户的全部资产。我们迫切需要一种新的格式,来确切地描述一个 UTXO。
以比特币为例,花费一个 UTXO 时我们需要以下信息:
- previous_txid 产生此 UTXO 的交易
- previous_index 此 UTXO 的位置
- lock_script 此 UTXO 的锁定脚本
- unlock_script 解锁此 UTXO 的脚本
所以如果用json格式来表示一个 UTXO,它可以是这样的:
{
"txid": "...",
"index": 0,
"lock": "...",
"unlock": "..."
}
有人说可以把 merkle proof 也加入到这个结构中,这样结合 Block Header 服务,就可以验证此 UTXO 是否(曾经)在链上。
但如果仅仅是用于在不同钱包之间转移 UTXO,我认为这样就已经足够了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。