當前位置:
首頁 > 最新 > 智能合約與以太坊(一)

智能合約與以太坊(一)

稿件由路可比特整理自《區塊鏈生存訓練》

智能合約

智能合約這個概念早在1993年就提出來了,可惜由於那時的互聯網和技術水平,無法落地。合約(Contract)這個詞比較好理解,可以理解為合同,利益雙方簽訂的協議。「智能」這個詞就用得太濫了,智能電視、智能手機、智能油田等等,都沒有統一的定義,好像是「先進」的代名詞。把「智能」兩個字用在「合約」上,可以簡單地理解為讓合同能夠自動執行。

舉個例子:假設李笑來與羅振宇打賭,在2017年8月份的BTC價格一定會超過3萬,如果沒過3萬,笑來給羅胖100BTC;如果超過3萬,羅胖給笑來100BTC(據說羅胖在2016年買了100 BTC給女兒當嫁妝)。注意這只是我編的一個小故事,為了加深對智能合約的理解,最近BTC行情太火,我寫這一段的時候,時間是2017年7月,1BTC價格大約為2.8萬元

這件事很簡單,用傳統的手段,雙方需要簽一份書面合同,一式兩份,簽字後各自收好。如果只是口頭協議,則需要找個第三方當見證人,因為增加了中間環節,還需要修改合同,從賭注里拿出1個BTC給公證人。到了8月31日24:00,大家聚在一起,查一下BTC的實時行情後立馬見分曉,輸家馬上轉帳,合同執行完畢。

現實世界裡,這只是一個小合同,真正的合同涉及訂立、履行、變更、終止等多個步驟,如果引入第三方,還有審查、監督等事務。假設雲幣網價格過3萬,而OKcoin不到3萬,又產生了新的分歧;假設一方拒不付錢呢?假設大家把錢都押在第三方,第三方跑路了呢?類似的細節非常非常多。

而把上面的例子放在區塊鏈世界裡,就好辦了。把上面的合約寫成一段程序代碼,放在區塊鏈里,雙方進行數字簽名,各把100BTC鎖定在區塊鏈上,合約開始生效。8月31日24:00,程序自動抓取行情數據,超過3萬,羅胖的100BTC立刻轉到笑來的比特幣地址中,反之亦然。整個過程不需要第三方,那段程序可以算做第三方。

從這個例子中,可以看出,智能合約相當於把合同編寫成了程序代碼,簽訂後由於區塊鏈的數字簽名、不可篡改性等特點,誰也不能抵賴,並且自動根據雙方的履行情況強制執行。

區塊鏈的出現讓1993年提出的智能合約概念落地,比特幣系統內部是用程序代碼來鎖定、解鎖BTC的,只不過功能太弱。而以太坊則是第一個可以運行智能合約的區塊鏈平台,你設立一堆規則(表現為一組IF...THEN...的程序代碼)就可以發行一種代幣(Token),發行ICO的門檻變得相當低。智能合約的簽訂、執行都要消耗數字貨幣(Coin),想活在未來,是不是需要持有一些籌碼?

代幣(Token)

在區塊鏈技術文檔中,尤其是曾經火熱的ICO中,大家經常看到token這個單詞,有些地方token被翻譯為「代幣」,在有些錢包軟體中被翻譯為「令牌」,給大家造成了困惑。

中本聰發明的比特幣系統中流通的數字貨幣是比特幣(代碼為BTC),而以太坊進行了更高層的抽象,實現了智能合約,可以輕鬆地發行一種的新的數字貨幣,這種數字貨幣就叫token,所以說翻譯為「代幣」應該是準確的。

ERC-20

前兩天ico.info平台上給不少人出了一道「難題」,要回答出一道問題才能繼續參與ICO,問題是:「目前通用的以太坊代幣標準是什麼?」

代幣在以太坊的區塊鏈里是一種數字資產,這些代幣可以使用以太坊里的智能合約。我們可以稱BTC是比特幣系統里的代幣,沒有以太坊的時候,你想發行一種新的代幣,其複雜程度超乎想像,這種事情幾乎是不可能的。但以太坊在2015年11月推出了ERC-20標準,使發行代幣的門檻降低了許多。

雖然ERC-20隻是規定了代幣該如何運行,並不包含代碼,但網上可以找到免費的、現成的源代碼,稍有編程經驗的人抄抄改改就可以創建出一種 ERC-20標準的代幣。現在的ICO亂局也就是這麼來的。

ERC-20定義了六種函數,包括如何傳遞一個代幣(由所有者或代表所有者)以及如何訪問代幣的數據(名稱、符號、供應、餘額),還提供了兩種信號。這個規範給軟體開發者和用戶都提供了方便,只要以太坊錢包支持ether,幾乎就可以支持ERC-20規範的各種代幣。

常用的與代幣有關的函數:

* 獲得代幣總供應量

* 獲得賬戶餘額

* 轉讓代幣

* 批准花費代幣

ERC-20標準仍處於草案階段,據稱將代幣直接發送到某個智能合約地址會導致丟失資金。這個該死的ERC是什麼意思?原來ERC是 Ethereum Request for Comments的縮寫,表示以太坊社區的成員對於一些規範或建議提出修改意見,20是建議的編號,ERC-20就是這樣來的。

權益證明(PoS)

首先注意這個PoS與您刷銀聯卡時見到的POS機是沒有關係的。這裡把PoW的主要作用簡要重複一遍,為了驗證用戶的交易數據,並防止大量節點在網路上亂髮無用信息,讓礦工們去解決一個非常非常麻煩的計算題,大概10分鐘能夠算出來,哪個礦工先完成,它就可以擁有記賬權,在公開大賬本上寫入一個新塊,並拿走新塊獎勵和這裡面的交易手續費。

PoW這種機制從2009年1月開始已經運行了8年多,經過了實踐的檢驗,唯一被指責的一點是浪費巨大的電力。環保人士們不幹了,說礦池耗費巨大的電力,就為了共同維護那100多GB的數據,因此就出現了許多替代方案。2011年Quantum Mechanic提出了PoS(Proof of Stake,權益證明)演算法,2012年首次應用於Peercoin(點點幣,幣代碼PPC,當前行情12元人民幣,說明PoS也可行)。

一句話來描述PoS的特點,就是有錢人說了算,你擁有的幣越多,責任越大,就有更多的機會寫入新塊。Stake在這裡被翻譯為權益,與股份share的意思相近,擁有某種幣的人相當於擁有了這種幣的股份,為了收益最大化,股份越多越想維護幣的安全與穩定。

當前採用PoS的主要有:Peercoin、Nxt、BlackCoin、Lisk、ShadowCash、NuShares/NuBits、Qora,、NavCoin等,以太坊也準備轉換成PoS(CASPER協議),但還沒有實施,這也是有爭議的地方。

PoW與PoS的特點對比表


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

TAG:全球大搜羅 |