當前位置:首頁 » 區塊鏈知識 » 區塊鏈技術和拜占庭問題

區塊鏈技術和拜占庭問題

發布時間: 2022-06-30 13:56:56

區塊鏈企業服務主要解決的問題是什麼

人人鏈區塊鏈服務,讓用戶在彈性、開放的雲端上能夠快速構建自己的 IT基礎設施和區塊鏈服務。使用 BaaS 可以極大降低您實現區塊鏈底層技術的成本,簡化區塊鏈構建和運維工作,同時面對各行業領域場景,滿足用戶個性化需求,一站式快速交付定製 BaaS。

㈡ 公證區塊鏈是什麼

區塊鏈技術原理的來源可歸納為一個數學問題:拜占庭將軍問題。拜占庭將軍問題延伸到互聯網生活中來,其內涵可概括為:在互聯網大背景下,當需要與不熟悉的對手方進行價值交換活動時,人們如何才能防止不會被其中的惡意破壞者欺騙、迷惑從而做出錯誤的決策。進一步將拜占庭將軍問題延伸到技術領域中來,其內涵可概括為:在缺少可信任的中央節點和可信任的通道的情況下,分布在網路中的各個節點應如何達成共識。區塊鏈技術解決了聞名已久的拜占庭將軍問題——它提供了一種無需信任單個節點、還能創建共識網路的方法。

㈢ 區塊鏈共識機制,拜占庭將軍問題是什麼

POW完全依靠用經濟激勵的方式來大量增加記賬參與者, 從而稀釋作惡節點的比例, 或者說大幅增加作惡的成本, 做假賬者需要控制或者賄賂更多的節點。這是一種簡單粗暴的共識機制, 在演算法上沒有優化過,但是又非常可行, 現在體量最大的兩條區塊鏈, 比特幣以太坊都是用POW挖礦的方式。
POW雖然不是最優,但是現在最最切實可行的共識演算法。例如比特幣、萊特幣、DECENT都是採用的POW證明機制。

㈣ 剛剛了解,誰能告訴我區塊鏈是什麼通俗解釋一下區塊鏈技術的方法

大家共同記賬的方式,也被稱為「分布式」或「去中心化」,因為人人都記賬,且賬本的准確性由程式演算法決定,而非某個權威機構。

這就是區塊鏈,核心講完了,區塊鏈就這么簡單,一個共同記賬的賬本

區塊鏈技術六大核心演算法:

區塊鏈核心演算法一:拜占庭協定

拜占庭的故事大概是這么說的:拜占庭帝國擁有巨大的財富,周圍10個鄰邦垂誕已久,但拜占庭高牆聳立,固若金湯,沒有一個單獨的鄰邦能夠成功入侵。任何單個鄰邦入侵的都會失敗,同時也有可能自身被其他9個鄰邦入侵。拜占庭帝國防禦能力如此之強,至少要有十個鄰邦中的一半以上同時進攻,才有可能攻破。然而,如果其中的一個或者幾個鄰邦本身答應好一起進攻,但實際過程出現背叛,那麼入侵者可能都會被殲滅。於是每一方都小心行事,不敢輕易相信鄰國。這就是拜占庭將軍問題。

區塊鏈核心演算法二:非對稱加密技術

在上述拜占庭協定中,如果10個將軍中的幾個同時發起消息,勢必會造成系統的混亂,造成各說各的攻擊時間方案,行動難以一致。誰都可以發起進攻的信息,但由誰來發出呢?其實這只要加入一個成本就可以了,即:一段時間內只有一個節點可以傳播信息。當某個節點發出統一進攻的消息後,各個節點收到發起者的消息必須簽名蓋章,確認各自的身份。

區塊鏈核心演算法三:容錯問題

