區塊鏈的定義是什么(區塊鏈的相關定義以及概念)
1.相關概念
1.1 區塊鏈
1.1.1 定義
區塊鏈本質上是一個去中心化的分布式賬本數據庫,由多個服務器組成,不可更改和偽造,類似于銀行系統,不同的是區塊鏈可以使每個人手上都有這個賬本,賬本公開所有人都可以查看;
1.1.2 特點
防篡改——密碼學
分布式、去中心化——共識算法
匿名、隱私性——私鑰
可溯源——區塊的鏈式結構
區塊鏈中,交易信息以一個個信息塊的形式記錄,這些塊以鏈條方式,按時間順序連接起來。新生成的交易信息記錄塊,不斷地被加到區塊鏈中,交易一旦寫入區塊鏈中就不能被修改;
1.1.3 公有鏈
公有鏈(Public Blockchain)通常也稱為非許可鏈(Permissionless Blockchain),公有鏈是區塊鏈的一種,無官方組織及管理機構,無中心服務器,參與的節點按照系統規格自由接入網路、不受控制,節點間基于共識機制開展工作。
公有鏈一般適合于虛擬貨幣、面向大眾的電子商務、互聯網金融等 B2C、C2C 或 C2B 等應用場景,比特幣和以太坊等就是典型的公有鏈。
1.1.4 區塊鏈的發展
區塊鏈的應用發展,大致可分為 3 個階段:
區塊鏈 1.0:虛擬幣
區塊鏈 2.0: 智能合約
區塊鏈 3.0: DApp
1.2 虛擬幣
虛擬貨幣是指非真實的貨幣。在國內比較有代表性的虛擬貨幣有騰訊 Q 幣、新浪 U 幣、百度幣、盛大元寶等。比特幣就屬于虛擬貨幣,是區塊鏈技術的產物。比特幣不依靠特定貨幣機構發行,它依據特定算法,通過大量的計算產生,比特幣經濟使用整個 P2P 網絡中眾多節點構成的分布式數據庫來確認并記錄所有的交易行為,并使用密碼學的設計來確保貨幣流通各個環節安全性。
1.3 智能合約
比特幣帶來的主要問題是浪費計算資源,以及缺乏網絡可擴展性。為了克服這些問題,區塊鏈 2.0 階段引入了智能合約,將比特幣的概念擴展到了貨幣之外。
智能合約是在區塊鏈中“實時”運行的小型程序,它使得區塊鏈是可編程的。智能合約最突出的例子是**以太坊(Ethereum)**虛擬幣,它提供了一個平臺,開發人員可以在這個平臺上,為區塊鏈網絡創建分布式應用程序。
以太坊的智能合約就是一段由 EVM 虛擬機執行的字節碼,常都是由編譯器負責把高級語言編譯為字節碼。當智能合約被編譯成二進制文件后,被部署到區塊鏈上。用戶通過調用智能合約的接口,來觸發智能合約的執行操作。EVM 執行智能合約的代碼,修改當前區塊鏈上的數據(狀態),被修改的數據,會被共識,確保一致性。
智能合約主要是為了解決信任問題而產生的,由于智能合約存放在區塊鏈,并且區塊鏈不可抵賴,不能篡改,因此智能合約比現實中任何一個機構的公信力都強,而區塊鏈的去中心化思想的最大優勢就是解決了信任問題。
但是如果智能合約出錯后,可能會造成代幣被盜或者消耗大量的 gas,必須去修復錯誤,而修復 bug 只能重新部署合約,就會產生一個問題:原來的合約已經有很多人在使用,如果部署新的合約,老合約的數據就丟失。
1.4 去中心化
去中心化(Decentralized)的意思就是用戶可以不通過 Google、Facebook、微博等中介的服務訪問互聯網上的數據和信息,而是由個人自己擁有和控制互聯網的各個部分。也就是說,在 Web3 上,開發者不需要在一個單獨的服務器上建立和部署應用,也不用在一個單獨的數據庫中儲存數據,極大降低了單點故障的風險。
區塊鏈是真正去中心化互聯網的核心,它改變了數據存儲和管理的方式,其獨特的架構允許多個節點在沒有一個集中的事實來源的情況下就數據集的當前狀態保持一致。作為用戶為去中心化執行而激活的自動執行代碼,智能合約是加密難題的重要組成部分,這允許兩方在彼此不知情的情況下進行價值轉移。
1.5 gas 費用
以太坊中交易需要手續費,手續費被稱為 gas(汽油),gas 是用于評估在以太坊區塊鏈上執行特定操作所需的計算工作量的單位。
gas 只是一個抽象單位,它僅存在于以太坊虛擬機中,用戶實際上總是在以太坊網絡中使用 ETH(以太幣)進行交易。
為什么要引入 gas 呢?
以太坊虛擬機可以執行任意代碼,但它也更容易受到 halting problem 的影響。halting problem 是指從一個任意計算機程序的代碼和輸入來確定該程序是會結束運行,還是會永遠繼續運行。如果沒有 gas,用戶就可以執行一個永遠不會停止的程序,為了防止這種情況發生,以太坊引入了與每個操作相關的 gas 成本,這將防止程序處于永遠運行的狀態,最終使整個網絡陷入停滯狀態。