區塊鏈智慧合約是什麼意思?

買賣虛擬貨幣

智慧合約是什麼

從使用者角度來講,智慧合約通常被認為是一個自動擔保賬戶,例如,當特定的條件滿足時,程式就會釋放和轉移資金。

從技術角度來講,智慧合約被認為是網路伺服器,只是這些伺服器並不是使用IP地址架設在網際網路上,而是架設在區塊鏈上。從而可以在其上面執行特定的合約程式。

但是與網路伺服器不同的是,所有人都可以看到智慧合約,因為這些智慧合約的程式碼和狀態都在區塊鏈上(假設區塊鏈是公開的)。而且,與網路伺服器不同的是,智慧合約不依賴某個特定的硬體裝置,事實上,智慧合約的程式碼由所有參與挖礦的裝置來執行(這也意味著進入單個合約的算力是有限的,儘管挖礦難度的自動調整會調節這種影響)。

智慧合約是程式設計在區塊鏈上的組合語言。通常人們不會自己寫位元組碼,但是會從更高階的語言來編譯它,例如用Solidity,與Javascript類似的專用語言。這些位元組碼確實給區塊鏈的功能性提供了指引,因此程式碼可以很容易與它進行互動,例如轉移密碼學貨幣和記錄事件。

程式碼的執行是自動的:要麼成功執行,或者所有的狀態變化都撤消(包括從當前失敗的合約中已經送或接收的資訊。)這是很重要的,因為它避免了合約部分執行的情況(例如,在證券購買交易中,證券所有者已經轉移傳送了證券,但是密碼學貨幣的支付轉移卻失敗了)。在區塊鏈環境中,這尤為重要,因為沒有辦法來撤消執行錯誤所帶來的不好的後果(而且如果對手不配合的話,根本就沒有辦法逆轉交易)。

智慧合約面臨的問題

智慧合約目前還處在初級階段,尚未有任何實質進展。關鍵問題是信任度的問題,這與影響區塊鏈實施的問題類似:這些系統都設計成了無需信任的環境,這意味著無法改正出現的錯誤。例如,在區塊鏈中,如果你將貨幣傳送給某個地址,這個操作是無法撤銷的。因此,如果你與欺詐者進行交易 – 或者你已經將貨幣傳送到錯誤的地址中 – 那麼金錢損失是無法挽回的。

智慧合約能夠轉移欺詐對手的問題 – 事實上,這就是智慧合約設計的原因之一:無論何時,合約都能能夠可靠地監控合約中參與方的執行情況,參與方是無法進行欺騙的。

然而,問題並沒有解決,只不過是出現在了新的層級:例如,合約可能有漏洞,能夠轉移證券,但卻無法轉移貨幣。

在現實生活中,這些事情可以透過中心化的系統來撤消。但是如果是去中心化的系統,則只能自己承擔風險。

同樣地,也有欺詐的問題:某人需要設計(程式設計)合約,在合約設計時就會需要確保沒有欺詐的問題。至少參與者要確保:

高層級(例如Solidity)的程式碼中需要充分描述合約參與方的目的

程式碼中的位元組碼實際上相當於高層級的程式碼,需要在進入合約之前進行稽覈

合約資訊需要很好地理解,以避免出現烏龍指操作(例如,人們用錯誤的報價方式-例如USD/ERU而不是EUR/USD-這會導致嚴重損失。

在現實生活中,上述的這些問題原則上都可以在事後進行處理解決,如果需要的話,還可以透過法院,但是在無需信任的工作量證明區塊鏈中這是不可能的:問題是為什麼人們想要依賴一個工作量證明系統(背後的原理是浪費大量的能源來挖礦,這樣的話攻擊這個系統在經濟上是不划算的)而不是使用一箇中心化執行的公開賬本和依賴中心化的權力機構 – 政府、法院等 – 來執行合約。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;