我們假設在此網路中,消息可能會丟失、損壞、延遲、重復發送,並且接受的順序與發送的順序不一致。此外,節點的行為可以是任意的:可以隨時加入、退出網路,可以丟棄消息、偽造消息、停止工作等,還可能發生各種人為或非人為的故障。我們的演算法對由共識節點組成的共識系統,提供的容錯能力,這種容錯能力同時包含安全性和可用性,並適用於任何網路環境。

區塊鏈核心演算法四:Paxos 演算法(一致性演算法)

Paxos演算法解決的問題是一個分布式系統如何就某個值(決議)達成一致。一個典型的場景是,在一個分布式資料庫系統中,如果各節點的初始狀態一致,每個節點都執行相同的操作序列,那麼他們最後能得到一個一致的狀態。為保證每個節點執行相同的命令序列,需要在每一條指令上執行一個「一致性演算法」以保證每個節點看到的指令一致。一個通用的一致性演算法可以應用在許多場景中,是分布式計算中的重要問題。 節點通信存在兩種模型:共享內存和消息傳遞。Paxos演算法就是一種基於消息傳遞模型的一致性演算法。

區塊鏈核心演算法五:共識機制

區塊鏈共識演算法主要是工作量證明和權益證明。拿比特幣來說,其實從技術角度來看可以把PoW看成重復使用的Hashcash,生成工作量證明在概率上來說是一個隨機的過程。開采新的機密貨幣,生成區塊時,必須得到所有參與者的同意,那礦工必須得到區塊中所有數據的PoW工作證明。與此同時礦工還要時時觀察調整這項工作的難度,因為對網路要求是平均每10分鍾生成一個區塊。

區塊鏈核心演算法六:分布式存儲是一種數據存儲技術,通過網路使用每台機器上的磁碟空間,並將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散的存儲在網路中的各個角落。所以,分布式存儲技術並不是每台電腦都存放完整的數據,而是把數據切割後存放在不同的電腦里。就像存放100個雞蛋,不是放在同一個籃子里,而是分開放在不同的地方,加起來的總和是100個。想了解更多可以多利用網路搜索,網路搜索結果-小知識

㈤ 你知道區塊鏈本質是什麼嗎比特幣的原理又是什麼

區塊鏈發展到今天已經有一段時間了,在這段時間里,人們對區塊鏈的認知經歷了快速的更換。

區塊鏈的本質是技術

既然說到本質,什麼是本質?本質應該是不停向前追溯,一直追溯到不能進一步追溯為止,那時得到的東西才能稱之為本質。區塊鏈的本質,是一種技術。回到區塊鏈最初的那個原點,回到比特幣剛剛誕生的時候,它要解決的問題是拜占庭將軍問題,從專業角度來講,也就是要解決如何在分布式環境下達成一致性的問題。區塊鏈這種技術,是多項技術的組合,它天然適合多方合作,可以為多方合作提供可信環境。

區塊鏈不可篡改特性的應用

比特幣的技術原理P2P網路

比特幣是一個P2P的計算機網路,每一個網路節點存儲著這個網路上所有的交易記錄。 一般來說任何信息記錄在一個節點加若干備份就可以了。在每一個節點上存儲一遍這個網路的所有交易記錄,這導致交易記錄被每個節點可以看見、每個節點不能獨立任意修改交易記錄,所以形成了一套公開透明的交易記錄。

㈥ 理論上區塊鏈怎麼解決拜占庭將軍問題

拜占庭將軍問題(以下簡稱「共識問題」)的正式表述是:如何在一個不基於信任的分布式網路中就信息達成共識?這個表述聽起來有些晦澀,但其本質並不復雜,下面的例子與共識問題雖然並不完全一致,但卻有助於我們的理解[9]。

想像一下在遙遠的拜占庭時代,有一個富饒的城邦,金銀珠寶綾羅綢緞應有盡有,它的領主哆啦A夢獨享著這一切奢華與榮耀。而在城邦的外圍,四位拜占庭將軍大雄、胖虎、小夫和靜香都覬覦著哆啦A夢的財富,於是他們決定聯手攻佔哆啦A夢的城邦。根據雙方的實力對比,必須有超過半數的將軍同時發起進攻方能克敵制勝,因此獲勝條件就是四人中至少三個人可以就進攻時間達成一致。那麼四位將軍的勝算有多少呢?

