UTXO 匯出格式設計

Ljzn發表於2022-05-21

在 UTXO 模型的區塊鏈上,資產可以類比為真實世界裡錢包裡面的硬幣,每個硬幣都是獨立的,與之相應的,一個人可能同時持有很多個 UTXO,且每個 UTXO 都可以使用不同的金鑰。

這就給數字貨幣錢包提出了挑戰,不能再通過簡單地轉移一個私鑰,來轉移使用者的全部資產。我們迫切需要一種新的格式,來確切地描述一個 UTXO。

以比特幣為例,花費一個 UTXO 時我們需要以下資訊:

  1. previous_txid 產生此 UTXO 的交易
  2. previous_index 此 UTXO 的位置
  3. lock_script 此 UTXO 的鎖定指令碼
  4. unlock_script 解鎖此 UTXO 的指令碼

所以如果用json格式來表示一個 UTXO,它可以是這樣的:

{
  "txid": "...",
  "index": 0,
  "lock": "...",
  "unlock": "..."
}

有人說可以把 merkle proof 也加入到這個結構中,這樣結合 Block Header 服務,就可以驗證此 UTXO 是否(曾經)在鏈上。

但如果僅僅是用於在不同錢包之間轉移 UTXO,我認為這樣就已經足夠了。

相關文章