13-ETH-概述

聲明:本文是要點筆記,介紹和系列筆記均收錄在專題:區塊鏈技術與應用

比特幣和以太坊是兩種最主要的加密貨幣,比特幣被稱爲區塊鏈1.0,以太坊被稱爲區塊鏈2.0。

以太坊在系統設計上,針對比特幣的運行過程中,出現的一些問題進行了改進。比如說,出塊時間,比特幣的出塊時間是 10 分鐘,有人覺得這個出塊時間太長了,影響到了系統的吞吐量(through put),影響到了響應時間。

以太坊當中呢,這個出塊時間就大幅度降低到了十幾秒,而且呢,爲了適應這種新的這個出塊時間,以太坊還設計一套基於 ghost 的協議的共識機制。

以太坊做的另外一個改進呢,就是這個挖礦使用的 mining puzzle,比特幣的 mining puzzle 走是計算密集型的,比拼的是計算哈希值的算力。這樣造成的一個結果,是挖礦設備的專業化。很多年以前,你用普通的桌面級去挖礦,就已經是無利可圖了,基本上你是挖不到礦的。然後現在大家用的都是清一色的都是 ASIC 芯片的礦機。那麼很多人認爲,這跟區塊鏈當初宣揚的,去中心化的理念是不符合的。所以以太坊設計的 mining puzzle,對內存的要求是很高的,叫 memory hard mining puzzle。

這樣設計的目的,是在一定程度上限制了 ASIC 芯片的使用,我們管它叫做ASIC反抗(ASIC resistance)。將來,以太坊還有一些更加革命性的改變。例如,用權益證明(proof of stake)來替代工作量證明(proof of work)。

我們現在說的叫工作量證明(proof of work),說得通俗一點,就是挖礦。證明你爲了發佈區塊之前要做的好多的工作,所以叫工作量證明。將來要改成什麼呢?改成權益證明(proof of stick),這個時候,就不需要挖礦,而是按照類似於股份投票的方法,決定下一個區塊該怎麼產生。

這些都是以太坊在系統設計上,做的一些改變。除此之外呢,以太坊還增加了一個重要的功能,對智能合約的支持,叫 smart contract。

什麼叫智能合約呢?我們爲什麼要搞智能合約?

我們說比特幣是什麼?比特幣實現的是一種去中心化的貨幣,在比特幣成功之後,很多人在思考的一個問題是:如果貨幣可以去中心化,還有什麼是可以去中心化?(if we can decentralize currency,what else can we decentralize)。

以太坊的出現,顯著的一個特性就是增加了叫做 “去中心化合約”的支持。我們順便說一下,就咱們之前講過的比特幣,比特幣的符號是 BTC。以太坊的符號是前三個字母,ETH。以太坊中的幣,我們一般通俗的叫做以太,或者叫做以太幣。這兩個的貨幣的計量單位也不一樣,比特幣最小的單位叫做一聰(Satoshi)。我們爲了紀念中本聰這個人,所以管比特幣當中的最小單位叫一聰,這是個非常小的單位。以太坊當中,最小的單位叫 Wei,這也是出自一個人名來的,這也是個非常小的計量單位。

那麼,去中心化的合約是什麼意思呢?去中心化的貨幣是什麼意思?貨幣本來是應該由政府來發行的,然後政府通過司法手段,來維護這個貨幣體系的正常運行。比特幣的出現,用技術手段把政府的這些職能給取代了,它通過密碼學,通過共識機制,來維護這個加密貨幣體系的正常運行。去中心化的合約也是類似的意思,就是現實社會中合約的有效性,也是應該通過司法手段,通過政府來維護的。

比如,你跟人籤一個合同,這個合同如果出現糾紛,應該通過打官司,通過法院判決。那麼法院會先看一下,你這個合同是誰籤的,有沒有當事人的合法簽名。然後看這個合同當中是怎麼規定的,是誰違反了合同。看看哪一方有錯,然後對於這個違約方,按照合同中的條款,應該給予什麼樣的處罰。這就是現實生活中的合同,通過司法手段維護合同的有效性。

那麼,我們能不能也用技術手段,把這些司法手段給取代了。這個就是以太坊智能合約的一個設計目的,如果合同中的內容,是可以通過程序代碼來實現出來的,那麼我們可以把這個代碼放到區塊鏈上,根據區塊鏈的不可篡改性,來保證這個代碼的正確運行。當然,不是所有的合同的內容,都可以用編程語言來實現,也不是所有的合同條款都是可以量化的,但是有些邏輯比較簡單,比較清晰的,這個合同是可以寫成智能合約的形式。

那麼下一個問題,這種去中心化的合同有什麼好處呢?

我們現實社會中,合同體系不也運營的好好的,我們幹嘛要搞一個去中心化的合同呢?大家覺得去中心化的貨幣有什麼好處?就比如跟法幣相比,像美元、人民幣這種都屬於法律。去中心化的貨幣,有什麼好處?有什麼應用場景?

比特幣應用場景是跨國轉賬。比如說,你要從美國轉一筆錢到埃及,這個用法幣是很麻煩的。這個時間很長,要辦很多手續,交易費也是很貴的。如果你用比特幣來轉賬就會好很多,這是比特幣的一個優勢。雖然說比特幣每十分鐘纔出一個區塊,它有各種各樣方面的一些不是很完美的地方,但是你真正用比特幣跨國轉賬,還是比用法幣要快很多。

智能合約呢?也有類似的一些應用場景。比如說,如果合同的這個簽署方,是來自世界各地的,沒有一個司法統一的管轄權。那這個時候你要說用司法手段來維護合同的有效性就比較困難。就像你在網上搞一個衆籌,那你衆籌的這些參與方,全世界哪兒都有,這些人可能彼此之間根本就不認識,你打官司的話都不知道到哪兒去打。那麼這種情況下,如果我們通過事先寫好的程序代碼來保證,每個人都只能按照這個規則來執行,這是一種比較好的解決方法。其實,就算這個合同的參與方,都是在同一個司法管轄權之下的,你真正想通過司法手段來維護合同的執行,也是一個比較費時費力的過程。你打官司要花好多時間和精力,就算你官司打贏了,一定能拿到錢嗎?你還得申請凍結對方資產,申請強制執行之類的。

所以,最好是用技術手段,保證合同的參與方從一開始就不可能違約,這是最好的,而智能合約的一個好處就在於,就是誰也改不了這個代碼,它自己也改不了。這樣就能保證大家只能按照這個代碼中制定的規則來執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章