從零開始學區塊鏈(3)

2022-08-31 23:51:21 字數 3365 閱讀 6134

** 區塊鏈大師

區塊鏈的定義、特徵與發展

一、定義

區塊鏈(blockchain)是指通過去中心化和去信任的方式集體維護乙個可靠資料庫的技術方案。該技術方案主要讓參與系統中的任意多個節點,通過一串使用密碼學方法相關聯產生的資料塊(block),每個資料塊中包含了一定時間內的系統全部資訊交流資料,並且生成資料指紋用於驗證其資訊的有效性和鏈結(chain)下乙個資料庫塊。

區塊鏈是一種類似於nosql(非關係型資料庫)這樣的技術解決方案統稱,並不是某種特定技術,能夠通過很多程式語言和架構來實現區塊鏈技術。並且實現區塊鏈的方式種類也有很多,目前常見的包括pow(proof of work,工作量證明),pos(proof of stake,權益證明),dpos(delegate proof of stake,股份授權證明機制)等。

nosql資料庫:

區塊鏈的概念首次在**《位元幣:一種點對點的電子現金系統(bitcoin: a peer-to-peer electronic cash system)》中提出,作者為自稱中本聰(satoshi nakamoto)的個人(或團體)。因此可以把位元幣看成區塊鏈的首個在金融支付領域中的應用。

二、特徵

結合定義區塊鏈的定義,需要有這四個特徵我們才能認為:去中心化(decentralized)、去信任(trustless)、集體維護(collectively maintain)、可靠資料庫(reliable database)。並且由四個特徵會引申出另外2個特徵:開源(open source)、匿名性(anonymity)。如果乙個系統不具備這些特徵,將不能視其為基於區塊鏈技術的應用。

去中心化(decentralized):整個網路沒有中心化的硬體或者管理機構,任意節點之間的權利和義務都是均等的,且任一節點的損壞或者失去都會不影響整個系統的運作。因此也可以認為區塊鏈系統具有極好的健壯性。

去信任(trustless):參與整個系統中的每個節點之間進行資料交換是無需互相信任的,整個系統的運作規則是公開透明的,所有的資料內容也是公開的,因此在系統指定的規則範圍和時間範圍內,節點之間是不能也無法欺騙其它節點。

集體維護(collectively maintain):系統中的資料塊由整個系統中所有具有維護功能的節點來共同維護的,而這些具有維護功能的節點是任何人都可以參與的。

可靠資料庫(reliable database):整個系統將通過分資料庫的形式,讓每個參與節點都能獲得乙份完整資料庫的拷貝。除非能夠同時控制整個系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,也無法影響其他節點上的資料內容。因此參與系統中的節點越多和計算能力越強,該系統中的資料安全性越高。