這個問題的答案就要取決於四個人的合作方式了,如果是集中式系統,有一個盟主,比如胖虎(相當於中央伺服器),那麼他們的勝利是毫無懸念的,因為就進攻時間達成一致非常簡單,只要胖虎召集大雄、小夫和靜香開個會討論一下就可以了,即使大家意見有分歧胖虎也可以在最後予以定奪。下面讓我們回到拜占庭將軍問題的假設里,在不基於信任的分布式網路中,四位將軍的勝算又如何呢?

?

首先由於四位將軍之間缺乏信任,因此聚到小黑屋裡開個密謀會的可能性被排除了(一旦在小黑屋裡被胖虎綁架了怎麼辦?);其次由於沒有盟主,四個人的意見都會被同等的看重。在這種情況下,四位將軍只能通過信使在各自營地之間傳遞消息,來商定進攻時間了。比如大雄覺得早上6點是發動進攻的好時機,他就會派信使將自己的意見告訴胖虎、小夫和靜香,與此同時,胖虎可能認為晚上9點發動突襲更好,小夫更喜歡下午3點出擊,而靜香希望是上午10點,他們三人也會在同一時間派出自己的信使。這樣一來,在第一輪通信結束後,四位將軍每個人都有了四個可供選擇的進攻時間,他們各自要在下一輪通信中把自己選定的時間告知另外三人。由於四個人的決策都是獨立做出的,因此最終的選擇結果就有256種可能,而只有當三人以上都恰好選擇了同一時間的時候,共識才被達成,而這樣的結果才64種,也就是說達成共識的概率僅為1/4。這還只是四位將軍的情況,如果將軍的人數是10人,100人,1000人呢?我們稍加計算就可以發現隨著人數的增加,達成共識的希望會變得越來越渺茫。

把上面例子中的將軍換成計算機網路中的節點,把信使換成節點之間的通信,把進攻時間換成需要達成共識的信息,你就可以理解共識問題所描述的困境了。達成共識的能力對於一個支付系統來說重要性不言而喻,如果你給家裡匯了一筆錢買車,第二天去銀行核實的時候櫃台告訴你「關於你匯了多少錢的問題,我們的系統里有三個版本的記錄」,這樣的銀行你顯然是不敢把錢存進去的。在比特幣出現之前共識問題是很難被完美解決的,要保證達成共識就需要採用集中式系統(除非節點滿足特定條件),要想去中心化共識就無法保證。那麼區塊鏈技術又是如何解決這一難題的呢?(關注公眾號weoption,回復「區塊鏈」,可查看全文。)

㈦ 區塊鏈技術開發到底是什麼原理

狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。

廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。

工作原理

區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。 其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等基礎數據和基本演算法;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基於時間戳的鏈式區塊結構、分布式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。

㈧ 如何使用區塊鏈保護我的數據

區塊鏈只是一種使數據不可變的技術,即使數據存儲在惡意設備或提供商中也是如此。 本質上它是分布式系統中的拜占庭問題,因此三個至少限制性地超過系統參與者的 2/3 正確。 但它只是試圖防止您的數據被更改。網路下就可以了。 如果你希望保護你的數據,可以使用泰科雲techcloudpro區塊鏈安全以保護數據不竊取 。

㈨ 區塊鏈技術發展現狀與展望

