www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 很多童鞋反饋,區(qū)塊鏈技術有點繞,有點晦澀,大都是一知半解,理解不夠通徹。但在阿里技術專家鄭吉看來,區(qū)塊鏈特別是比特幣本身,并沒有使用高大上復雜的新技術,只是對現(xiàn)有技術的組合。其天才的地方體現(xiàn)在系

很多童鞋反饋,區(qū)塊鏈技術有點繞,有點晦澀,大都是一知半解,理解不夠通徹。但在阿里技術專家鄭吉看來,區(qū)塊鏈特別是比特幣本身,并沒有使用高大上復雜的新技術,只是對現(xiàn)有技術的組合。其天才的地方體現(xiàn)在系統(tǒng)的架構上,體現(xiàn)在把金融學,貨幣學,博弈學,甚至是哲學思想體現(xiàn)在比特幣的系統(tǒng)架構上。如果單純從系統(tǒng)中的技術點著手學習研究,那么往往就會覺得有點繞,有點晦澀。這就像我們在平時工作中了解某個系統(tǒng),如果首先搞清楚業(yè)務本身,了解清楚系統(tǒng)架構的設計,再去看具體的實現(xiàn)技術,從大局到面到點,那么就有豁然開朗的感覺。

準備工作

區(qū)塊鏈不是一種技術實現(xiàn),而是一個系統(tǒng)的架構設計,使用一系列的技術組合用于完成去中心化的數(shù)據(jù)存儲。比特幣在區(qū)塊鏈之上融入了金融學,貨幣學,博弈學,甚至一定程度的哲學思想,用于電子貨幣的發(fā)行,運行和交易。在學習區(qū)塊鏈之前有一些基礎知識需要提前掌握好,后面將不再對具體技術展開描述,而是從這個技術解決了什么問題,為什么要用這個技術這個角度去描述。

P2P

不可逆算法

不對稱加密算法

Merkle樹

CAP理論

最終一致性算法

比特幣要做什么?

如果你是一個架構師,做一個系統(tǒng)的架構,你首先要搞清楚這個系統(tǒng)要做什么?要解決一個什么問題?帶著這個問題進行分析,設計系統(tǒng)整體的架構。對于比特幣也一樣,首先搞清楚比特幣是要做什么,要解決什么問題?然后帶著這些問題去解析比特幣的技術實現(xiàn)。

如果用一句話來描述比特幣要做什么,那么可以這樣描述:做一個去中心化電子貨幣發(fā)行交易系統(tǒng)。這里有三個關鍵詞:

1. 去中心化

2. 電子貨幣發(fā)行

3. 電子貨幣交易

分析和設計

本章針對上述比特幣的三個關鍵詞,去中心化,電子貨幣發(fā)行,貨幣交易,進行分析和設計。

去中心化

當今世界的所有貨幣交易都是有一個第三方可信任的金融機構提供服務處理,任何人不能訪問由這個第三方機構中心化存儲的數(shù)據(jù),理論上來說如果這個金融機構發(fā)生了欺詐或倒閉,那么存儲在這個機構中的貨幣,以及所做的交易就會存在風險。 當然比特幣的去中心化,不是因為擔心這種風險,而是根本就不需要這個第三方機構了。這也是區(qū)塊鏈的強大顛覆性之一,凡是需要某個第三方可信任的機構需要安全保存處理的數(shù)據(jù),都可以去中心化安全存儲,所有人都可以訪問。

從技術角度分析,如何做到去中心化?

中心化對應的就是分布式,去中心化就是分布式。把原先存儲在某個第三方機構,中心化存儲的數(shù)據(jù),進行分布式存儲。

分布式存儲要解決的3個基本問題

1. 網(wǎng)絡結構

2. 數(shù)據(jù)不可篡改性

3. 最終一致性

網(wǎng)絡結構

去中心化的分布式存儲是指整個發(fā)行的電子貨幣,以及貨幣交易數(shù)據(jù)由不同機構,不通個人的成千上萬的計算機共同存儲,共同維護了同一份相同的數(shù)據(jù),只有共同維護的這份相同的數(shù)據(jù)才是認為最終正確的數(shù)據(jù),任何個人篡改自己的數(shù)據(jù)都沒有意義,并且存儲的數(shù)據(jù)所有人都可訪問。

