區塊鏈技術:智慧合約

買賣虛擬貨幣
比特幣的起源區塊鏈的歷史起始於比特幣,它是世界上第一個加密貨幣。它的創造者是一個被稱為“中本聰”的神秘人。此人提出了一個願景,就是創造一種完全去中心化的數字貨幣,也就是說,再也沒有一個單一實體可以控制這種貨幣並且控制貨幣的轉移、創造和儲存。這種數字貨幣將完全屬於使用它的人。
為此,中本聰制定了一個對等計算機網路協議。當比特幣網路上的某一使用者A想要將比特幣轉移給另一個使用者B時,A必須把要與B進行新交易的意圖在同一時刻通知網路上的其他使用者。根據網路規則,所有網路內的計算機都必須儲存所有比特幣完整的交易歷史。這就好比是每臺電腦都有一個賬本,記錄著在網路上所有人比特幣的交易情況。這種去中心化的過程使比特幣不僅擺脫了由單一方控制的集中資料庫,還能有效維持交易歷史。
為了準確地跟蹤加密貨幣的流動狀態,這些比特幣賬本必須儲存相同的資訊。然而,網路是不可靠的。在使用者可以隨意進出網路的情況下,使每個人的賬本都保持完全同步還存在一些困難。這就需要引入區塊鏈來幫助解決上述問題。解決方案:區塊鏈使用者將交易寫入賬本時,不是一次寫一個,而是成批地寫。這種批次寫入的交易就被稱為“塊”。一些被稱為“礦工”的使用者負責建立這些塊。礦工們透過網路來監測使用者們是否進行了比特幣交易。一旦一個交易被抓取到並記錄下來,那麼發現此次交易的礦工就可以釋出塊,這個塊包含了所有新交易。新發布的塊中其實不僅包含新交易,也囊括了此前所有的交易。在礦工將一個塊釋出到網路前,首先要確保每個使用者的交易真實有效。判斷標準是一組預定義的規則(這個規則指的是,比如不可以花費自己賬戶上沒有的錢,以及錢不是憑空捏造的等等)。一旦確定新塊真實有效,礦工就會把它新增到不斷增長的交易列表中。由此,這些不斷增多的交易塊被稱為區塊鏈。使用者可將交易歷史儲存在一個塊鏈的資料庫中。
區塊鏈還有各種各樣的奇妙之處,它允許透過網路安全傳送加密貨幣。如果你想了解更多關於如何開展挖掘工作、去中心化系統如何抵禦攻擊、比特幣如何使用密碼提供訪問資金通道,或者想深入瞭解決策等內容,請閱讀CertiK介紹比特幣的系列文章。在區塊鏈上進行交易的流程:· 區塊鏈是一個資料庫,它以相同的副本存在於世界各地的計算機中。· 當使用者想在區塊鏈上進行或處理交易,就必須將此交易內容傳送出去,等待礦工將其釋出到新塊中。要使一個塊真實有效,就必須得到網路上所有使用者的認可。· 一旦釋出了新塊,使用者的新交易就會被新增到區塊鏈中。
· 交易不能被刪除或者撤銷,它們將永遠被記錄在區塊鏈歷史中。區塊鏈是我們記錄交易的方式,也是比特幣等去中心化加密貨幣的支柱。要讓每個人都將所有交易記錄下來,就必須要達成一個共識,而這個共識必須是不易被破解或改變的。閱讀到這裡時,相信你已經瞭解了區塊鏈的基礎知識。以太坊和智慧合約如果區塊鏈系統不僅僅用於交易和付款呢?如果我們做到一組資訊和規則達成一致後,再更改這些資訊,結果會是如何?在比特幣中,被追蹤的資訊集是網路上每個使用者的比特幣資金。資訊集的規則非常簡單:沒有人可以花別人的錢,沒有人可以花自己沒有的錢,區塊鏈本身的框架也編碼了一些其他的規則和限制。
然而,區塊鏈不應該被限制在簡單的資金轉移領域。理論上講,我們儲存的資訊可以是我們想要儲存的任何東西,我們也應該憑藉自己的想法去修改它的規則。這是一個改變數字世界的發現。設想一個標準計算機程式:它始於接受使用者輸入的某個儲存狀態,然後根據使用者輸入,透過一組預定的指令來執行及修改該狀態。那麼任何像這樣的程式都可以被“區塊鏈化”。使用者所輸入的狀態可以在區塊鏈上表示出來,而任何交易都可以作為這個計算機程式的輸入。代表這些計算機程式的指令可以與區塊鏈網路上的每個礦工和使用者進行互動,他們就可以根據最新的交易表來更新狀態。在比特幣的領域中,我們更新的狀態是賬戶餘額集。雖然比特幣交易是使用者自己輸入的,但賬戶餘額其實是透過減去支出者的餘額,再將交易金額加到接收者賬戶上計算出來的。區塊鏈本身只是一個交易列表,或者也可以說是交易狀態本身。例如雖然所有的帳戶餘額並沒有寫到這個列表中,但是任何使用者都可以使用已知的網路規則計算出當前的交易狀態。
舉個例子,以太坊是由比特幣愛好者Vitalik Buterin發明的。他曾主張在比特幣中使用“智慧合約”,但是比特幣社羣拒絕了他的提議。於是他決定自己建立可以替代區塊鏈的系統,而這個系統可以使用智慧合約。要理解為什麼Vitalik要製造以太坊,我們首先要明白什麼是智慧合約,以及懂得智慧合約的重要性。其實,智慧合約只是一個程式,它允許我們以預定方式對貨幣流進行程式設計,但對區塊鏈世界來說,智慧合約的意義不止於此。想象一下,在小區、小太和小幣這三個人之間有一份真正的法律合同。這份合同是這樣寫的:“如果小太在8月13日前付給小區1000美元,那麼小區將付給小幣2000美元。否則小區不會付錢給小幣。”從某種意義上說,這是一種根據一定條件,由法律強制執行的轉移資金的“程式”。智慧合約的原理也是一樣的,但它是由機器強制執行的。這臺機器必須牢不可破,並且在沒有中央權威的情況下自動執行。智慧合約可行的基礎是區塊鏈這項技術支援使用者使用傾向的加密貨幣狀態轉移程式。以太坊允許使用者在區塊鏈上釋出他們的智慧合約,並根據這些合約指示未來貨幣的流向。釋出智慧合約時,必須編寫以太坊交易,而這個交易內必須含有合約程式碼。一旦交易成功,此合約將永遠成為區塊鏈狀態的一部分。
在以太坊上,使用者和上傳的智慧合約都有他們所引用的“地址”。任何人都可以將加密貨幣傳送到他們所希望傳送的地址,從而實現自由的去中心化交換。使用者可以決定要將貨幣傳送到哪裡。如果是智慧合約傳送了加密貨幣,那麼加密貨幣流將由智慧合約的程式碼確定。這段程式碼將決定這些加密貨幣最終是會支付給另一個使用者,還是永遠留在智慧合約中。在以太坊中,交易不止是簡單的轉賬。這些“交易”包括髮布新的智慧合約或者與現有的智慧合約進行互動。智慧合約的某些函式是公開的,允許終端使用者與之互動。當其他使用者在區塊鏈上釋出交易,並想要呼叫某些函式時,需要說明想要呼叫的函式名稱及其引數。當帶有函式呼叫的交易被挖掘和釋出時,以太坊網路上的每臺計算便以可預測的方式在應用程式中執行並執行該函式。這意味著可以根據程式碼所描述的狀態變數來任意轉移或修改貨幣。順便說一下,這些應用程式雖然被稱為“合約”,但並不意味著它們與現實世界的合約功能等同。在區塊鏈的世界裡一切皆有可能,你可以編寫任何想要的程式,在以太坊上釋出包括遊戲、拍賣、分散交換、代幣銷售等等各類應用程式。智慧合約只是區塊鏈管家,它可以轉移程式碼,併為了實現自動化、去中心化世界中的任何可能,不斷升級。

免責聲明:

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

推荐阅读

;