區塊鏈技術發展現狀與展望
區塊鏈技術起源於2008年由化名為 「中本聰」 (Satoshi Nakamoto)的學者在密碼學郵件組發表的奠基性論文《比特幣:一種點對點電子現金系統》。近兩年來,區塊鏈技術的研究與應用呈現出爆發式增長態勢,被認為是繼大型機、個人電腦、互聯網、移動/社交網路之後計算範式的第五次顛覆式創新,是人類信用進化史上繼血親信用、貴金屬信用、央行紙幣信用之後的第四個里程碑。區塊鏈技術是下一代雲計算的雛形,有望像互聯網一樣徹底重塑人類社會活動形態,並實現從目前的信息互聯網向價值互聯網的轉變。區塊鏈的技術特點

區塊鏈具有去中心化、時序數據、集體維護、可編程和安全可信等特點。 去中心化:區塊鏈數據的驗證、記賬、存儲、維護和傳輸等過程均是基於分布式系統結構,採用純數學方法而不是中心機構來建立分布式節點間的信任關系,從而形成去中心化的可信任的分布式系統; 時序數據:區塊鏈採用帶有時間戳的鏈式區塊結構存儲數據,從而為數據增加了時間維度,具有極強的可驗證性和可追溯性; 集體維護:區塊鏈系統採用特定的經濟激勵機制來保證分布式系統中所有節點均可參與數據區塊的驗證過程(如比特幣的「挖礦」過程),並通過共識演算法來選擇特定的節點將新區塊添加到區塊鏈; 可編程:區塊鏈技術可提供靈活的腳本代碼系統,支持用戶創建高級的智能合約、貨幣或其它去中心化應用; 安全可信:區塊鏈技術採用非對稱密碼學原理對數據進行加密,同時藉助分布式系統各節點的工作量證明等共識演算法形成的強大算力來抵禦外部攻擊、保證區塊鏈數據不可篡改和不可偽造,因而具有較高的安全性。區塊鏈與比特幣 比特幣是迄今為止最為成功的區塊鏈應用場景,區塊鏈技術為比特幣系統解決了數字加密貨幣領域長期以來所必需面對的雙重支付問題和拜占庭將軍問題。與傳統中心機構(如中央銀行)的信用背書機制不同的是,比特幣區塊鏈形成的是軟體定義的信用,這標志著中心化的國家信用向去中心化的演算法信用的根本性變革。近年來,比特幣憑借其先發優勢,目前已經形成體系完備的涵蓋發行、流通和金融衍生市場的生態圈與產業鏈,這也是其長期占據絕大多數數字加密貨幣市場份額的主要原因。區塊鏈的發展脈絡與趨勢
區塊鏈技術是具有普適性的底層技術框架,可以為金融、經濟、科技甚至政治等各領域帶來深刻變革。按照目前區塊鏈技術的發展脈絡,區塊鏈技術將會經歷以可編程數字加密貨幣體系為主要特徵的區塊鏈1.0模式,以可編程金融系統為主要特徵的區塊鏈2.0模式和以可編程社會為主要特徵的區塊鏈3.0模式。然而,上述模式實際上是平行而非演進式發展的,區塊鏈1.0模式的數字加密貨幣體系仍然遠未成熟,距離其全球貨幣一體化的願景實際上更遠、更困難。目前,區塊鏈領域已經呈現出明顯的技術和產業創新驅動的發展態勢,相關學術研究嚴重滯後、亟待跟進。區塊鏈的基礎模型與關鍵技術
一般說來,區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基於時間戳的鏈式區塊結構、分布式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。區塊鏈技術的應用場景
區塊鏈技術不僅可以成功應用於數字加密貨幣領域,同時在經濟、金融和社會系統中也存在廣泛的應用場景。根據區塊鏈技術應用的現狀,本文將區塊鏈目前的主要應用籠統地歸納為數字貨幣、數據存儲、數據鑒證、金融交易、資產管理和選舉投票共六個場景:數字貨幣:以比特幣為代表,本質上是由分布式網路系統生成的數字貨幣,其發行過程不依賴特定的中心化機構。數據存儲:區塊鏈的高冗餘存儲、去中心化、高安全性和隱私保護等特點使其特別適合存儲和保護重要隱私數據,以避免因中心化機構遭受攻擊或許可權管理不當而造成的大規模數據丟失或泄露。數據鑒證:區塊鏈數據帶有時間戳、由共識節點共同驗證和記錄、不可篡改和偽造,這些特點使得區塊鏈可廣泛應用於各類數據公證和審計場景。例如,區塊鏈可以永久地安全存儲由政府機構核發的各類許可證、登記表、執照、證明、認證和記錄等。金融交易:區塊鏈技術與金融市場應用有非常高的契合度。區塊鏈可以在去中心化系統中自發地產生信用,能夠建立無中心機構信用背書的金融市場,從而在很大程度上實現了「金融脫媒」;同時利用區塊鏈自動化智能合約和可編程的特點,能夠極大地降低成本和提高效率。資產管理:區塊鏈能夠實現有形和無形資產的確權、授權和實時監控。無形資產管理方面已經廣泛應用於知識產權保護、域名管理、積分管理等領域;有形資產管理方面則可結合物聯網技術形成「數字智能資產」,實現基於區塊鏈的分布式授權與控制。選舉投票:區塊鏈可以低成本高效地實現政治選舉、企業股東投票等應用,同時基於投票可廣泛應用於博彩、預測市場和社會製造等領域。區塊鏈技術的現存問題
安全性威脅是區塊鏈迄今為止所面臨的最重要的問題。其中,基於PoW共識過程的區塊鏈主要面臨的是51%攻擊問題,即節點通過掌握全網超過51%的算力就有能力成功篡改和偽造區塊鏈數據。其他問題包括新興計算技術破解非對稱加密機制的潛在威脅和隱私保護問題等。 區塊鏈效率也是制約其應用的重要因素。區塊鏈要求系統內每個節點保存一份數據備份,這對於日益增長的海量數據存儲來說是極為困難的。雖然輕量級節點可部分解決此問題,但適用於更大規模的工業級解決方案仍有待研發。比特幣區塊鏈目前每秒僅能處理7筆交易,且交易確認時間一般為10分鍾,這極大地限制了區塊鏈在大多數金融系統高頻交易場景中的應用。 PoW共識過程高度依賴區塊鏈網路節點貢獻的算力,這些算力主要用於解決SHA256哈希和隨機數搜索,除此之外並不產生任何實際社會價值,因而一般意義上認為這些算力資源是被「浪費」掉了,同時被浪費掉的還有大量的電力資源。如何能有效匯集分布式節點的網路算力來解決實際問題,是區塊鏈技術需要解決的重要問題。 區塊鏈網路作為去中心化的分布式系統,其各節點在交互過程中不可避免地會存在相互競爭與合作的博弈關系,例如比特幣礦池的區塊截留攻擊博弈等。區塊鏈共識過程本質上是眾包過程,如何設計激勵相容的共識機制,使得去中心化系統中的自利節點能夠自發地實施區塊數據的驗證和記賬工作,並提高系統內非理性行為的成本以抑制安全性攻擊和威脅,是區塊鏈有待解決的重要科學問題。智能合約與區塊鏈技術
智能合約是一組情景-應對型的程序化規則和邏輯,是部署在區塊鏈上的去中心化、可信共享的程序代碼。通常情況下,智能合約經各方簽署後,以程序代碼的形式附著在區塊鏈數據(例如一筆比特幣交易)上,經P2P網路傳播和節點驗證後記入區塊鏈的特定區塊中。智能合約封裝了預定義的若干狀態及轉換規則、觸發合約執行的情景(如到達特定時間或發生特定事件等)、特定情景下的應對行動等。區塊鏈可實時監控智能合約的狀態,並通過核查外部數據源、確認滿足特定觸發條件後激活並執行合約。 智能合約對於區塊鏈技術來說具有重要的意義。一方面,智能合約是區塊鏈的激活器,為靜態的底層區塊鏈數據賦予了靈活可編程的機制和演算法,並為構建區塊鏈2.0和3.0時代的可編程金融系統與社會系統奠定了基礎;另一方面,智能合約的自動化和可編程特性使其可封裝分布式區塊鏈系統中各節點的復雜行為,成為區塊鏈構成的虛擬世界中的軟體代理機器人,這有助於促進區塊鏈技術在各類分布式人工智慧系統中的應用,使得基於區塊鏈技術構建各類去中心化應用(Decentralized application, Dapp)、去中心化自治組織(Decentralized Autonomous Organization, DAO)、去中心化自治公司(Decentralized Autonomous Corporation, DAC)甚至去中心化自治社會(Decentralized Autonomous Society, DAS)成為可能。 區塊鏈和智能合約技術的主要發展趨勢是由自動化向智能化方向演化。現存的各類智能合約及其應用的本質邏輯大多仍是根據預定義場景的「 IF-THEN」類型的條件響應規則,能夠滿足目前自動化交易和數據處理的需求。未來的智能合約應具備根據未知場景的「 WHAT-IF」推演、計算實驗和一定程度上的自主決策功能,從而實現由目前「自動化」合約向真正的「智能」合約的飛躍。區塊鏈驅動的平行社會
近年來,基於CPSS(Cyber-Physical-SocialSystems)的平行社會已現端倪,其核心和本質特徵是虛實互動與平行演化。區塊鏈是實現CPSS平行社會的基礎架構之一,其主要貢獻是為分布式社會系統和分布式人工智慧研究提供了一套行之有效的去中心化的數據結構、交互機制和計算模式,並為實現平行社會奠定了堅實的數據基礎和信用基礎。 就數據基礎而言,管理學家愛德華戴明曾說過:除了上帝,所有人必須以數據說話。然而在中心化社會系統中,數據通常掌握在政府和大型企業等「少數人」手中,為少數人「說話」,其公正性、權威性甚至安全性可能都無法保證。區塊鏈數據則通過高度冗餘的分布式節點存儲,掌握在「所有人」手中,能夠做到真正的「數據民主」。就信用基礎而言,中心化社會系統因其高度工程復雜性和社會復雜性而不可避免地會存在「默頓系統」的特性,即不確定性、多樣性和復雜性,社會系統中的中心機構和規則制定者可能會因個體利益而出現失信行為;區塊鏈技術有助於實現軟體定義的社會系統,其基本理念就是剔除中心化機構、將不可預測的行為以智能合約的程序化代碼形式提前部署和固化在區塊鏈數據中,事後不可偽造和篡改並自動化執行,從而在一定程度上能夠將「默頓」社會系統轉化為可全面觀察、可主動控制、可精確預測的「牛頓」社會系統。 ACP(人工社會Artificial Societies、計算實驗Computational Experiments和平行執行ParallelExecution)方法是迄今為止平行社會管理領域唯一成體系化的、完整的研究框架,是復雜性科學在新時代平行社會環境下的邏輯延展和創新。 ACP方法可以自然地與區塊鏈技術相結合,實現區塊鏈驅動的平行社會管理。首先,區塊鏈的P2P 組網、分布式共識協作和基於貢獻的經濟激勵等機制本身就是分布式社會系統的自然建模,其中每個節點都將作為分布式系統中的一個自主和自治的智能體(agent)。隨著區塊鏈生態體系的完善,區塊鏈各共識節點和日益復雜與自治的智能合約將通過參與各種形式的Dapp,形成特定組織形式的DAC和DAO,最終形成DAS,即ACP中的人工社會。其次,智能合約的可編程特性使得區塊鏈可進行各種「 WHAT-IF」 類型的虛擬實驗設計、場景推演和結果評估,通過這種計算實驗過程獲得並自動或半自動地執行最優決策。最後,區塊鏈與物聯網等相結合形成的智能資產使得聯通現實物理世界和虛擬網路空間成為可能,並可通過真實和人工社會系統的虛實互動和平行調諧實現社會管理和決策的協同優化。不難預見,未來現實物理世界的實體資產都登記為鏈上智能資產的時候,就是區塊鏈驅動的平行社會到來之時。

