區塊鏈數字資產交易系統一直都是區塊鏈領域的一個熱門話題,也被看作是區塊鏈的一個重要應用。
自貨幣誕生以來,“一手交錢,一手交貨”就成為了人們公認的對買賣雙方最公平、最安全的交易方式。在沒有相互信任的前提下,錢貨兩訖確實是比較安全的交易方式。在傳統的商務交易中,能夠實現錢貨兩訖的前提是當面交易。不當面交易,就沒有辦法實現,糾其根本在於物品轉移和資金轉移是完全分離、獨立的。只有當面交易,把買賣雙方放在同一個時間和空間裡,才能夠確保資金轉移和物品轉移同步完成。
在網際網路時代,電子商務逐漸成為一種主流的交易方式。電子商務有效的降低了成本,買賣雙方能夠在不見面的情況下,就完成交易。然而,由於物流和資金流分離的特性,安全的交易需要引入第三方才能進行。例如著名的C2C電子商務平臺某寶,就採用了平臺作為交易的第三方,來保障交易的安全。買家確定購物後,先將貨款匯到平臺,平臺確認收款後通知賣家發貨,買家收貨並確認滿意後,平臺再打款給賣家完成交易。當交易產生糾紛時,平臺作為第三方透過直接介入的方式來解決糾紛。
對於實體商品的交易,由於物流確實沒有辦法和資金流合併,因此,為確保交易雙方的安全,目前看還沒有更好的解決方案。但是對於虛擬資產,尤其是數字資產,是否有辦法解決呢?
數字資產本質上就是一段數字化的資訊,而在網際網路時代,資金也是銀行中的一串資訊。資訊流和資金流是否可以合二為一,從而實現“一手交錢一手交貨”的安全數字資產交易呢?
設想一下,如果資金和數字資產的權屬登記在一個平臺上,那麼我們就可以在一筆交易中實現權屬變更和資金流轉。在區塊鏈技術中,UTXO這種記賬模式提供了天然的錢貨兩訖的交易模式。回顧我們之前的文章,UTXO採用了只記錄交易本身,而不是記錄交易結果的方式來進行記賬。在這種模式中,我們可以輕易的把資產權屬的轉移和資金轉移放在一個記錄中。
我們仍以Alice和Bob的交易為例。假設Alice要從Bob手中購買一個數字資產——假設是一個網際網路域名X。如果有這樣一個區塊鏈平臺,Bob在這個平臺上登記了域名X是屬於Bob的。Alice首先和Bob協商整個交易,最後協商好這個域名X的價格是1000美元之後,Alice和Bob共同提交一個交易到這個區塊鏈平臺上,交易內容是:Alice轉賬給Bob 1000美元,X域名的歸屬權由Bob轉移到Alice。雙方共同對這個交易用自己的私鑰簽名。
區塊鏈的節點接收到這個交易資訊後,檢查交易:Alice的錢是來自上一個交易A的,Alice利用上一個交易A中使用的私鑰KA1解鎖了交易A,取出了1000美元支付給了Bob;而網際網路域名X的權屬登記是用Bob的私鑰KB1簽名了的,Bob使用KB1解鎖了權屬登記交易,把X的權屬轉移給了Alice。這個完整的交易又被KA2和KB2兩個私鑰分別簽名。整個交易體和簽名信息共同作為一個完整的交易儲存在區塊鏈上,同時,附帶的指令碼描述了未來使用KB2解鎖這個交易可以取出1000美元來使用,使用KA2解鎖這個交易可以取出網際網路域名X來使用(更改X域名指向的IP地址)。檢查沒問題後,打包到區塊裡。當區塊被確認後,錢的轉移和數字資產的轉移同時完成了,不會發生只單獨轉移其中一個的問題。
用圖來表示,整個交易是這樣子的:
可以看到,UTXO真的能夠實現錢貨兩訖。在一個原子交易裡面,UTXO可以同時包含錢的轉移和數字資產的轉移。我們必須注意到:在一個原子交易中實現“一手交錢一手交貨”的數字資產交易的前提是:該平臺是數字資產權屬登記平臺,同時也是資金記賬平臺。
比特幣系統只是一個記賬平臺,因此在比特幣區塊鏈系統中,只有比特幣,沒有其他的東西。而一般的數字資產平臺,僅僅只能實現數字資產的確權登記和轉移記錄,而資金轉移則需要在銀行系統中完成。比特幣平臺是銀行系統的一個區塊鏈化實現的方式。
因此,如果想要在區塊鏈系統中實現不引入第三方的“一手交錢、一手交貨”,引入代幣確實是一個比較好的解決方案。當然,引入代幣,這種方式仍然存在很大的風險,主要兩點代幣價格波動風險和數字資產的法定權屬與區塊鏈不一致的風險。第一點風險很好理解,就是代幣價格會波動;第二點風險的理解,我們仍以域名舉例:比如域名註冊局不承認區塊鏈上的域名權屬登記資訊,也就是說提交用KA2私鑰簽名過的域名指向變更資訊並不能得到域名伺服器的認可,那麼在區塊鏈上轉移域名的權屬登記就沒有起到實際的轉移作用。
我們期待著數字貨幣的發行,如果未來數字貨幣能夠實現從央行的系統中轉移到數字資產交易的區塊鏈系統上,然後按照UTXO方式進行流轉,那麼價格波動風險問題就會迎刃而解。而具體的數字資產登記機構,也可以推出區塊鏈登記模式,從而實現真正的數字資產區塊鏈交易。
UTXO可以看作是智慧合約的一個簡化版。如果引入智慧合約,就能夠實現更加複雜的功能。下一章我們來初步接觸一下智慧合約。
區塊鏈數字資產交易系統一直都是區塊鏈領域的一個熱門話題,也被看作是區塊鏈的一個重要應用。
自貨幣誕生以來,“一手交錢,一手交貨”就成為了人們公認的對買賣雙方最公平、最安全的交易方式。在沒有相互信任的前提下,錢貨兩訖確實是比較安全的交易方式。在傳統的商務交易中,能夠實現錢貨兩訖的前提是當面交易。不當面交易,就沒有辦法實現,糾其根本在於物品轉移和資金轉移是完全分離、獨立的。只有當面交易,把買賣雙方放在同一個時間和空間裡,才能夠確保資金轉移和物品轉移同步完成。
在網際網路時代,電子商務逐漸成為一種主流的交易方式。電子商務有效的降低了成本,買賣雙方能夠在不見面的情況下,就完成交易。然而,由於物流和資金流分離的特性,安全的交易需要引入第三方才能進行。例如著名的C2C電子商務平臺某寶,就採用了平臺作為交易的第三方,來保障交易的安全。買家確定購物後,先將貨款匯到平臺,平臺確認收款後通知賣家發貨,買家收貨並確認滿意後,平臺再打款給賣家完成交易。當交易產生糾紛時,平臺作為第三方透過直接介入的方式來解決糾紛。
對於實體商品的交易,由於物流確實沒有辦法和資金流合併,因此,為確保交易雙方的安全,目前看還沒有更好的解決方案。但是對於虛擬資產,尤其是數字資產,是否有辦法解決呢?
數字資產本質上就是一段數字化的資訊,而在網際網路時代,資金也是銀行中的一串資訊。資訊流和資金流是否可以合二為一,從而實現“一手交錢一手交貨”的安全數字資產交易呢?
設想一下,如果資金和數字資產的權屬登記在一個平臺上,那麼我們就可以在一筆交易中實現權屬變更和資金流轉。在區塊鏈技術中,UTXO這種記賬模式提供了天然的錢貨兩訖的交易模式。回顧我們之前的文章,UTXO採用了只記錄交易本身,而不是記錄交易結果的方式來進行記賬。在這種模式中,我們可以輕易的把資產權屬的轉移和資金轉移放在一個記錄中。
我們仍以Alice和Bob的交易為例。假設Alice要從Bob手中購買一個數字資產——假設是一個網際網路域名X。如果有這樣一個區塊鏈平臺,Bob在這個平臺上登記了域名X是屬於Bob的。Alice首先和Bob協商整個交易,最後協商好這個域名X的價格是1000美元之後,Alice和Bob共同提交一個交易到這個區塊鏈平臺上,交易內容是:Alice轉賬給Bob 1000美元,X域名的歸屬權由Bob轉移到Alice。雙方共同對這個交易用自己的私鑰簽名。
區塊鏈的節點接收到這個交易資訊後,檢查交易:Alice的錢是來自上一個交易A的,Alice利用上一個交易A中使用的私鑰KA1解鎖了交易A,取出了1000美元支付給了Bob;而網際網路域名X的權屬登記是用Bob的私鑰KB1簽名了的,Bob使用KB1解鎖了權屬登記交易,把X的權屬轉移給了Alice。這個完整的交易又被KA2和KB2兩個私鑰分別簽名。整個交易體和簽名信息共同作為一個完整的交易儲存在區塊鏈上,同時,附帶的指令碼描述了未來使用KB2解鎖這個交易可以取出1000美元來使用,使用KA2解鎖這個交易可以取出網際網路域名X來使用(更改X域名指向的IP地址)。檢查沒問題後,打包到區塊裡。當區塊被確認後,錢的轉移和數字資產的轉移同時完成了,不會發生只單獨轉移其中一個的問題。
用圖來表示,整個交易是這樣子的:
可以看到,UTXO真的能夠實現錢貨兩訖。在一個原子交易裡面,UTXO可以同時包含錢的轉移和數字資產的轉移。我們必須注意到:在一個原子交易中實現“一手交錢一手交貨”的數字資產交易的前提是:該平臺是數字資產權屬登記平臺,同時也是資金記賬平臺。
比特幣系統只是一個記賬平臺,因此在比特幣區塊鏈系統中,只有比特幣,沒有其他的東西。而一般的數字資產平臺,僅僅只能實現數字資產的確權登記和轉移記錄,而資金轉移則需要在銀行系統中完成。比特幣平臺是銀行系統的一個區塊鏈化實現的方式。
因此,如果想要在區塊鏈系統中實現不引入第三方的“一手交錢、一手交貨”,引入代幣確實是一個比較好的解決方案。當然,引入代幣,這種方式仍然存在很大的風險,主要兩點代幣價格波動風險和數字資產的法定權屬與區塊鏈不一致的風險。第一點風險很好理解,就是代幣價格會波動;第二點風險的理解,我們仍以域名舉例:比如域名註冊局不承認區塊鏈上的域名權屬登記資訊,也就是說提交用KA2私鑰簽名過的域名指向變更資訊並不能得到域名伺服器的認可,那麼在區塊鏈上轉移域名的權屬登記就沒有起到實際的轉移作用。
我們期待著數字貨幣的發行,如果未來數字貨幣能夠實現從央行的系統中轉移到數字資產交易的區塊鏈系統上,然後按照UTXO方式進行流轉,那麼價格波動風險問題就會迎刃而解。而具體的數字資產登記機構,也可以推出區塊鏈登記模式,從而實現真正的數字資產區塊鏈交易。
UTXO可以看作是智慧合約的一個簡化版。如果引入智慧合約,就能夠實現更加複雜的功能。下一章我們來初步接觸一下智慧合約。