如果做為架構師,你會選擇什么樣的網(wǎng)絡結構去實現(xiàn)這個分布式存儲?一種方式是可采用類似Hadoop中HDFS的方式,由某個中心節(jié)點NameNode進行協(xié)調訪問,但這種方式就會帶來單點風險,破壞了中心節(jié)點,整個體系都將不可訪問?;蛘卟捎肅assandra無中心化投票機制維護整個集群狀態(tài),但是這種方式在全球化開放式部署中會導致根本無法收斂。

所以比特幣采用了一種更加簡單直接的方式,利用P2P協(xié)議維護整個比特幣網(wǎng)絡集群,不需要某個中心節(jié)點協(xié)調節(jié)點之間的通信,不需要所有機器投票維護集群狀態(tài)。而是通過P2P協(xié)議進行節(jié)點之間的數(shù)據(jù)傳輸,任何節(jié)點都可以隨時加入或者離開比特幣網(wǎng)絡集群,而不會對比特幣網(wǎng)絡集群產(chǎn)生影響,也不需要特意去修復這個集群中的故障機器。

利用P2P協(xié)議進行節(jié)點之間數(shù)據(jù)傳輸主要有兩個功能點:

a. 把需要存儲的數(shù)據(jù)廣播到所有節(jié)點上進行儲存。

b. 查詢整個網(wǎng)絡集群中所有節(jié)點的最新數(shù)據(jù),如果自己節(jié)點的數(shù)據(jù)與大部分節(jié)點的數(shù)據(jù)不一致,則更新自身的數(shù)據(jù)與大部分節(jié)點存儲的數(shù)據(jù)一致。

比特幣是去中心化存儲,最大的風險是整個比特幣網(wǎng)絡集群被破壞,篡改了整個網(wǎng)絡存儲的數(shù)據(jù)。但是上述第二個功能點能夠有效的防止這種風險,由于系統(tǒng)會自動更新為整個集群中大部分節(jié)點存儲的相同數(shù)據(jù),所以要篡改數(shù)據(jù),必須要同時篡改整個網(wǎng)絡一半以上的數(shù)據(jù),這不是說做不到,但是比特幣利用區(qū)塊鏈的方式再加上利益博弈機制,當你擁有這種能力的時候,也不需要去做篡改這種投入產(chǎn)出比這么低的事了,在數(shù)據(jù)不可篡改性一節(jié)中再詳細描述。

通過圖示看一下比特幣網(wǎng)絡結構的運行:

Jack把某一筆交易數(shù)據(jù)往A服務器上提交,A服務器驗證數(shù)據(jù)合法性后存儲到自身的數(shù)據(jù)庫中,同時把這筆交易數(shù)據(jù)點對點的傳輸?shù)奖忍貛啪W(wǎng)絡集群的所有B,C,D,E節(jié)點上。A和所有其它的B,C,D,E節(jié)點保持點對點通信,自動更新為這個集群中大多數(shù)節(jié)點維護的相同的數(shù)據(jù)。如果B,C,D三臺服務器保存的數(shù)據(jù)相同,但是與A,E不一致,則A和E自動更新為與B,C,D相同的數(shù)據(jù)。所以Jack的這筆交易,需要等待這個比特幣網(wǎng)絡集群中所有節(jié)點都接受到,并且認為合法存儲后,才認為這筆交易成功完成。當然在現(xiàn)實情況下,不需要等待所有節(jié)點都確認完成,通常只需要少數(shù)服務器確認完成后即可認為交易完成,因為每個服務器維護的自身與整個網(wǎng)絡集群的數(shù)據(jù)狀態(tài),當少量服務器都認為與整個集群一致時,此時從概率上就是一致的。在最終一致性一節(jié)中將繼續(xù)對這種網(wǎng)絡結構下的數(shù)據(jù)存儲進行描述。

數(shù)據(jù)不可篡改性

