科普 | 以太坊概況_第1頁
科普 | 以太坊概況_第2頁
科普 | 以太坊概況_第3頁
科普 | 以太坊概況_第4頁
科普 | 以太坊概況_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、科普I以太坊概況你可能已經聽過“區塊鏈”和“智能合約”這兩個術語, 但它們實際是什么意思?我們將揭開其神秘面紗,向你解釋 實用的區塊鏈解決方案,然后給你一些如何創建它們的指 導。這是一個高層次概述,包括:區塊鏈基礎為什么使用區塊鏈?什么是區塊鏈?區塊鏈如何工作?以太坊區塊鏈什么是以太坊?什么是智能合約?以太坊網絡分布式應用(Dapps)為什么使用區塊鏈?當有很多個位于世界各地的參與方,它們之間在無法互相信 任、但需要共享數據和傳輸價值情況下,就需要使用區塊鏈 了。金融界將這種信任描述為交易對手風險,即其他參與方 最后不履約的風險。區塊鏈通過一種創新的數學系統、密碼 學和點對點網絡,完全解決了交

2、易對手風險。在我們詳細了 解它們的工作原理之前,我們需要回顧一些歷史,以及區塊鏈產生的必要性。第一個數據庫在20世紀60年代,第一臺計算機式數據庫出現。這些硬件 占據了很多房間,而互聯網還有幾十年才出現,數據通常存 儲于中心的實體位置。這是一種中心化方式,意味著數據的 位置和訪問都由中央機構控制。中心化系統可由惡意角色從 內部或外部控制,所以我們相信這些系統擁有者有足夠意愿 和資源來保護數據的安全性和完整性。中心化數據庫在今天 依然是最常見的,支持著大多數在線和離線應用。自我托管博客就是中心化數據庫的一種常見形式。所有者為 了讓文章更好,可以進行事后編輯,或者無需追索就可以審 查用戶。即使擁有

3、一名正直的所有者,黑客也會滲透到服務 器并實施惡意行為。如果沒有數據庫備份,那就幾乎無法確 認哪些數據被修改或損壞。如下圖所示,每個服務器邊上的箭頭都是需要信任的連接。共享數據需求共享大量數據是非常昂貴和麻煩的。我們可以通過在需要共 享的各參與方分配數據來緩解這種負擔。讀/寫由這個群體 中的一方或多方控制,因此受制于類似中心化數據庫的變化 方式。現代共享數據庫使用技術來減少這種損壞,其中部分技術與 區塊鏈重疊。根據不同的共享數據庫系統,它可以有以下特 點.八、永久性:創建一個新拷貝并將舊數據保留為歷史記錄,而不 是直接覆蓋舊數據。該記錄可以被訪問,用于證明某一時刻 存在的數據。共識性:對于要共

4、享的數據庫,所有參與方必 須就其內容達成一致(達成共識)。有很多種達成共識的方 法,其中一種(工作量證明),我們將在下一節區塊鏈中討 論。區塊鏈具有以上特點并將其運用到更深層次,完全解決 了信任問題。什么是區塊鏈?區塊鏈是核心是一個共享數據庫,該數據庫稱作分類賬本。 就像一個銀行,簡單的區塊鏈分類賬本會跟蹤貨幣(這里指 加密貨幣)所有權。與中心化銀行不同,每個人都有該賬本 的拷貝,而且可以驗證彼此的賬戶。這就是區塊鏈的分布式(或去中心化)特點。每個包含賬本拷貝的連接設備被稱作 節點。區塊鏈網絡中賬戶之間的交互被稱作交易(Transactions), 它們可以是貨幣交易,例如發給某個人以太坊中的

5、加密貨幣 以太幣;它們還可以是數據傳輸,例如評論或用戶名。區塊 鏈上的每個賬戶都有唯一的簽名,讓每個人都知道是哪個賬 戶激活該交易。比起之前的數據庫,區塊鏈除了解決信任問題,還有以下主 要優點:完全去中心化:讀/寫數據庫是分散和安全的,單獨某個人 或某個組無法控制區塊鏈。極致容錯:容錯是系統處理損壞 數據的能力,雖然容錯能力不是區塊鏈特有的,它將此概念 邏輯化,讓每個人共享數據庫來驗證其變化。獨立驗證:交 易可以由任何人驗證,無須第三方,這有時也被稱作脫媒。 現在我們對區塊鏈價值有一定了解,下面讓我們來深入了解 它們的工作原理。區塊鏈如何工作?在一個公鏈中,任何人都可以讀寫數據。讀取數據是免費

6、的, 但向公鏈中寫數據是需要花費的。這種花費有助于阻止垃圾 內容,并通過支付保護其安全性。網絡上的任何節點都可以 參與稱作挖礦的方式來保護網絡。由于挖礦需要計算能力和 電費,礦工們的服務會得到一定報酬。挖礦網絡中的每個節點可以選擇參與挖礦。通常,節點的礦工需 要競爭解決保護區塊鏈內容的數學問題。每個區塊都是剛創 建的待處理交易集合,需要添加進鏈條中最新的區塊后面。 數學問題比賽的獲勝者創造了下一個區塊,并收到一些加密 貨幣作為獎勵。這激勵了節點來保護網絡,防止太多權力掌 握在任何一個礦工手中。哈希一旦新區塊被開采出來,其他礦工將被通知,它們開始驗證 并將這個新區塊添加到其鏈條的副本中。我們之前