㈩ 區塊鏈的核心技術是什麼

簡單來說,區塊鏈是一個提供了拜占庭容錯、並保證了最終一致性的分布式資料庫;從數據結構上看,它是基於時間序列的鏈式數據塊結構;從節點拓撲上看,它所有的節點互為冗餘備份;從操作上看,它提供了基於密碼學的公私鑰管理體系來管理賬戶。
或許以上概念過於抽象,我來舉個例子,你就好理解了。
你可以想像有 100 台計算機分布在世界各地,這 100 台機器之間的網路是廣域網,並且,這 100 台機器的擁有者互相不信任。
那麼,我們採用什麼樣的演算法(共識機制)才能夠為它提供一個可信任的環境,並且使得:
節點之間的數據交換過程不可篡改,並且已生成的歷史記錄不可被篡改;
每個節點的數據會同步到最新數據,並且會驗證最新數據的有效性;
基於少數服從多數的原則,整體節點維護的數據可以客觀反映交換歷史。
區塊鏈就是為了解決上述問題而產生的技術方案。
二、區塊鏈的核心技術組成
無論是公鏈還是聯盟鏈,至少需要四個模塊組成:P2P 網路協議、分布式一致性演算法(共識機制)、加密簽名演算法、賬戶與存儲模型。
1、P2P 網路協議
P2P 網路協議是所有區塊鏈的最底層模塊,負責交易數據的網路傳輸和廣播、節點發現和維護。
通常我們所用的都是比特幣 P2P 網路協議模塊,它遵循一定的交互原則。比如:初次連接到其他節點會被要求按照握手協議來確認狀態,在握手之後開始請求 Peer 節點的地址數據以及區塊數據。
這套 P2P 交互協議也具有自己的指令集合,指令體現在在消息頭(Message Header) 的 命令(command)域中,這些命令為上層提供了節點發現、節點獲取、區塊頭獲取、區塊獲取等功能,這些功能都是非常底層、非常基礎的功能。如果你想要深入了解,可以參考比特幣開發者指南中的 Peer Discovery 的章節。
2、分布式一致性演算法
在經典分布式計算領域,我們有 Raft 和 Paxos 演算法家族代表的非拜占庭容錯演算法,以及具有拜占庭容錯特性的 PBFT 共識演算法。
如果從技術演化的角度來看,我們可以得出一個圖,其中,區塊鏈技術把原來的分布式演算法進行了經濟學上的拓展。
在圖中我們可以看到,計算機應用在最開始多為單點應用,高可用方便採用的是冷災備,後來發展到異地多活,這些異地多活可能採用的是負載均衡和路由技術,隨著分布式系統技術的發展,我們過渡到了 Paxos 和 Raft 為主的分布式系統。
而在區塊鏈領域,多採用 PoW 工作量證明演算法、PoS 權益證明演算法,以及 DPoS 代理權益證明演算法,以上三種是業界主流的共識演算法,這些演算法與經典分布式一致性演算法不同的是,它們融入了經濟學博弈的概念,下面我分別簡單介紹這三種共識演算法。
PoW: 通常是指在給定的約束下,求解一個特定難度的數學問題,誰解的速度快,誰就能獲得記賬權(出塊)權利。這個求解過程往往會轉換成計算問題,所以在比拼速度的情況下,也就變成了誰的計算方法更優,以及誰的設備性能更好。
PoS: 這是一種股權證明機制,它的基本概念是你產生區塊的難度應該與你在網路里所佔的股權(所有權佔比)成比例,它實現的核心思路是:使用你所鎖定代幣的幣齡(CoinAge)以及一個小的工作量證明,去計算一個目標值,當滿足目標值時,你將可能獲取記賬權。
DPoS: 簡單來理解就是將 PoS 共識演算法中的記賬者轉換為指定節點數組成的小圈子,而不是所有人都可以參與記賬。這個圈子可能是 21 個節點,也有可能是 101 個節點,這一點取決於設計,只有這個圈子中的節點才能獲得記賬權。這將會極大地提高系統的吞吐量,因為更少的節點也就意味著網路和節點的可控。
3、加密簽名演算法
在區塊鏈領域,應用得最多的是哈希演算法。哈希演算法具有抗碰撞性、原像不可逆、難題友好性等特徵。
其中,難題友好性正是眾多 PoW 幣種賴以存在的基礎,在比特幣中,SHA256 演算法被用作工作量證明的計算方法,也就是我們所說的挖礦演算法。
而在萊特幣身上,我們也會看到 Scrypt 演算法,該演算法與 SHA256 不同的是,需要大內存支持。而在其他一些幣種身上,我們也能看到基於 SHA3 演算法的挖礦演算法。以太坊使用了 Dagger-Hashimoto 演算法的改良版本,並命名為 Ethash,這是一個 IO 難解性的演算法。
當然,除了挖礦演算法,我們還會使用到 RIPEMD160 演算法,主要用於生成地址,眾多的比特幣衍生代碼中,絕大部分都採用了比特幣的地址設計。
除了地址,我們還會使用到最核心的,也是區塊鏈 Token 系統的基石:公私鑰密碼演算法。
在比特幣大類的代碼中,基本上使用的都是 ECDSA。ECDSA 是 ECC 與 DSA 的結合,整個簽名過程與 DSA 類似,所不一樣的是簽名中採取的演算法為 ECC(橢圓曲線函數)。
從技術上看,我們先從生成私鑰開始,其次從私鑰生成公鑰,最後從公鑰生成地址,以上每一步都是不可逆過程,也就是說無法從地址推導出公鑰,從公鑰推導到私鑰。
4、賬戶與交易模型
從一開始的定義我們知道,僅從技術角度可以認為區塊鏈是一種分布式資料庫,那麼,多數區塊鏈到底使用了什麼類型的資料庫呢?
我在設計元界區塊鏈時,參考了多種資料庫,有 NoSQL 的 BerkelyDB、LevelDB,也有一些幣種採用基於 SQL 的 SQLite。這些作為底層的存儲設施,多以輕量級嵌入式資料庫為主,由於並不涉及區塊鏈的賬本特性,這些存儲技術與其他場合下的使用並沒有什麼不同。
區塊鏈的賬本特性,通常分為 UTXO 結構以及基於 Accout-Balance 結構的賬本結構,我們也稱為賬本模型。UTXO 是「unspent transaction input/output」的縮寫,翻譯過來就是指「未花費的交易輸入輸出」。
這個區塊鏈中 Token 轉移的一種記賬模式,每次轉移均以輸入輸出的形式出現;而在 Balance 結構中,是沒有這個模式的。

熱點內容
上海atm數字貨幣取款機 發布:2025-06-24 04:10:48 瀏覽:594
數字貨幣合約周期 發布:2025-06-24 04:10:14 瀏覽:763
堡壘礦機藏寶圖 發布:2025-06-24 03:00:55 瀏覽:126
賣eth幣手續費多少 發布:2025-06-24 01:49:34 瀏覽:666
gtx960挖eth 發布:2025-06-24 01:45:14 瀏覽:336
元宇宙200 發布:2025-06-24 01:32:22 瀏覽:307
trx4燈光怎麼控制 發布:2025-06-24 01:22:13 瀏覽:726
螞蟻A3礦機是挖什麼幣 發布:2025-06-24 00:52:47 瀏覽:437
和家長合約怎麼寫 發布:2025-06-24 00:52:19 瀏覽:248
trx850出售 發布:2025-06-24 00:51:29 瀏覽:224