在設計了比特幣系統(tǒng)運行的網(wǎng)絡結構之后,需要考慮數(shù)據(jù)的不可篡改性,因為這種數(shù)據(jù)存儲是去中心化的,任何人都可以訪問,那么就容易被篡改,上節(jié)描述了在這種網(wǎng)絡結構的運行機制下,要篡改數(shù)據(jù),必須同時更改這個網(wǎng)絡集群上一半以上的節(jié)點數(shù)據(jù),如果每個節(jié)點沒有一個安全的保護機制的話,那是很容易做到被同時修改網(wǎng)絡集群中一半以上節(jié)點的數(shù)據(jù)。

先想想,如果你是架構師,你會如何設計這個保護機制,確保存儲的數(shù)據(jù)無法被篡改?在傳統(tǒng)上,我們把交易數(shù)據(jù)一條記錄一條記錄的保存在數(shù)據(jù)庫表中,數(shù)據(jù)庫放在某個第三方機構的服務器上,這個第三方機構給服務器所處的網(wǎng)絡,服務器,數(shù)據(jù)庫設置了嚴格的訪問限制用于數(shù)據(jù)的安全性。但是在一個去中心化,沒有一個機構或者一個人可以控制系統(tǒng)的訪問權限的情況下,如何去保護數(shù)據(jù)的安全性?

一種方式是每個人把自己的插入的這條數(shù)據(jù)hash后用自己的密鑰進行簽名,然后附帶上自己的公鑰,系統(tǒng)可以用簽名和公鑰驗證插入的數(shù)據(jù)是否被修改過。如果把數(shù)據(jù)庫表比喻為一本帳本,表中的每一條數(shù)據(jù)就認為是賬本中記錄的每一筆交易。這里還有兩個問題,第一,不能隨意插入數(shù)據(jù),如果你沒有比特幣,但還是插入一條轉帳給某人的數(shù)據(jù),系統(tǒng)需要發(fā)現(xiàn)是不合法的,拒絕此次插入請求。第二,除了不能隨意插入和修改外,也需要防止刪除數(shù)據(jù),上述把每條記錄進行簽名并不能阻止被惡意刪除。帶著這些問題,如果你是架構師,你會做什么樣的架構設計實現(xiàn)這些需求?

這里就開始要引出區(qū)塊鏈的設計了。上面把數(shù)據(jù)庫表比喻為一本帳本,如果系統(tǒng)中只有一張表,也就是一本帳本,那么這本帳本中的數(shù)據(jù)很容被更改。如果讓系統(tǒng)每10分鐘自動生成一張表,也就是生成一本新帳本,新的交易記錄都記錄在新帳本中。 并且創(chuàng)建這個新帳本需要一定的條件,用當前帳本的順序號,上一個帳本的所有記錄的hash值,系統(tǒng)時間戳(10分鐘一個維度),再找一個隨機值,幾個數(shù)據(jù)加在一起Hash后滿足一定的條件,比如開始多少位都是0,那么系統(tǒng)就接收這個新帳本。產(chǎn)生的新帳本通過帳本順序號串在上個帳本之后,形成一個帳本的鏈式結構,新的帳本依賴于上一個帳本的數(shù)據(jù)和當前系統(tǒng)時間戳,因此一旦新帳本產(chǎn)生后,歷史帳本的數(shù)據(jù)就無法被篡改,因為一旦篡改,就與之后的帳本對不上,帳本被破壞,按照上節(jié)網(wǎng)絡結構中描述的自動更新為網(wǎng)絡集群中大部分節(jié)點維護的相同的帳本。

一旦形成了鏈式帳本后就無法去更改某個歷史帳本中的數(shù)據(jù),更改了某個歷史帳本,那么在它之后的所有帳本都需要更改,但是每個帳本都是根據(jù)當前的系統(tǒng)時間戳驗證hash值是否滿足條件才能接收,所以無法去篡改歷史帳本的數(shù)據(jù)。所能做的只能另外投入非常大的代價再構建一個比特幣集群,這個集群超過當前的集群,那么數(shù)據(jù)就自動按照新構建的集群為準。這就是多個帳本的相互保護機制比單個帳本更難以被篡改。后續(xù)貨幣的發(fā)行和交易中再會描述,當你有能力重新構建一個新的比特幣網(wǎng)絡集群用于去攻擊篡改數(shù)據(jù)時,你獲得的收益將遠遠低于你投入的成本。

為了防止上個帳本的數(shù)據(jù)被篡改,產(chǎn)生新的帳本需要依賴于上一個帳本中的所有交易記錄的hash值,這樣一旦上個帳本的數(shù)據(jù)發(fā)生變化就與新帳本對應不上。但是帳本中所有交易記錄計算hash值是一件耗時的計算,因此比特幣采用了merkle樹對某個帳本中的所有交易記錄進行hash計算。它主要是解決帳本中交易記錄hash計算的效率問題。如下圖HA,HB.。.HP是具體的交易記錄,每相臨的兩條交易記錄向上形成一個Hash值,再與相鄰的節(jié)點再往上形成hash值,一直到樹根形成所有交易記錄的唯一hash值。

之前描述的網(wǎng)絡結構和本節(jié)描述的帳本鏈式結構,本質上都是用于解決去中心化的數(shù)據(jù)安全存儲。

最終一致性

是分布式存儲就繞不開CAP理論,比特幣也一樣,比特幣采用P2P協(xié)議進行節(jié)點之間的數(shù)據(jù)傳輸,放棄了CAP中的Consistency,采用了AP兩個維度。如果放棄了Consistency這個屬性,那么就產(chǎn)生了拜占庭將軍問題,這么多節(jié)點如何達成數(shù)據(jù)一致性。拜占庭軍隊都是一個個小分隊組成,每個小分隊都有一個將軍負責,將軍們通過號令兵傳達一系列行動,但是當中出現(xiàn)一些叛將,故意破壞號令怎么辦?

分布式存儲系統(tǒng)和拜占庭將軍問題一樣,做到一致性是很難的,在比特幣開放式的全球化部署的系統(tǒng)集群更是如此。所以比特幣放棄了強一致性,并且通過P2P點對點通信,沒有中心節(jié)點,整個集群中的服務器故障,離開,加入集群都不會對整個集群產(chǎn)生影響。

上節(jié)中描述了帳本的產(chǎn)生基本機制,用當前帳本的順序號,上一個帳本的所有記錄的hash值,系統(tǒng)時間戳(10分鐘一個維度),再找一個隨機值,幾個數(shù)據(jù)加在一起Hash后滿足一定的條件,比如開始多少位都是0,那么系統(tǒng)就接收這個新帳本,這就是這個集群中所有節(jié)點的共識,所有節(jié)點只接收這樣的帳本,而尋找這個隨機值是需要龐大的計算能力。在比特幣中稱它為Proof-of-Work(POW)挖礦。

當每隔10分鐘找到這個值,就是生成了新的帳本。但網(wǎng)絡集群都是開放的,可能同時找到了兩個值,在集群中少部分節(jié)點中產(chǎn)生了2個帳本,針對這種情況比特幣系統(tǒng)設計為:整個網(wǎng)絡集群采用少數(shù)服從多數(shù)原則,集群中大部分采用了哪個帳本,少數(shù)節(jié)點服從多數(shù)節(jié)點,丟棄沒被大多數(shù)采用的帳本,達到最終一致性。

電子貨幣發(fā)行

上一章節(jié)去中心化中,主要描述了一個去中心化系統(tǒng),如何做到安全的數(shù)據(jù)存儲,不被篡改。它主要采用了P2P網(wǎng)絡結構+區(qū)塊鏈式結構解決了數(shù)據(jù)的安全存儲。但是對于一個貨幣,還需要解決一個貨幣的發(fā)行,如何發(fā)行,發(fā)行給誰?如何讓比特幣系統(tǒng)能夠讓所有的人自發(fā)的運行下去?貨幣的發(fā)行需要公平,公開,公正,而且貨幣不能發(fā)行到某個第三方機構中,任何人只要符合一定的條件就能獲取發(fā)行的貨幣。想一想,如果你是架構師,你會如何設計系統(tǒng)去發(fā)行貨幣?

本質上講,比特幣系統(tǒng)自身就可以尋找一個隨機值,產(chǎn)生新的帳本。但是比特幣把發(fā)行貨幣和尋找新帳本背后的計算力結合在一起。尋找新帳本需要消耗計算力,誰找到了符合新帳本條件的隨機值,代表了他消耗了大量的計算力,新帳本一旦被系統(tǒng)接收,那么系統(tǒng)自動在該新帳本中記錄一條轉帳給他一定個數(shù)比特幣的紀錄,就完成了貨幣的發(fā)行。

比特幣的運行必須依賴于新帳本的產(chǎn)生,而誰找到新帳本,誰就能獲得系統(tǒng)自動生成的轉帳紀錄,也就是獲得了一定數(shù)量的比特幣,這就是挖礦。這也就激勵了人們不斷的投入到挖礦中,不斷的挖出新帳本,通過激勵維持著比特幣系統(tǒng)的運行。

這里體現(xiàn)設計天才的地方是,比特幣融入了金融學,貨幣學,博弈學,通過系統(tǒng)形成了一定的運行機制,激勵著人們讓這個系統(tǒng)能夠自發(fā)的運行下去。

電子貨幣交易

上節(jié)電子貨幣發(fā)行一節(jié)中描述了,誰通過算力找到了新的帳本,系統(tǒng)就會自動記一筆賬,轉一定數(shù)量的比特幣給誰,他也就獲得了比特幣。那么如何確認記錄的這筆交易是屬于你的,而不被別人拿走呢?做為架構師的你如何解決這個問題?

比特幣采用了非對稱加密技術對用戶的帳戶操作,公鑰就是用戶的帳戶號碼,誰找到了新帳本,系統(tǒng)自動往新帳本發(fā)現(xiàn)者的公鑰帳戶,記一條特定數(shù)量比特幣的紀錄。當用戶要消費比特幣時,需要用私鑰進行簽名,系統(tǒng)會用帳戶號碼也就是公鑰驗證簽名是否正確,并且根據(jù)用戶的帳戶號碼從歷史的交易中計算出當前帳戶中的真實金額,確保用戶操作的資金在帳戶真實金額之內。這里的設計有兩個要點:

插入的每一條紀錄都需要用私鑰簽名,系統(tǒng)用帳戶號碼也就是公鑰進行驗證簽名是否正確,驗證正確則認為合法。

如果滿足第一個條件,則驗證插入的紀錄中轉帳金額是否正確,驗證的方式是對該公鑰以往的所有交易紀錄進行計算得出該帳戶當前的金額,如果不超過該金額值則為合法。圖示如下:

這種機制能夠保證只能對自己的帳戶進行操作,再結合P2P網(wǎng)絡結構下的最終一致性原則,以及帳本的鏈式結構,一個攻擊者需要建立超過目前比特幣網(wǎng)絡集群,并且算力超過目前的集群下才能創(chuàng)建另外一個帳本分之,而且也只能更改自己的帳戶,所以這種攻擊投入和產(chǎn)出的收益極低,而對于比特幣系統(tǒng)來說,你構建了龐大的集群以及強大的算力,即使攻擊成功了,獲得了一部分的收益,反過來卻讓比特幣系統(tǒng)更加的穩(wěn)健了。

區(qū)塊鏈的應用

比特幣系統(tǒng)解決了去中心化的安全存儲問題,解決了貨幣的發(fā)行問題,解決了貨幣交易的帳戶安全問題后,就構建了一個當前的比特幣電子虛擬貨幣系統(tǒng)了。而比特幣使用的區(qū)塊鏈被認為是一個顛覆性的技術,革命性的技術,那他的顛覆性體現(xiàn)在什么地方呢?它不是技術上面的顛覆,主要是在思想層面上的,商業(yè)運作模式層面上的革命性。就比如一個國家從集權式的到民主式的轉變,對這個國家和社會就是一個革命性的變化。而區(qū)塊鏈技術帶來兩個基本功能:

1. 去中心化的數(shù)據(jù)存儲

2. 保證帳戶的安全性

理論上讓原先需要通過某個第三方機構提供的數(shù)據(jù)服務,都可以革命性更改為去中心化的方式提供服務,比如比特幣可以替代各個國家的法幣使用。區(qū)塊鏈這種特性也會衍生出各行各業(yè)的商業(yè)模式顛覆性的變化。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