http://bbs.ichunqiu.com/thread-10048-1-1.html

現在區塊鏈已經成爲全球金融科技最火熱的概念啦,但是,什麼是區塊鏈呢?

區塊鏈定義

從數據結構的角度來講,區塊鏈本質上是基於密碼學的分佈式數據庫,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網絡交易的信息,用於驗證其信息的有效性(防僞)和生成下一個區塊。

從協議的層面來講,區塊鏈是一種新型去中心化協議,能安全地存儲比特幣交易或其它數據,信息不可僞造和篡改,可以自動執行智能合約,無需任何中心化機構的審覈。交易既可以是比特幣這樣的數字貨幣,也可以是債權、股權、版權等數字資產,區塊鏈技術解決了拜占庭將軍問題,大大降低了現實經濟的信任成本與會計成本,重新定義了互聯網時代的產權制度。

從技術方案的角度來講,區塊鏈是一種類似於非關係型數據庫這樣的技術解決方案統稱,並不是某種特定的技術,可以通過不同的編程語言來實現區塊鏈技術。

區塊鏈1.0可編程貨幣------從比特幣說起

比特幣原理

迄今爲止,比特幣系統是區塊鏈的唯一成熟應用,所以我們結合比特幣系統來說明區塊鏈技術解決方案。

比特幣和區塊鏈幾乎是共同誕生的,區塊鏈的初始使命是爲了支持比特幣的形成和流通。在比特幣誕生之前,互聯網的TCP/IP協議,基本實現了全球信息的高速傳遞,然而一類特殊的信息——“金錢”則在上面跑的比較慢。

看到這裏你一定想問,爲什麼所有信息都可以在TCP/IP協議上像德芙巧克力一般絲滑的相互傳遞,而金錢卻不可以呢?

其實原因有以下幾點:第一,沒有加密技術和公共賬本的情況下,數字貨幣和其他數字資產一樣,具有無限可複製性(就像你可以隨便保存多次郵件附件一樣),而且也難以避免一筆數字貨幣消費多次的情況,即所謂的“雙花”[1]問題;第二,現實生活中的金錢都不可避免地依賴“第三方/中心”(國家、政府、組織)的信用背書,從而解決普遍的羣體“無信用”、“不信任”的問題,而在網絡上,我們發現這些增信方式基本是無效的,這也就是所謂的“拜占庭將軍”問題[2]。

那麼這些問題該怎麼解決呢?區塊鏈就給出了一套技術層面的解決方案:爲了讓一筆數字現金只被花出去一次,一方面,區塊鏈結合了單方一端對另一端的文件共享技術和公鑰密碼學來記錄交易,另一方面通過數字背書的方式來產生新的數字貨幣,從而解決了數字貨幣可複製也即被多次記錄的問題。再者,爲了讓大家都信任這個系統,相信每一筆賬的真實性,那我們就需要一個大的賬本來記錄大家的交易行爲,現實裏,我們是通過一個可以信賴的第三方機構(國家、政府,銀行,支付寶等)來保留和維護交易總賬,那麼在科技時代裏,有沒有東西既可以替代這個第三方,從而使整個賬本和記賬行爲”去中心化“,同時又能保證系統的可信任性呢?對此,區塊鏈給出的解決方案就是”所有節點共同確認、共同維護“,即所有參與到系統中的節點共同參與到對賬本的維護中來,任何一個節點想要篡改任一個賬本的一部分都要經過超過半數的節點的同意纔可以進行修改。

比特幣體系(比特幣區塊鏈技術解決方案)

下面讓我們看下比特幣系統的結構是怎麼樣的:

(圖一)

到現在爲止,區塊鏈都沒有一個精確的定義是因爲不同的角度去理解時,區塊鏈所指代的意義是不一樣的,就如圖一所示,比特幣系統的底層,區塊鏈指的是非關係型的數據庫,在中間層,區塊鏈指代的是一種協議,對於整個比特幣系統,區塊鏈指代的是一種技術解決方案。

(圖二)

如圖二所示,在比特幣系統的底層,區塊鏈可以想象成一個大的賬簿,而每個區塊就是一個個升級版的賬單。它是一組交易的記錄,通過”上一頁的頁碼”被連接到區塊鏈(總賬)上,這個“頁碼”就是指區塊的地址。從這個角度來說,區塊是一種特定數據結構的存儲塊,而區塊鏈就是非關係型的數據庫,即所謂的總賬,該總賬可以通過區塊鏈瀏覽器被公開查看,你可以通過輸入一個區塊鏈地址(用戶的公鑰地址)來查看一串交易流。

堆棧中間的那一層是協議---區塊鏈總帳上進行資金轉賬的軟件系統。最後一層就是數字加密貨幣本身。關鍵的一點在於,對於所有的現代數字加密貨幣而言,區塊鏈、協議和貨幣這三個層級式一種通用結構,拓展而言,不同的數字貨幣對應着不同的協議,比如說“合約幣”是基於合約幣的協議運行的,而“合約幣”的協議又是基於“合約幣”的區塊鏈運行的。所以從這種通用結構的角度去講,區塊鏈技術就是一整套技術解決方案了。

