「區塊鏈研究實驗室」李嘉圖合約(Ricardian contracts)

「區塊鏈研究實驗室」李嘉圖合約(Ricardian contracts)

什麼是李嘉圖合約(RicardianContract)?

一般來說,資產是代表權利的任何對象,可以在特定條件下兌換給發行人。

  • 公司的份額賦予股息的權利。
  • 債券在到期時給予本金權利,優惠券在每個時期都有利息。
  • 投票令牌給予有關實體決策的權利(公司,選舉)。
  • 有些組合可能是:A股也可以成為公司總裁選舉的投票標誌。

這些權利通常在合同內列舉,並由發行人簽署(如果需要的話,也可以是公證人)。

李嘉圖合約(Ricardian contracts)是由發行人加密簽署的合同且不能與資產分離。所以合同不能被拒絕,篡改,並且可以由發行人證明。

發行人和贖回人之間可以保持這種合同的機密性或者發佈,Open Asset已經可以在不改變核心協議的情況下支持所有這些。

開放資產內的李嘉圖契約(Ricardian contracts)

這裡是一個有價證券合約的正式定義:

  • 發行人向持有人提供的合同,
  • 對於持有人持有的有價值的權利,由發行人管理,
  • 容易被人閱讀(如紙上合同),
  • 程序可讀(像數據庫一樣可分析),
  • 數字簽名,
  • 攜帶密鑰和服務器信息
  • 與一個獨特和安全的標識符結盟

AssetInd由OpenAsset這種方式指定:

AssetId = Hash160(ScriptPubKey)

讓我們將這樣的ScriptPubKey作為P2SH:

ScriptPubKey = OP_HASH160 Hash(RedeemScript) OP_EQUA

這裡是:

RedeemScript = HASH160(RicardianContract) OP_DROP IssuerScript

IssuerScript對於簡單的發行者來說是指經典的P2PKH,如果發行需要多個同意書,則使用多信號 (例如髮卡人+公證人)。

應當指出的是,從Bitcoin 0.10,IssuerScript是任意的,可以是任何東西。

RicardianContract可以是任意的並且保持隱私, 由於ScriptPubKey中的散列,擁有合同的人可以證明它適用於此資產。

但是,讓我們通過資產定義協議,使錢包客戶端可以發現和驗證此類RicardianContract

假設我們正在為候選人A,B或C發出投票標記。

讓我們在開放資產標記中添加以下資產定義url:u = http://issuer.com/contract

在http://issuer.com/contract頁面中,我們創建以下資產定義文件:

{

"IssuerScript" : IssuerScript,

"name" : "MyAsset",

"contract_url" : "http://issuer.com/readableContract",

"contract_hash" : "DKDKocezifefiouOIUOIUOIufoiez980980",

"Type" : "Vote",

"Candidates" : ["A","B","C"],

"Validity" : "10 jan 2015"

}

現在我們可以定義RicardianContract:

RicardianContract = AssetDefinitionFile

這終止了我們在OA中實施的RicardianContract。

檢查清單

  • 發行人向持有人提供的合約

合同由發行人託管,不可更改,並在發行人每次發行新資產時簽署

  • 由持有人持有的有價值的權利並由發行人管理

本樣本的權利是候選人A,B,C在2018年6月10日前贖回的投票權。

  • 可讀性(如紙上合同)

可讀性的契約位於contract_url中,但使用JSON可能就足夠了。

  • 程序可讀行(可以像數據庫一樣解析)

投票的詳細信息位於AssetDefinitionFile內部,採用JSON格式,合同的真實性由IssuerScript的軟件和ScriptPubKey中的哈希驗證。

  • 數字簽名

當發行人發行資產時,ScriptPubKey被簽名,因此也是合約的散列,以及合約的本身。

  • 在合約中攜帶密鑰和service. informationIssuerScript
  • 一個獨特和安全的標識符的聯盟

AssetId由Hash(ScriptPubKey)定義,不能更改且唯一。

李嘉圖合約(Ricardian contracts)有什麼作用的?

沒有李嘉圖合約(RicardianContract),惡意發行人很容易修改或否認資產定義文件。

李嘉圖合同(RicardianContract)強制執行不可否認性,使合同不可更改,因此它促進了救贖者和發行人之間的仲裁事宜。

此外,由於資產定義文件無法更改,因此可以將其保存在兌換商自己的存儲中,防止惡意發行人破壞合同訪問權限。


分享到:


相關文章: