以太坊-理解區塊鏈

目錄:https://blog.csdn.net/qq_40452317/article/details/90607087

一直都說在聽說區塊鏈,都說是什麼劃時代的技術,一種顛覆性的技術,繼人工智能後的一種革命性的技術。各種光鮮詞彙全用在區塊鏈上,就一直沒明白它到底高深在何處?

今天的互聯網世界可以說是信息互聯網,以前一直說地球村,互聯網將地球變小了,你在地球的這邊可以隨時和地球的另一邊進行交流,如果說信息互聯網讓人類進入信息時代,那麼,區塊鏈就可說是讓人類進入價值時代,區塊鏈讓價值(比如電子貨幣、電子資產、 設備訪問權限等)脫離第三方直接進行點對點的轉移。

有人將其稱作價值互聯網。與信息的複製和粘貼不同,價值的轉移涉及所有權的變更,如我把我的資產轉給你,意味着這份資產需要從我的賬戶裏面扣除,而在你的賬戶裏面添加。 因此,在價值轉移過程中,我們需要一份賬本來記錄資產的變更。該賬本需要安全、穩定可靠,以及具有一定的覆蓋面和可用性(如全球資產需要全球覆蓋,在任何地方都可以查詢到當前的資產狀態)。 這個就是區塊鏈。

區塊鏈改變世界的方式(價值):

1、價值的存儲。比特幣創造了除美元、黃金等全球範圍內認可的併產生共識的價值的貨幣。這意味着個人所擁有的價值被世界範圍內認可這一共識的人所認可,也就是說,你可以把你的某些財產安全的存儲在網絡上,你可以證明這些財產是你的,同時這些財產的價值受到世界範圍的認可,這就是價值的存儲。

2、價值的自由流動。你在世界範圍內的任意地方,都能夠找到願意購買或者兌換它的人,你也可以隨時把它發往世界的任何一個地方,不受任何的時間,地點,人物和國家的限制,這就是價值的自由流動。

3、資產的智能化。我們可以把某些資產跟某種獨一無二的數字貨幣(或通證)綁在一起,比如生產車的時候,我們製作出一個用來啓動車的獨一無二的電子鑰匙,並在車上安裝一個用來驗證鑰匙的裝置,啓動汽車的過程中必須提供這一電子鑰匙才能啓動,轉讓汽車的時候,也只需要將這把鑰匙自由地發給下一位車即可,這就實現了使用權和所有權的自由流動,一切都可以在線上完成,不受時間地點人物的限制。

如果AI是未來的生產力,那麼區塊鏈則是未來的生產關係,這句話還是有一定的道理的。區塊鏈改變世界的方式遠不止這些,這個僅僅從價值來說,還有信任,區塊鏈將信任這種“虛擬”的東西實例化。不管是從技術上還是從心理上,讓人能夠感覺到它的存在。

以下摘自《以太坊技術詳解與實戰》

區塊鏈通常被定義爲去中心的分佈式記賬系統,該系統中的節點無需互相信任,通過統一的共識機制共同維護一份賬本。 比特幣可以說是第一個區塊鏈應用。 在金融危機爆發的 2008 年, 一位名叫中本聰( Satoshi Nakamoto)的神祕人物在 《 比特幣: 一個點對點電子 現金系統》。中首次提出了“比特幣”這一概念。 比特幣的底層記賬系統就是現在我們說的 區塊鏈技術,而中本聰身份之謎也爲比特幣和區塊鏈技術帶來了更加神祕的色彩。

在前幾年,大家會關注比特幣而不會單獨談論區塊鏈這個技術。 直到 2015 年,區塊鏈這一概念才被單獨提出來爲更多人所瞭解,且向着更廣泛的應用場景發展。 發生在這個時間點的主要原因之一是以太坊的出現和日益成熟。

區塊鏈是一種分佈式、去中心化的計算與存儲架構。 在詳細瞭解區塊鏈每個技術組成 部分之前,先來理解爲什麼需要這種架構。

區塊鏈要解決的是如何用一種可信的方式記錄數據,使得用戶可以信任區塊鏈系統記 錄的數據,而無須假設記賬節點的可信性。 怎麼實現呢?“無須信任”技術上的解決辦法就 是假設互相不信任。因此,每個節點都存有一份完整的數據記錄,每條新的交易都要被重 新驗證。當一個節點重新加入網絡並需要同步數據的時候,也是從其他節點同步交易歷史, 然後重新計算驗證一一這就決定了其第一個特點,即分佈式存儲(不能完全信任他人的存 儲)。 也正是爲了高效可靠的驗證需要,纔有了區塊鏈現在的數據結構:區塊鏈由成塊的交易通過密碼學算法連接在一起,使得整個賬本公開透明、可追蹤、不可篡改(數據被篡改時 很容易被驗證發現) 。 

這麼多記賬節點爲什麼願意按照一致性協議記賬呢? 依靠的就是巧 妙的記賬激勵機制一一誠實的記賬節點會得到相應的獎賞,且誠實的記錄比惡意篡改記錄 的收益更大-一一這就是一致性協議設計中的要點。 下面就對區塊鏈的數據結構、分佈式存 儲和一致性協議進行詳細介紹。

首先從數據結構來理解區塊鏈,圖 1-2 展示了比特幣區塊鏈的數據結構。 系統中的交 易( Transaction)被打包成一個個區塊( Block) 。 在區塊鏈系統運行過程中,區塊鏈每次只能添加一個區塊,並且每個區塊均包含了用於驗證其有效鏈接於上一個區塊之後的數學憑 證。 正如它的名稱“區塊鏈”( Blockchain),一個個區塊按照密碼學算法鏈接在一起。 這樣的組織設計可以很容易地驗證數據是否篡改、追蹤歷史以及保證安全。

其次,區塊鏈的架構是分佈式、去中心化的。 系統中各個節點組成一個P2P網絡,每 個節點均分別執行、驗證和記錄相同的交易,每個節點都可以在本地存儲完整的區塊鏈數據。 沒有一箇中心機構能夠干預交易的執行順序和結果。 因此,該架構具有很強的魯棒性。 這裏要說明一點, 我們看到的公有鏈的平臺是去中心的,因爲其設計假設以沒有任何信任作爲前提,即都不可信。 在實際的應用中,如果有一些可信的元素,是完全可以利用的。 因此我們也看到很多系統設計是多中心或者弱中心的模式。 “去中心”在這裏不是目的,而 是一種達到可信的手段。

最後,爲了保證各節點狀態的一致性,還需要共識機制,即一致性協議(如 PoW、 PoS、 PoA 等)。

以PoW爲例,爲了使得各個節點記錄的結果是一致的,在每一時刻系統 要選擇一個記賬節點來計算下一個區塊。 其他節點對該記賬節點的區塊結果進行驗證,通過後則接受這個區塊。 爲了激勵大家高效正確地記賬,系統對記賬節點有相應的獎賞,這樣一來大家會貢獻計算和存儲資源來爭奪記賬權。

由於可以互相驗證,也保證了記賬的可靠性。 接下來,我們要解決的問題就是:如何公平地選取這個記賬節點,以及如何設計激 勵機制。 PoW中採用的是“猜散列值”這個公平的、依靠消耗算力的方式,也被稱作“挖 礦” 。 誰先算出給定要求的散列值,誰就以大概率爭奪到這個記賬權。 爲什麼說是概率呢, 因爲在分佈式網絡中,由於延遲,消息傳遞到其他各個節點的時間是不一樣的。 比如,我看到的是Bob先算出來的,而你可能看到的是 Alice 先“挖”出來。

在不同節點上對下一 區塊的認可在短時間內可能是不同的。 最終,以系統中最長的鏈條作爲共識結果,即大 家認可的賬本內容。 因此在使用中,當我們在本地看到某個交易被打包在區塊鏈後,還需 要等待若干後繼塊產生,等待若干塊又稱爲等待確認( confirmation)。 這樣做的目的是防 止由於延遲帶來的賬本不一致。

可見一致性協議的設計既要安全,以保證全網中各個節點存儲的數據能夠達成共識;還需要有效的激勵機制,給予一定 的經濟獎勵( 即虛擬貨幣機制)來維持並且驗證網絡運行的節點,從而保證架構的穩定健康 運行。

下圖展示了比特幣一類的數字貨幣的交易示例。 Bob要給Alice進行轉賬,他需要創建一條交易,聲明轉賬的付款人、收款人以及轉賬金額。 之後Bob在這條交易上添加自己的數字簽名,並將交易發佈到區塊鏈網絡上。 這條交易被記賬節點驗證後打包廣播,並通 過共識(一致性)協議達成全網一致。 Alice 在確認看到交易被記錄,且該交易後面還有若干區塊陸續被記錄後(通常 6 ~ 12 個塊)就可以認爲自己已經收到了Bob的轉賬。 

 

 

 

 

發佈了266 篇原創文章 · 獲贊 89 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章