開源(open source:由於整個系統的運作規則必須是公開透明的,所以對於程式而言,整個系統必定會是開源的。

匿名性(anonymity):由於節點和節點之間是無需互相信任的,因此節點和節點之間無需公開身份,在系統中的每個參與的節點都是匿名的。

三、區塊鏈意義之一 :解決拜占庭將軍問題

區塊鏈解決的核心問題不是「數字貨幣」,而是在資訊不對稱、不確定的環境下,如何建立滿足經濟活動賴以發生、發展的「信任」生態體系。而這個問題稱之為「拜占庭將軍問題」,也可稱為「拜占庭容錯」或者「兩軍問題」,這是乙個分布式系統中進行資訊機互動時面臨的難題,即在整個網路中的任意節點都無法信任與之通訊的對方時,如何能建立出共識基礎來進行安全的資訊互動而無需擔心資料被篡改。區塊鏈使用演算法證明機制來保證整個網路的安全,借助它,整個系統中的所有節點能夠在去信任的環境下自動安全的交換資料。關於解決拜占庭將軍的細節問題請參見相關**。

四、區塊鏈意義之二:實現跨國價值轉移

網際網路誕生最初,最早核心解決的問題是資訊製造和傳輸,我們可以通過網際網路將資訊快速生成並且複製到全世界每乙個有著網路的角落,但是它尚始終不能解決價值轉移和信用轉移。這裡所謂的價值轉移是指,在網路中每個人都能夠認可和確認的方式,將某一部分價值精確的從某乙個位址轉移到另乙個位址,而且必須確保當價值轉移後,原來的位址減少了被轉移的部分,而新的位址增加了所轉移的價值。這裡說的價值可以是貨幣資產,也可以是某種實體資產或者虛擬資產(包括有價**、金融衍生品等)。而這操作的結果必須獲得所有參與方的認可,且其結果不能受到任何某一方的操縱。

在目前的網際網路中也有各種各樣的金融體系,也有許多**銀行提供或者第三方提供的支付系統,但是它還是依靠中心化的方案來解決。所謂中心化的方案,就是通過某個公司或者**信用作為背書,將所有的價值轉移計算放在乙個中心伺服器(集群)中,儘管所有的計算也是由程式自動完成,但是卻必須信任這個中心化的人或者機構。事實上通過中心化的信用背書來解決,也只能將信用侷限在一定的機構、地區或者國家的範圍之內。由此可以看出,必須要解決的這個根本問題,那就是信用。所以價值轉移的核心問題是跨國信用共識。

在如此紛繁複雜的全球體系中,要憑空建立乙個全球性的信用共識體系是很難的,由於每個國家的政治、經濟和文化情況不同,對於兩個國家的企業和**完全互信是幾乎做不到的,這也就意味著無論是以個人抑或企業**的信用進行背書,對於跨國之間的價值交換即使可以完成,也有著巨大的時間和經濟成本。但是在漫長的人類歷史中,無論每個國家的宗教、政治和文化是如何的不同,唯一能取得共識的是數學(基礎科學)。因此,可以毫不誇張的說,數學(演算法)是全球文明的最大公約數,也是全球人類獲得最多共識的基礎。如果我們以數學演算法(程式)作為背書,所有的規則都建立乙個公開透明的數學演算法(程式)之上,能夠讓所有不同政治文化背景的人群獲得共識。

五、未來的發展

網際網路將使得全球之間的互動越來越緊密,伴隨而來的就是巨大的信任鴻溝。目前現有的主流資料庫技術架構都是私密且中心化的,在這個架構上是永遠無法解決價值轉移和互信問題。所以區塊鏈技術有可能將成為下一代資料庫架構。通過去中心化技術,將能夠在大資料的基礎上完成數學(演算法)背書、全球互信這個巨大的進步。

區塊鏈技術作為一種特定分布式訪問資料技術,它通過網路中多個參與計算的節點開共同參與資料的計算和記錄,並且互相驗證其資訊的有效性(防偽)。從這一點來,區塊鏈技術也是一種特定的資料庫技術。網際網路剛剛進入大資料時代,但是從目前來看,大資料還處於非常基礎的階段。但是當進入到區塊鏈資料庫階段,將進入到真正的強信任背書的大資料時代。這裡面的所有資料都獲得堅不可摧的質量,任何人都沒有能力也沒有必要去質疑。

我們這一代人將很可能會幸運地經歷人類歷史上兩個最讓人吃驚的事件,地球上的所有人和所有機器通過區塊鏈技術以前所未有的互信展開了空前的大規模協作,其次就是基於此真正的人工智慧將被創造出來。這兩個時間將會深深地改變這個世界的經濟發展模式。創業者、企業家、科學家以及各種各樣的極客將利用這個充裕的世界去創造能讓我們震驚和快樂。

從資料記錄發展看區塊鏈(從零開始學區塊 197)

區塊鏈的發展實際上是資料記錄發展歷史的必然,今天我們來聊聊在資料記錄發展的歷史,一窺這種螺旋式上公升的趨勢 重發此文,昨天編號搞錯了 資料 data 是對客觀事物的符號表示,是用於表示客觀事物的未經加工的原始素材,如圖形符號 數字 字母等。或者說,資料是通過物理觀察得來的事實和概念,是關於現實世界中...

C 從零開始區塊鏈 區塊鏈業務模組之主鏈同步

同樣是採用乙個簡單,但效率低下的方案,遍歷自己的鏈和其他節點的鏈,誰的長誰的就是主鏈。然後將自己的鏈和主鏈進行比較,將自己的鏈上的區塊掛在主鏈上,掛的同時驗證一下自己的區塊是否已經存在於主鏈上,如果存在就跳過。void blockchain mergeblockchain const std str...

從零開始學編碼3

從零開始學編碼1中我們對編碼這個概念進行了了解。在從零開始學編碼2中學習了基本的電路知識。這篇我們說一說進製數。在遠古時期,人類便有了計數的需求,看著自己的手指,大拇指代表乙個蘋果,食指代表第二個蘋果,中指代表的第三個蘋果 好吧人類只有十根手指,可能只能做十以內的計數,後來人的思維能力發散,有了邏輯...