隨着比特幣的穩定運行和區塊鏈技術優勢的不斷顯現,當然,如果要提到區塊鏈應用的興起, “以太坊”功不可沒。

以太坊的出現

在區塊鏈的應用變得多樣化之前,還有一件事一直困擾着技術人員們,就是技術的實現問題,都知道一般開發一款應用無論是收集APP,還是windows上的應用程序,都是需要基於操作系統來開發的。巴特,在區塊鏈1.0時代,並沒有類似於安卓ios等的操作系統,程序猿想要獨立開發出區塊鏈應用的話就需要從底層開始編寫代碼了,聽起來很崩潰對不對,所以爲了使開發區塊鏈應用的門檻降低,有一羣心疼這批開發區塊鏈的程序猿的技術人員們(當然也可能就是他們自己)開發出了Ethereum,也就是所謂的“以太坊”。

以太坊是一個開源的區塊鏈底層系統,它提供了很多的API和接口,讓許多人能在上面快速開發出各種區塊鏈應用。目前已經有過百個應用在以太坊上開發,其中十分有特色的就包括了智能合約。

區塊鏈2.0可編程合約----智能合約的興起

基於區塊鏈、協議、比特幣這一體系的技術堆棧,聰明的程序猿們,哦不,是技術人員們就在想,如果我們把這裏的比特幣替換成其他東西,再加上相應的腳本合約系統,那區塊鏈可以實現的功能就可以拓展的更多了。是的,隨着技術人員們的智慧之花的綻放,區塊鏈2.0開始脫離貨幣領域的創新,轉戰涉及合約功能的其他領域。智能合約的實現也是區塊鏈2.0的核心。

對於泛指的區塊鏈2.0技術,包括了比特幣2.0,比特幣2.0協議,智能合約,智能資產,去中心化應用和去中心化自治企業。因爲智能合約廣受人們關注,也是區塊鏈2.0的核心,所以接下來將向您詳細講述什麼是智能合約。

傳統的合約,就是規定雙方或多方的權利與義務的條文,合同中的權力義務必須能夠落實才會被合約的參與方所認可其效力,換一種說法只有當合約的每一方都要信任彼此會履行義務的情況下,合約纔會被認可。傳統合約的有效性需要依靠第三方(中心)的監督,而區塊鏈的特點就在於去中心化和去信任化,所以合約在區塊鏈上的應用是必然會出現的。

對於智能合約,其最大的特點就是:智能合約由代碼定義,同時也由代碼執行,完全自動且無法干預。具體而言,當一些預設的條件發生時(比如期權到期,某市場到達了指定價格,籌資目標被完成等),智能合約就將會對區塊鏈上的各種數字資產進行復雜的操作,從而自動完成智能合約的內容。

舉個簡單的例子,智能合約就好比一個由代碼編寫的並且能夠自動運行的ATM機,ATM機的行爲是可以計算的,相同的指令行爲總是會得到相同的結果。當你塞入銀行卡並選擇一些選項,一定數目的貨幣就會輸出,機器永遠是按照預定的程序來執行。智能合約也是一樣,它一定會按照預先設定的代碼來執行。

聰明的讀者肯定已經發現了智能合約自治、自足和去中心化的優勢,但也意識到了其限制性,智能合約並不是說能夠實現一切以前我們不能做到的事情,事實上,它們能夠最大限度以減少信任成本的方式來解決一些問題。最小化信任能夠讓事情變得更加便捷,因爲通過全自動執行來來替代人的判斷和執行。至於智能合約的應用場景則需要我們自己去判別,到底哪些社會契約、商業合約是可以用代碼來替代的,即根據代碼來自動執行且無法阻止運行的,而一些需要事後控制、監管、賠償損失的一些法律性合約是難以成爲智能合約從而達到自動執行的目的。於此同時,就像現實世界中的合同一樣,如果沒有認真審覈,其還是有可能出現漏洞並被壞人所利用的,所以如果合同的內容和執行流程過於複雜,則也需要有律師、審計這樣的角色介入審查,但這些漏洞都是基於合同的條款和規則上的,以太坊和區塊鏈技術本身是沒有問題的。

總而言之,區塊鏈技術能夠提供給我們的是一個多方無需信任的環境、一套密碼學技術、一套共同記錄的機制和一個共同維護的數據日誌。無論是比特幣,還是隻能合約,都只是區塊鏈在支付領域和合約領域的應用,它還可以用於更廣闊的領域,安全認證,數字背書,醫療,物聯網,供應鏈等領域都可以應用在區塊鏈技術上,它對於各行各業都會產生深遠的影響,但值得注意的是,區塊鏈只是給我們提供了一套可靠完整的技術,至於應用在其上的業務邏輯還是需要我們去不斷審查來防止漏洞的產生的。至於區塊鏈3.0時代到底能發展成什麼樣子、什麼程度,讓我們一起拭目以待吧。

本文來源;http://bbs.ichunqiu.com/thread-10048-1-1.html?from=csdn-shan


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