7、提到的數 學問題稱作加密哈希(或簡稱哈希)。哈希函數是一個特殊 單向的過程,它接收數據并返回一個表示該數據固定長度的 字符串。雖然原始數據不能從其哈希值中再現,但相同數據 始終產生相同的哈希值。因此,未驗證的數據可以使用相同 函數進行哈希,并與原始數據比較。如果它們相同,則數 據驗證通過。一旦一半以上的礦工驗證了新區塊,網絡則就新區塊達成共 識,并成為鏈條中永久的一部分。現在這個數據可以很容易 被非采礦節點下載(同步),且其有效性得到保證。這是整個可視化過程:1. Bob嘗試向Alice發送1 ETH。2. Bob和Alice的交易與其它自上個區塊之后發生的交易 綁定在一起。3.礦工們競爭驗證

8、新交易集合產生的區塊。4. 成功創建新區塊的礦工將會得到報酬。5.交易通過驗證, Alice 收到 1 ETH。什么是以太坊?以太坊不僅是一個數據庫,它還允許你在區塊鏈的可信環境 中運行程序。以太坊在區塊鏈上搭建了一個名為EVM(Ethereum Virtual Machine,以太坊虛擬機)的虛擬機。EVM 允許在區塊鏈上驗證和執行代碼,為代碼在每個人的機器上 以相同方式運行提供保障。這些代碼包含在智能合約中(更 多如下)。除了追蹤賬戶余額,以太坊使用相同方法將EVM的狀態保 存在區塊鏈上。所有節點處理智能合約,來驗證合約本身及 其輸出的完整性。什么是智能合約?智能合約是指在EVM上運行的程

9、序,它們與其他編程語言 十分相似。智能合約可以接受和存儲以太幣、數據、或兩者 組合。然后,使用編入合約的邏輯,它可以將以太幣分發到 其他帳戶、甚至其他智能合約。你可以看到復雜系統是如何 從這種靈活性中發展起來的。智能合約是用Solidity語言編寫的。Solidity是靜態類型, 支持繼承、庫和復雜的用戶定義類型等功能。它的文件擴展 名是“.sol”。Solidity的語法類似于JavaScript。我們將在 以后教程中介紹Solidity基礎知識,但你也可以通過查看文 檔來深入了解。這里繼續Bob和Alice的智能合約案例。這一次,他們正 在使用托管合約(一個貨幣儲存空間,儲存一定貨幣直到滿

10、 足某條件),以便在最終交易之前存儲其以太幣。Alice想雇 傭Bob來建立一個露臺。為了讓雙方保持誠實,Alice同意 在托管合約中存放露臺款項,Bob同意在合約中存入同等金 額。2. Bob完成了露臺,Alice很激動!她許可智能合約釋 放資金。3. Bob收回了 1 ETH的抵押,和Alice支付的1 ETH在更復雜的托管合約中,如果Bob沒有完成露臺,或他完 成的非常糟糕,可以將規定寫入合約代碼中,以釋放Bob給 Alice的抵押。以太坊網絡到目前為止,我們已經描述了主要網絡(或主網),以太坊 的公鏈。任何人都可以創建一個節點并開始驗證交易;因此, 它是高度安全的。鏈上的數據,包括賬戶

11、余額和交易,都是 公開的。網絡上的以太幣具有市場價值,并可以交換其他數 字貨幣、或例如美元的法定貨幣。除了主網,還有測試網絡(本地和公有),以及私有網絡。本地測試網絡以太坊區塊鏈可以在本地進行模擬開發。本地測試網絡可以 即時處理交易,并且以太幣可以根據需求進行分配。存在一 系列的以太坊模擬器;我們推薦我們自己的:Ganacheo 公有測試網絡這些測試網絡是存在和公開的。這些網絡上的以太幣僅用于 測試目的,沒有貨幣價值。由于這些網絡是公有的,所以貨 幣是免費的,開發人員在最終部署以太坊應用程序到主網之 前,需要使用它們測試。* Ropsten:由以太坊基金會創建的官方測試網絡。Kovan:一種使

12、用權威證明(Proof of Authority)”共識方法 的公有測試網絡。這意味著其交易由選定人員進行驗證,從 而只需要4秒的出塊時間。此測試環境上的以太幣供應也受 到控制,以減輕垃圾內容的攻擊。這個鏈條的信息是公開的。 Kovan是由Parity科技創建的,需要他們的Parity以太坊 客戶端。Rinkeby: 一個同樣使用權威證明的官方測試網絡。 任何以太坊客戶端都可以訪問,由以太坊基金會創建。私有/企業網絡私有以太坊網絡允許各參與方共享數據,而不使其公開訪 問。私有區塊鏈是一個很好的選擇,當:分享敏感數據,如 醫療保健記錄,這是不允許或不希望公開的。小團體需要更 大的容量。隨著網絡規模的縮小,私有區塊鏈可以擴展到更 大的規模,并處理比公鏈更重的讀/寫量。基于以太坊的私 鏈同樣運行EVM,因此也兼容Truffle和其他開發工具。摩 根大通最初開發的Quorum就是一個非常好的例子,也與 Truffle兼容。更多關于在Quorum上使用Truffle的內容請訪 問我們的博客。Dapps (分布式應用程序)使用智能合約的應用程序大多數(雖然不是全部)的后端處 理稱為dapps,分布式應用程序的縮寫。這些dapps的用戶 界面使用包括你可能已經知道的語言:HTML,CSS和 JavaScript。這些文件可以托管在傳統可信的Web服務器 上,或無需信用的分布式文件服務上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論