㈠ 什麼是區塊鏈最核心的內容
區塊鏈最核心的內容是合約層
1、去中心化
這是區塊鏈顛覆性特點,不存在任何中心機構和中心伺服器,所有交易都發生在每個人電腦或手機上安裝的客戶端應用程序中。
實現點對點直接交互,既節約資源,使交易自主化、簡易化,又排除被中心化代理控制的風險。
2、開放性
區塊鏈可以理解為一種公共記賬的技術方案,系統是完全開放透明的,
賬簿對所有人公開,實現數據共享,任何人都可以查賬。
區塊鏈是透明共享的總帳本,這帳本在全網公開,你拿到它的公鑰,你就知道它帳裡面到底是有多少錢,所以任何一次的價值轉換,全世界有興趣的人都能在旁邊看著你,轉換是由礦工來幫你確認的,所以它是一個互聯網共識機制。
3、不可撤銷、不可篡改和加密安全性
區塊鏈採取單向哈希演算法,每個新產生的區塊嚴格按照時間線形順序推進,時間的不可逆性、不可撤銷導致任何試圖入侵篡改區塊鏈內數據信息的行為易被追溯,導致被其他節點的排斥,造假成本極高,從而可以限制相關不法行為。
(1)區塊鏈賬本協議擴展閱讀:
一,概念定義
什麼是區塊鏈?從科技層面來看,區塊鏈涉及數學、密碼學、互聯網和計算機編程等很多科學技術問題。從應用視角來看,簡單來說,區塊鏈是一個分布式的共享賬本和資料庫,具有去中心化、不可篡改、全程留痕、可以追溯、集體維護、公開透明等特點。這些特點保證了區塊鏈的「誠實」與「透明」,為區塊鏈創造信任奠定基礎。而區塊鏈豐富的應用場景,基本上都基於區塊鏈能夠解決信息不對稱問題,實現多個主體之間的協作信任與一致行動[7]。
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。區塊鏈(Blockchain),是比特幣的一個重要概念,它本質上是一個去中心化的資料庫。
二,特徵
去中心化。區塊鏈技術不依賴額外的第三方管理機構或硬體設施,沒有中心管制,除了自成一體的區塊鏈本身,通過分布式核算和存儲,各個節點實現了信息自我驗證、傳遞和管理。去中心化是區塊鏈最突出最本質的特徵。
開放性。區塊鏈技術基礎是開源的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人開放,任何人都可以通過公開的介面查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。
獨立性。基於協商一致的規范和協議(類似比特幣採用的哈希演算法等各種數學演算法),整個區塊鏈系統不依賴其他第三方,所有節點能夠在系統內自動安全地驗證、交換數據,不需要任何人為的干預。
安全性。只要不能掌控全部數據節點的51%,就無法肆意操控修改網路數據,這使區塊鏈本身變得相對安全,避免了主觀人為的數據變更。
匿名性。除非有法律規范要求,單從技術上來講,各區塊節點的身份信息不需要公開或驗證,信息傳遞可以匿名進行
㈡ 到底什麼是區塊鏈區塊鏈就是虛擬幣
我來通俗的給你講一下區塊鏈吧,不需 用什麼高深的專業術語,因為那樣太難懂了,我給你打個比方吧,保證你一看就懂。
中國的麻將可以理解成區塊鏈,假如你們四個ABCD要去打麻將,誰招呼的呢?A招呼的,那麼A就是這個區塊的發起者,A負責了找麻將館,組織人員A可以邀請BCD,也可以是B邀請C、C邀請D,這沒關系。
abcd湊在了一家麻將館,開始打麻將,麻將機洗牌、abcd摸牌、打牌的過程可以理解成區塊鏈中的類似於比特幣的挖礦階段。
每個人手裡牌都是不一樣的,就相當於區塊裡面的演算法,但是有一個目標,都是為了胡去的,其中,A胡了,bcd啥也沒說,一看就都知道A贏了,這叫區塊鏈中的共識機制。
A胡了,A推倒麻將後,bcd都知道A怎麼糊的,並且記在了心裡,假如A這把贏了10塊錢,其中AbCD都知道A贏了10塊錢,這就叫區塊鏈裡面的分布式記賬。
玩麻將的都知道怎樣的麻將排列就可以胡,大家也都知道什麼牌可以翻倍,那麼這就可以理解為區塊鏈中的智能合約。
A最後胡牌的牌面,在A推倒後大家都知道了,誰也不能篡改這個結果,因為大家都看著呢,這就可以理解成區塊鏈之中的不可篡改性。
A宣布胡了之後,大家並沒有再去找另外一個人,比如E、F、G...來驗證,B贏了後也是這樣...沒有一個監管機構可以控制他們,都是他們自己管自己,這就是區塊鏈裡面的去中心化。
以此類推,abcd這四個哥們玩了一天的麻將,每一把的輸贏abcd都記錄了下來,不管他們用什麼方式,腦子記憶也好,視頻記錄也好,筆記也好,他們打的越多,越能體現區塊鏈的不可篡改性、去中心化性、分布式記賬、共識性... ...
講到這里,你基本上就懂了啥是區塊鏈了吧,是不很簡單!
第二個問題 ,區塊鏈並不是虛擬貨幣,虛擬貨幣只是運用了區塊鏈技術的一部分。
很多人認為虛擬貨幣就是區塊鏈,比特幣就是區塊鏈,這其實是錯誤的。只是比特幣的聞名讓區塊鏈進入了大眾視野而已。
中本聰運用區塊鏈技術發明了比特幣,並且他將比特幣定義為一種點對點的電子現金系統,「電子現金」一詞表明中本聰想要發明的並不僅僅是一個支付系統,而是一套有著獨立貨幣哲學的貨幣系統。
如今炒的火熱的虛擬貨幣,還有挖礦等,被很多部門和國家所抵制,其根本目的並不是說浪費資源、電力等,而是因為擁有區塊鏈技術的虛擬貨幣已經顛覆了傳統金融,很容易造成傳統金融的奔潰,我之前的問答里有講過這方面的內容,這里就不累贅了。
可以說,中本聰及他發明的比特幣是區塊鏈的先驅,是中本聰把區塊鏈技術帶進了大家的視野。區塊鏈技術的應用還是很廣泛的,金融、醫療、服務業、大數據安全...
說一說這個大數據吧,眾所周知,因為大數據安全最近的滴滴事件影響還是蠻大的,如果是運用區塊鏈技術裡面的去中心化,個人數據可以通過區塊鏈得到自己保存自己的數據,何來的數據泄露呢?現在 社會 ,隨著 科技 的進步,只要是你玩手機連網的,你就沒有什麼數據安全所言,你的個人信息早已經被泄漏的體無完膚了,所以說區塊鏈技術是 社會 進步的必然趨勢。
關於區塊鏈就講這些吧,希望你可以從中學到一些東西,大家平時也可以多關注關注區塊鏈的技術,提高自己的認知水平。(個人純手工碼字)
區塊鏈是一種底層技術,這個技術可以發行虛擬幣
區塊鏈是一種技術,是一種分布式去中心化的技術,這種技術可以應用到存儲。 區塊鏈並不是虛擬幣,虛擬幣只是用區塊鏈技術做的數字貨幣,現在區塊鏈與數字貨幣的聯系打個比方,比如你在某鏈上做一個dapp的應用商城,那麼你就可以發行一種關於這個商城的代幣。
區塊鏈與虛擬幣真正的聯系現在追求的是區塊鏈技術的應用,你開發一條公鏈,在這條公鏈上建設很多商城,金融,defi,房地產, 旅遊 這樣的dapp,這樣這條公鏈才有了價值,隨之這條公鏈發型的代幣有了價值,就好比現在的以太坊,pi network
現在網上有太多的所謂「區塊鏈數字貨幣」,我們看虛擬幣是看它所在的公鏈可以解決什麼問題,有什麼價值,而不是盲目地去炒作,說區塊鏈是底層技術的,我想是只知道區塊鏈的皮毛。
如果你覺得這篇文章對你有幫助,就請你用發財的小手點一下關注
作者:冷冷的觀點
區塊鏈是一種技術,比特幣這樣的虛擬貨幣是區塊鏈上應用產物。我的主頁有跟多的視頻解釋哦。
2008年由「中本聰」第一次在比特幣中提出了區塊鏈的概念, 比特幣是一種點對點的電子現金系統 ,是最早也是最有名的區塊鏈實施項目。
一般來說,區塊鏈是一個由分布式網路中的節點維護的不可篡改的賬本。這些節點通過執行被共識協議驗證過的交易來各自維護一個賬本的副本,賬本以區塊的形式存在,每個區塊通過哈希和之前的區塊相連。
區塊鏈不等於虛擬幣
區塊鏈不是虛擬幣,虛擬幣是區塊鏈技術的一種應用。這么說吧,區塊鏈就是互聯網,虛擬幣是搜狐網或者騰訊網。區塊鏈是基礎設施,也是未來網路的基礎架構,是中國的國家戰略技術,目前已經被推到風口浪尖,下一步的信息化都是基於區塊鏈的。
區塊鏈就是一個分布式數據存儲,點對點傳輸,共識機制的一種計算機模型,在通俗一點理解,區塊鏈就是一個去中心化的資料庫,這一項技術怎麼用價值體現出來?在共識機制下形成了一個對區塊鏈這種技術的東西給一個特定的代幣,就是BTC
區塊鏈:區塊鏈就是一個分布式賬本,通過去中心化、去信任的方式集中維護一個可靠的資料庫。以支付寶交易為例,傳統的交易方式是買家在淘寶平台購買商品,然後將購買商品的錢打到支付寶這個中介平台,待賣方發貨以及買方確認收到貨之後,再由買方通知支付寶將錢打到賣方賬戶。但區塊鏈技術支撐的交易模式完全不同,買家和賣家可直接進行交易,不需要通過任何中間平台做信用交易,交易後系統通過廣播的形式將交易信息發布到P2P網路中,所有收到交易信息的節點或主機會在確認信息無誤後記錄下這筆交易。虛擬幣:互聯網上的虛擬貨幣,如比特幣(BTC)、福源幣(FTC)萊特貨幣(LTC)等,比特幣是一種由開源的P2P軟體產生的電子貨幣,也有人將比特幣意譯為「比特金」,是一種網路虛擬貨幣。主要用於互聯網金融投資。
區塊鏈是一種新型互聯網應用技術,其中運用分布式存儲、密碼學、智能合約、共識演算法等新興技術的應用,可以說是對現有的互聯網協議進行創新的一種新的數據間的傳輸方法。目前區塊鏈技術在不斷迭代
1、區塊鏈1.0,象徵比特幣的誕生;正式有了比特幣才有了區塊鏈技術的發展
2、區塊鏈2.0,以太坊去中心化應用平台,以太坊引入智能合約的應用,代表著區塊鏈技術新時代的開始;現在所有人的都可以在以太坊上創建項目,這幾年也出現了不少好項目的落地
3、區塊鏈3.0,DeFi開啟去中心化金融時代,DeFi項目利用智能合約技術實現了傳統金融機構的各種功能,如衍生品、借貸、交易、理財、 資產管理、和保險等。目前對於DEFI的褒貶不一,這需要時間去驗證
而區塊鏈雖然起源於比特幣,就像互聯網剛出現時的第一台電腦,而比特幣主要用於是礦工的挖礦獎勵
㈢ 區塊鏈如何更好的保證電子合同效力
電子合同本身就是一種電子數據,具有易篡改與易刪除等安全缺陷,不利於該服務的長期發展。為了保證用戶在電子合同平台上簽署的電子文件與電子合同的法律效力,需要對電子合同簽署的全過程進行存證。
在根據區塊鏈存證技術實現的「法鏈」應用中,平台將對電子合同簽署的關鍵環節進行存檔,並將關鍵信息與數據分布存儲到整個區塊鏈當中,從而實現電子合同的全流程存證。
深究其實現原理,區塊鏈通過深度使用密碼學演算法、特別設計的數據結構和多方參與的共識演算法,由機器演算法來解決多方交易記錄的一致性、可靠存儲和防篡改問題,與電子數據存證有著天然的強關聯。
首先,電子合同簽約記錄存儲在由多方共同維護的共享賬本上,不可篡改,不可抵賴,當然也不會丟失。
其次,電子合同文本、電子合同要素加密存儲,包括電子合同參與人也採取加密存儲,只有參與人才可以解密查看,在數據上保護簽約方隱私。
再次,機器按照預定義的規則(智能合約)嚴格執行,不再僅靠與第三方一紙協議保證。基於區塊鏈的KYC服務自動檢查驗證證書有效性和身份,在保證隱私的基礎上確保參與人身份有效真實。
目前,我們的電子合同平台上所簽的電子合同都通過區塊鏈技術實現了電子文件數字指紋的分布式存證,進一步強化了平台電子合同的法律效力。
㈣ 區塊鏈的概念怎麼樣
區塊鏈的英文叫Blockchain,翻譯成中文等於說是直譯過來的,就好像互聯網一樣。區塊鏈其實是一個底層協議,大致地說,它有幾塊:
第一個叫分布式賬本;第二個叫去中心化信任;第三個叫非對稱加密;第四個叫時間戳;第五個叫智能合約。這五大底層技術,說起來都有點兒玄大家聽起來似懂非懂。
比方說支付寶為什麼那麼強大,因為它解決了一個網購的信任問題。
這個錢不是買家先給了賣家了,是先給了支付寶,然後你收貨驗證無誤了,這個錢OK,才轉到這個賣家的賬上。支付寶起了一個中介的作用。
當然,支付寶不是馬雲的發明,最早PayPal創始人之一,也是埃隆·馬斯克,這是他的第一桶金,用互聯網解決中心化的信任。
㈤ 區塊鏈的"區塊"是何含義
「區塊鏈,就相當於這個賬本,區塊就相當於這個賬本的一頁,區塊中所承載的信息,就是這一頁上記載的交易內容。區塊鏈是一塊一塊的,每一塊寫滿了交易記錄,連在一起成了一條鏈就是區塊鏈。」
以比特幣為例,大約每十分鍾就行一次「算力競賽」來競爭這個記賬的權利。就好比說,你的算力牛逼,算得多,就像肌肉更結實,更會打,大家都服你,讓你來記這個帳,即向區塊鏈這個總賬本寫入一個區塊(注意不是區塊里的內容)的權利。不過需要說明的一點是,計算能力只能決定贏得競爭的概率。就好比說,一共有若干張彩票,算力多的可以買更多張提高中獎概率,然而買得多的人,也不一定最後就中獎了
區塊鏈即為一個個用這樣的計算力保障的數據塊鏈條。從第一塊開始,每一個區塊依照一定規則收集數據,然後將這些數據附上一個值,使得形成的數據塊經過類似的單向函數計算後的結果落到一定范圍內。通過估算全網的算力以及控制結果范圍的大小,來保障符合要求數據塊在足夠長的時間內才能被找到。這個計算結果會被下一個區塊包含,而這樣形成的鏈式數據結構則稱為區塊鏈。
每一個小賬本被稱為區塊,每一個不同的區塊鏈協議(產生不同的加密貨幣)都會規定每一個區塊的大小(最初比特幣為1M)賬本組成區塊,區塊構成鏈表,區塊的頭包含前一塊的哈希值,這就是區塊鏈。如此一來,任何人就不能隨意修改其中的內容,或者交換順序。如果你這么做,意味著你需要重新計算所有的特殊數字。
規定,允許世界上的每一個人建造區塊。每一個新建區塊的人(找到了這個特殊數字 - SHA256值有30個零)都能獲得獎勵,對於新建區塊的這部分人(礦工)來說:
1.沒有發送者信息,不需要簽名
2.每一個新區塊都會給整個幣種增加新的虛擬(加密)貨幣
3.新建區塊的過程又被稱為「挖礦」:需要大量工作量並且可以向整個經濟體注入新的貨幣
4.挖礦的工作是:接受交易信息,建造區塊,把區塊廣播出去,然後得到新的錢作為獎勵
對每個礦工來說,每個區塊就像一個小彩票,所有人都在拚命快速猜數字,直到有一個幸運兒找到了一個特殊數字,使得整個區塊的哈希值開頭有許多個零,就能得到獎勵。我記得有一個知乎答主給了一個形象的比喻,區塊鏈就像一個擁有貌美如花女兒(區塊)的國王,有很多的青年翹首以盼,而國王的方法是出了一道很難得題目讓所有的青年計算(學習改變人生),誰算的快(在計算哈希值過程也可能是運氣好)就能抱得美人歸
對於想用這個系統來收付款的用戶來說,他們不需要收聽所有的交易,而只要收聽礦工們廣播出來的區塊,然後更新到自己保存的區塊鏈中就可以了
「區塊」也可以想像為一個盒子,區塊里放著一些數字貨幣以及一張小紙條,小紙條上記錄了這十分鍾內產生的那唯一一筆交易信息, 比如說——「小A轉賬給了小B100元」;當然,這段信息肯定是被加密處理過的,為的就是保證只有小A和小B(通過他們手上的鑰匙)才有能力解讀裡面真正的內容。
這個神奇的區塊被創造出來之後,很快被埋在了地底下,至於埋在哪裡?沒有一個人不知道,需要所有計算機節點一起參與進來掘地三尺後才有可能找到(找到一個有效的工作量證明)。顯然,這是一件工作量巨大、成果隨機的事件。但是呢,對於計算機節點來說,一旦從地底下挖出這個區塊,他將獲得區塊內價值不菲的數字貨幣,以及「小A轉賬給了小B100元」過程中小A所支付的小費。同時,對於這個節點來說,也只有他才有權利真正記錄小紙條里的內容,這是一份榮耀,而其他節點相當於只能使用它的復製品,一個已經沒有數字貨幣加持的副本。當然這個神奇的區塊還有一些其他很特別的地方,
可以將計算機節點從地底下挖出區塊的過程叫做「挖礦」,剛才說了,這是一件工作量巨大、運氣成分較多、但收益豐厚的事兒。來自中國上海浦東新區張衡路上的一個節點突然跳出來很興奮的說:「 我挖到區塊了!裡面的小紙條都是有效的!獎勵歸我!」 。雖然此刻張衡路節點已經拿到了數字貨幣,但對於其他計算機節點來說,因為這裡面還涉及到其他一些利益瓜葛,他們不會選擇默認相信張衡路節點所說的話;基於陌生節點彼此不信任的原則,他們拿過張衡路節點所謂挖到的區塊(副本),開始校驗區塊內的小紙條信息是否真實有效等等。在區塊鏈世界裡,節點們正是通過校驗小紙條信息的准確性,或間接或直接判斷成功挖出區塊的節點是否撒謊。(如何定義小紙條信息真實有效,後面會講解,這里暫不做贅述)。在校驗過程中,各個節點們會直接通過下面兩個行為表達自己對張衡路節點的認同(准確無誤)和態度:停止已經進行了一半甚至80%的挖礦進程;將張衡路節點成功挖出的區塊(副本)追加到自己區塊鏈的末尾。你可以稍微有點困惑:停止可能已經執行了80%的挖礦行為,那之前80%的工作不是就白做了嘛?!然後,區塊鏈的末尾又是個什麼鬼東西?對於第一個困惑。我想說,你說的一點沒錯,但是沒辦法,現實就是這么殘酷,即便工作做了80%,那也得放棄,這80%的工作勞苦幾乎可以視為無用功,絕對的傷財勞眾。第二個困惑,區塊鏈和區塊鏈的末尾是什麼鬼?這里因為事先並沒有講清楚,但是你可以簡單想像一下:區塊是周期性不斷的產生和不斷的被挖出來,一個計算機節點可能事先已經執行了N次「從別人手上拿過區塊 -> 校驗小紙條有效性」的流程,肯定在自己的節點上早已經存放了N個區塊,這些區塊會按照時間順序整齊的一字排列成為一個鏈狀。沒錯,這個鏈條,就是你一直以來認為的那個區塊鏈。如果你還是不能夠理解,沒關系,文章後面還會有很多次機會深入研究。
進入到區塊內更微觀的世界裡一探究竟,看看小紙條到底是怎麼一回事,它的產生以及它終其一生的使命:發起交易的時候,發起人會收到一張小紙條,他需要將交易記錄比如說「盜盜轉賬給張三40元」寫在紙上。說來也神奇,當寫完的那一剎那,在小紙條的背面會自動將這段交易記錄格式化成至少包含了「輸入值」和「輸出值」這兩個重要欄位;「輸入值」用於記錄數字貨幣的有效來源,「輸出值」記錄著數字貨幣發往的對象。剛剛創建的小紙條立馬被標記成為「未確認」的小紙條。從地下成功挖出區塊並最終連接到區塊鏈里的小紙條一開始會被標記為「有效」。若這條有效的小紙條作為其他交易的輸入值被使用,那麼,這個有效的小紙條很快會被標記為「無效」。因為各種原因,區塊從鏈上斷開、丟棄,曾經這個區塊內被標記為「有效」的小紙條會被重新標記為「未確認」。區塊鏈裡面沒有賬戶余額的概念,你真正擁有的數字資產實際上是一段交易信息;通過簡單的加減法運算獲知你數字錢包里的余額。上面的1、2、3僅僅作為結論一開始強行灌輸給你的知識點,其中有幾個描述可能會有點繞,讓你覺得雲里霧里,只有了解整體區塊鏈你才能更全面認知其中奧妙。
區塊容量,比特幣從被創建時,或者說源代碼中規定了,區塊容量是1M。最初設計成1M的原因一方面,防止DOS攻擊。另一方面,當年中本聰在創建區塊鏈的時候的容量是32M,但是他通過一個說明為」Clear up「這樣毫不起眼的Commit把區塊容量改成了1M,為防止區塊鏈體積增長過快,為區塊容量這個問題添加了些神秘色彩。1M的容量意味著比特幣最大的處理交易數量在約2400(486882區塊1034.39的大小很接近了)。
區塊鏈說白了,就是一個分布式的記賬的一個小本本,用來記賬的一個工具,並且基於密碼學加密學的技術鋪墊,一旦數據交易記錄在區塊鏈這個本本上了,數據是不可篡改和抵賴的。互聯網是價值的傳遞,那區塊鏈呢就是信任的傳遞。在區塊鏈技術作為信用背書的前提下,區塊鏈中的各節點從各自單一的中心變為多方參與的統一多中心,不需要第三方機構的參與便可實現交易傳遞,效率提高。
㈥ 區塊鏈 --- 共識演算法
PoW演算法是一種防止分布式服務資源被濫用、拒絕服務攻擊的機制。它要求節點進行適量消耗時間和資源的復雜運算,並且其運算結果能被其他節點快速驗算,以耗用時間、能源做擔保,以確保服務與資源被真正的需求所使用。
PoW演算法中最基本的技術原理是使用哈希演算法。假設求哈希值Hash(r),若原始數據為r(raw),則運算結果為R(Result)。
R = Hash(r)
哈希函數Hash()的特性是,對於任意輸入值r,得出結果R,並且無法從R反推回r。當輸入的原始數據r變動1比特時,其結果R值完全改變。在比特幣的PoW演算法中,引入演算法難度d和隨機值n,得到以下公式:
Rd = Hash(r+n)
該公式要求在填入隨機值n的情況下,計算結果Rd的前d位元組必須為0。由於哈希函數結果的未知性,每個礦工都要做大量運算之後,才能得出正確結果,而算出結果廣播給全網之後,其他節點只需要進行一次哈希運算即可校驗。PoW演算法就是採用這種方式讓計算消耗資源,而校驗僅需一次。
PoS演算法要求節點驗證者必須質押一定的資金才有挖礦打包資格,並且區域鏈系統在選定打包節點時使用隨機的方式,當節點質押的資金越多時,其被選定打包區塊的概率越大。
POS模式下,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000。這個時候,如果你驗證了一個POS區塊,你的幣齡就會被清空為0,同時從區塊中獲得相對應的數字貨幣利息。
節點通過PoS演算法出塊的過程如下:普通的節點要成為出塊節點,首先要進行資產的質押,當輪到自己出塊時,打包區塊,然後向全網廣播,其他驗證節點將會校驗區塊的合法性。
DPoS演算法和PoS演算法相似,也採用股份和權益質押。
但不同的是,DPoS演算法採用委託質押的方式,類似於用全民選舉代表的方式選出N個超級節點記賬出塊。
選民把自己的選票投給某個節點,如果某個節點當選記賬節點,那麼該記賬節點往往在獲取出塊獎勵後,可以採用任意方式來回報自己的選民。
這N個記賬節點將輪流出塊,並且節點之間相互監督,如果其作惡,那麼會被扣除質押金。
通過信任少量的誠信節點,可以去除區塊簽名過程中不必要的步驟,提高了交易的速度。
拜占庭問題:
拜占庭是古代東羅馬帝國的首都,為了防禦在每塊封地都駐扎一支由單個將軍帶領的軍隊,將軍之間只能靠信差傳遞消息。在戰爭時,所有將軍必須達成共識,決定是否共同開戰。
但是,在軍隊內可能有叛徒,這些人將影響將軍們達成共識。拜占庭將軍問題是指在已知有將軍是叛徒的情況下,剩餘的將軍如何達成一致決策的問題。
BFT:
BFT即拜占庭容錯,拜占庭容錯技術是一類分布式計算領域的容錯技術。拜占庭假設是對現實世界的模型化,由於硬體錯誤、網路擁塞或中斷以及遭到惡意攻擊等原因,計算機和網路可能出現不可預料的行為。拜占庭容錯技術被設計用來處理這些異常行為,並滿足所要解決的問題的規范要求。
拜占庭容錯系統 :
發生故障的節點被稱為 拜占庭節點 ,而正常的節點即為 非拜占庭節點 。
假設分布式系統擁有n台節點,並假設整個系統拜占庭節點不超過m台(n ≥ 3m + 1),拜占庭容錯系統需要滿足如下兩個條件:
另外,拜占庭容錯系統需要達成如下兩個指標:
PBFT即實用拜占庭容錯演算法,解決了原始拜占庭容錯演算法效率不高的問題,演算法的時間復雜度是O(n^2),使得在實際系統應用中可以解決拜占庭容錯問題
PBFT是一種狀態機副本復制演算法,所有的副本在一個視圖(view)輪換的過程中操作,主節點通過視圖編號以及節點數集合來確定,即:主節點 p = v mod |R|。v:視圖編號,|R|節點個數,p:主節點編號。
PBFT演算法的共識過程如下:客戶端(Client)發起消息請求(request),並廣播轉發至每一個副本節點(Replica),由其中一個主節點(Leader)發起提案消息pre-prepare,並廣播。其他節點獲取原始消息,在校驗完成後發送prepare消息。每個節點收到2f+1個prepare消息,即認為已經准備完畢,並發送commit消息。當節點收到2f+1個commit消息,客戶端收到f+1個相同的reply消息時,說明客戶端發起的請求已經達成全網共識。
具體流程如下 :
客戶端c向主節點p發送<REQUEST, o, t, c>請求。o: 請求的具體操作,t: 請求時客戶端追加的時間戳,c:客戶端標識。REQUEST: 包含消息內容m,以及消息摘要d(m)。客戶端對請求進行簽名。
主節點收到客戶端的請求,需要進行以下交驗:
a. 客戶端請求消息簽名是否正確。
非法請求丟棄。正確請求,分配一個編號n,編號n主要用於對客戶端的請求進行排序。然後廣播一條<<PRE-PREPARE, v, n, d>, m>消息給其他副本節點。v:視圖編號,d客戶端消息摘要,m消息內容。<PRE-PREPARE, v, n, d>進行主節點簽名。n是要在某一個范圍區間內的[h, H],具體原因參見 垃圾回收 章節。
副本節點i收到主節點的PRE-PREPARE消息,需要進行以下交驗:
a. 主節點PRE-PREPARE消息簽名是否正確。
b. 當前副本節點是否已經收到了一條在同一v下並且編號也是n,但是簽名不同的PRE-PREPARE信息。
c. d與m的摘要是否一致。
d. n是否在區間[h, H]內。
非法請求丟棄。正確請求,副本節點i向其他節點包括主節點發送一條<PREPARE, v, n, d, i>消息, v, n, d, m與上述PRE-PREPARE消息內容相同,i是當前副本節點編號。<PREPARE, v, n, d, i>進行副本節點i的簽名。記錄PRE-PREPARE和PREPARE消息到log中,用於View Change過程中恢復未完成的請求操作。
主節點和副本節點收到PREPARE消息,需要進行以下交驗:
a. 副本節點PREPARE消息簽名是否正確。
b. 當前副本節點是否已經收到了同一視圖v下的n。
c. n是否在區間[h, H]內。
d. d是否和當前已收到PRE-PPREPARE中的d相同
非法請求丟棄。如果副本節點i收到了2f+1個驗證通過的PREPARE消息,則向其他節點包括主節點發送一條<COMMIT, v, n, d, i>消息,v, n, d, i與上述PREPARE消息內容相同。<COMMIT, v, n, d, i>進行副本節點i的簽名。記錄COMMIT消息到日誌中,用於View Change過程中恢復未完成的請求操作。記錄其他副本節點發送的PREPARE消息到log中。
主節點和副本節點收到COMMIT消息,需要進行以下交驗:
a. 副本節點COMMIT消息簽名是否正確。
b. 當前副本節點是否已經收到了同一視圖v下的n。
c. d與m的摘要是否一致。
d. n是否在區間[h, H]內。
非法請求丟棄。如果副本節點i收到了2f+1個驗證通過的COMMIT消息,說明當前網路中的大部分節點已經達成共識,運行客戶端的請求操作o,並返回<REPLY, v, t, c, i, r>給客戶端,r:是請求操作結果,客戶端如果收到f+1個相同的REPLY消息,說明客戶端發起的請求已經達成全網共識,否則客戶端需要判斷是否重新發送請求給主節點。記錄其他副本節點發送的COMMIT消息到log中。
如果主節點作惡,它可能會給不同的請求編上相同的序號,或者不去分配序號,或者讓相鄰的序號不連續。備份節點應當有職責來主動檢查這些序號的合法性。
如果主節點掉線或者作惡不廣播客戶端的請求,客戶端設置超時機制,超時的話,向所有副本節點廣播請求消息。副本節點檢測出主節點作惡或者下線,發起View Change協議。
View Change協議 :
副本節點向其他節點廣播<VIEW-CHANGE, v+1, n, C , P , i>消息。n是最新的stable checkpoint的編號, C 是 2f+1驗證過的CheckPoint消息集合, P 是當前副本節點未完成的請求的PRE-PREPARE和PREPARE消息集合。
當主節點p = v + 1 mod |R|收到 2f 個有效的VIEW-CHANGE消息後,向其他節點廣播<NEW-VIEW, v+1, V , O >消息。 V 是有效的VIEW-CHANGE消息集合。 O 是主節點重新發起的未經完成的PRE-PREPARE消息集合。PRE-PREPARE消息集合的選取規則:
副本節點收到主節點的NEW-VIEW消息,驗證有效性,有效的話,進入v+1狀態,並且開始 O 中的PRE-PREPARE消息處理流程。
在上述演算法流程中,為了確保在View Change的過程中,能夠恢復先前的請求,每一個副本節點都記錄一些消息到本地的log中,當執行請求後副本節點需要把之前該請求的記錄消息清除掉。
最簡單的做法是在Reply消息後,再執行一次當前狀態的共識同步,這樣做的成本比較高,因此可以在執行完多條請求K(例如:100條)後執行一次狀態同步。這個狀態同步消息就是CheckPoint消息。
副本節點i發送<CheckPoint, n, d, i>給其他節點,n是當前節點所保留的最後一個視圖請求編號,d是對當前狀態的一個摘要,該CheckPoint消息記錄到log中。如果副本節點i收到了2f+1個驗證過的CheckPoint消息,則清除先前日誌中的消息,並以n作為當前一個stable checkpoint。
這是理想情況,實際上當副本節點i向其他節點發出CheckPoint消息後,其他節點還沒有完成K條請求,所以不會立即對i的請求作出響應,它還會按照自己的節奏,向前行進,但此時發出的CheckPoint並未形成stable。
為了防止i的處理請求過快,設置一個上文提到的 高低水位區間[h, H] 來解決這個問題。低水位h等於上一個stable checkpoint的編號,高水位H = h + L,其中L是我們指定的數值,等於checkpoint周期處理請求數K的整數倍,可以設置為L = 2K。當副本節點i處理請求超過高水位H時,此時就會停止腳步,等待stable checkpoint發生變化,再繼續前進。
在區塊鏈場景中,一般適合於對強一致性有要求的私有鏈和聯盟鏈場景。例如,在IBM主導的區塊鏈超級賬本項目中,PBFT是一個可選的共識協議。在Hyperledger的Fabric項目中,共識模塊被設計成可插拔的模塊,支持像PBFT、Raft等共識演算法。
Raft基於領導者驅動的共識模型,其中將選舉一位傑出的領導者(Leader),而該Leader將完全負責管理集群,Leader負責管理Raft集群的所有節點之間的復制日誌。
下圖中,將在啟動過程中選擇集群的Leader(S1),並為來自客戶端的所有命令/請求提供服務。 Raft集群中的所有節點都維護一個分布式日誌(復制日誌)以存儲和提交由客戶端發出的命令(日誌條目)。 Leader接受來自客戶端的日誌條目,並在Raft集群中的所有關注者(S2,S3,S4,S5)之間復制它們。
在Raft集群中,需要滿足最少數量的節點才能提供預期的級別共識保證, 這也稱為法定人數。 在Raft集群中執行操作所需的最少投票數為 (N / 2 +1) ,其中N是組中成員總數,即 投票至少超過一半 ,這也就是為什麼集群節點通常為奇數的原因。 因此,在上面的示例中,我們至少需要3個節點才能具有共識保證。
如果法定仲裁節點由於任何原因不可用,也就是投票沒有超過半數,則此次協商沒有達成一致,並且無法提交新日誌。
數據存儲:Tidb/TiKV
日誌:阿里巴巴的 DLedger
服務發現:Consul& etcd
集群調度:HashiCorp Nomad
只能容納故障節點(CFT),不容納作惡節點
順序投票,只能串列apply,因此高並發場景下性能差
Raft通過解決圍繞Leader選舉的三個主要子問題,管理分布式日誌和演算法的安全性功能來解決分布式共識問題。
當我們啟動一個新的Raft集群或某個領導者不可用時,將通過集群中所有成員節點之間協商來選舉一個新的領導者。 因此,在給定的實例中,Raft集群的節點可以處於以下任何狀態: 追隨者(Follower),候選人(Candidate)或領導者(Leader)。
系統剛開始啟動的時候,所有節點都是follower,在一段時間內如果它們沒有收到Leader的心跳信號,follower就會轉化為Candidate;
如果某個Candidate節點收到大多數節點的票,則這個Candidate就可以轉化為Leader,其餘的Candidate節點都會回到Follower狀態;
一旦一個Leader發現系統中存在一個Leader節點比自己擁有更高的任期(Term),它就會轉換為Follower。
Raft使用基於心跳的RPC機制來檢測何時開始新的選舉。 在正常期間, Leader 會定期向所有可用的 Follower 發送心跳消息(實際中可能把日誌和心跳一起發過去)。 因此,其他節點以 Follower 狀態啟動,只要它從當前 Leader 那裡收到周期性的心跳,就一直保持在 Follower 狀態。
當 Follower 達到其超時時間時,它將通過以下方式啟動選舉程序:
根據 Candidate 從集群中其他節點收到的響應,可以得出選舉的三個結果。
共識演算法的實現一般是基於復制狀態機(Replicated state machines),何為 復制狀態機 :
簡單來說: 相同的初識狀態 + 相同的輸入 = 相同的結束狀態 。不同節點要以相同且確定性的函數來處理輸入,而不要引入一下不確定的值,比如本地時間等。使用replicated log是一個很不錯的注意,log具有持久化、保序的特點,是大多數分布式系統的基石。
有了Leader之後,客戶端所有並發的請求可以在Leader這邊形成一個有序的日誌(狀態)序列,以此來表示這些請求的先後處理順序。Leader然後將自己的日誌序列發送Follower,保持整個系統的全局一致性。注意並不是強一致性,而是 最終一致性 。
日誌由有序編號(log index)的日誌條目組成。每個日誌條目包含它被創建時的任期號(term),和日誌中包含的數據組成,日誌包含的數據可以為任何類型,從簡單類型到區塊鏈的區塊。每個日誌條目可以用[ term, index, data]序列對表示,其中term表示任期, index表示索引號,data表示日誌數據。
Leader 嘗試在集群中的大多數節點上執行復制命令。 如果復製成功,則將命令提交給集群,並將響應發送回客戶端。類似兩階段提交(2PC),不過與2PC的區別在於,leader只需要超過一半節點同意(處於工作狀態)即可。
leader 、 follower 都可能crash,那麼 follower 維護的日誌與 leader 相比可能出現以下情況
當出現了leader與follower不一致的情況,leader強制follower復制自己的log, Leader會從後往前試 ,每次AppendEntries失敗後嘗試前一個日誌條目(遞減nextIndex值), 直到成功找到每個Follower的日誌一致位置點(基於上述的兩條保證),然後向後逐條覆蓋Followers在該位置之後的條目 。所以丟失的或者多出來的條目可能會持續多個任期。
要求候選人的日誌至少與其他節點一樣最新。如果不是,則跟隨者節點將不投票給候選者。
意味著每個提交的條目都必須存在於這些伺服器中的至少一個中。如果候選人的日誌至少與該多數日誌中的其他日誌一樣最新,則它將保存所有已提交的條目,避免了日誌回滾事件的發生。
即任一任期內最多一個leader被選出。這一點非常重要,在一個復制集中任何時刻只能有一個leader。系統中同時有多餘一個leader,被稱之為腦裂(brain split),這是非常嚴重的問題,會導致數據的覆蓋丟失。在raft中,兩點保證了這個屬性:
因此, 某一任期內一定只有一個leader 。
當集群中節點的狀態發生變化(集群配置發生變化)時,系統容易受到系統故障。 因此,為防止這種情況,Raft使用了一種稱為兩階段的方法來更改集群成員身份。 因此,在這種方法中,集群在實現新的成員身份配置之前首先更改為中間狀態(稱為聯合共識)。 聯合共識使系統即使在配置之間進行轉換時也可用於響應客戶端請求,它的主要目的是提升分布式系統的可用性。
㈦ 比特幣———一個幣值8萬多元人民幣
接觸過數字貨幣的人對比特幣都不陌生,它是數字貨幣的祖宗,如果你在2010年的時候用三美元買1萬個比特幣留到現在,那麼現在你的身價是8億多人民幣,是不是不可思議
區塊鏈技術被稱為是繼,蒸汽機,電,互聯網,之後的一個劃時代的標志,
比特幣的底層技術是什麼呢?
是區塊鏈技術,那麼區塊鏈技術又是什麼呢,舉個通俗易懂的例子,你去招商銀行存錢,存了100萬,有一天招商銀行的銀行系統被黑客攻擊了,並且把你的賬戶的錢轉走了50萬,你的存款單也丟了,這時候銀行不想把你丟了的錢補給你,你是不是要抓狂。區塊鏈就是有無數的存儲系統,而且裡面都存有相同的內容,沒有人可以修改已經生產的賬單,就像以前只有一個賬本,但是用了區塊鏈之後就有無數的記賬賬本,而且分布在各個地方。更專業一點說,區塊鏈技術是由利用塊鏈式數據結構來驗證和存儲數據,利用分布式節點共識演算法來生成和更新數據,利用密碼學的方式來保證數據傳輸和訪問的安全,利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
但是現在是數字貨幣泛濫的年代,各種新的數字貨幣發行進行洗錢跑路,最後一地雞毛,對於目前國家提倡的區塊鏈技術和企業鏈改如果落到實地,這樣的數字貨幣還是可以持有的,我們知道只有大公司才能上市,但是所以公司都能上鏈
如果你對某個數字貨幣非常了解,並且知道它的運營情況,有沒有落地到實地幫助公司進行鏈改,技術支撐等,不然盡量不要去買。
回到BTC,BTC公鏈被稱為區塊鏈的1.0時代,採用的是POW共識機制,也就是工作量證明,你獲得多少貨幣,取決於你挖礦貢獻的有效工作,電腦性能越好,分給你的礦就越多,POW機制解決了拜占庭將軍問題,就是在互相不信任的情況下,只要多少人都信任,那麼就能保證系統的正確運作,但是也有一定的缺陷,就是處理交易的速度太慢,礦工們需要不斷的通過計算來碰撞哈希值,這是勞民傷財且效率低下的。TPS系統吞吐量(用戶並發量)7筆/秒。ETH這條公鏈被稱為區塊鏈的2.0時代,ETH提出了新的共識機制POW+POS(權益證明)簡單來說就是你持有的幣越多,你的權益就越高,因為你持有的幣越多,持有幣的時間越久,你的計算難度就會降低,挖礦會容易一些,TPS為21筆/秒。EOS被成為3.0的公鏈,DPOS共識機制(拜占庭容錯的委託權益證明)對於POS機制的加密貨幣,每個節點都可以創建區塊,並按照個人的持股比例獲得「利息」,出塊時間3秒,TPS為5000筆/秒。
一、從比特幣看區塊鏈技術
(一)比特幣(Bitcoin)是一種數字加密貨幣比特幣是一種數字加密貨幣,由中本聰(SatoshiNakamoto)2009 年1 月25 日設計上線。比特幣的產生、發行和交易機制與傳統貨幣不同。傳統貨幣的產生、發行和交易依託於中央銀行、商業銀行等中心化的二元模式;而比特幣的發行不需要中心化的金融中介,比特幣社區用戶可通過比特幣區塊鏈網路發行和管理數字加密貨幣。比特幣是以黃金模式發行,人們形象地將該過程稱為「挖礦(Mining)」,並將所有提供計算力的節點稱為「礦工(Miner)」。目前,比特幣挖礦的發行方式使每位礦工都可以從中獲取6.25 個比特幣的收益。實際上,比特幣的發行過程是求解多重哈希值解方程(Hash Function)的過程。節點挖礦獲得比特幣的過程,是通過計算機進行大量計算求出合理的哈希值來實現的。簡而言之,這個過程的主要目標是求解交易雙方的公鑰。每次求出的解都會作為下次計算的初始條件,節點在此基礎計算新結果。當一個節點解出一組之前未解出的哈希值時,系統向全網路發布,各節點查驗本地資料庫。如果各節點發現該解正確,並且資料庫中沒有此解記錄,將確認並記錄該解的合法性。當所有節點都確認並記錄完畢時,求出該解的節點便被獎勵一定數量的比特幣。作為比特幣最底層的核心技術,區塊鏈技術來源於2014 年10 月大英圖書館的一次研討會。比特幣是區塊鏈技術最成功的金融應用,它以公開賬本的形式在全網記錄所有交易信息。隨著比特幣的普及和應用,區塊鏈技術日益受到金融 科技 界的關注。
(二)區塊鏈是弱中心化的分布式賬本協議區塊鏈技術提供了一份公共的分布式安全賬本,是一種開放式的價值傳遞協議。實際上,區塊鏈是一個由使用密碼學方法相關聯產生的數據塊構成的弱中心化的資料庫,任何發生在此區塊鏈網路上的交易,均會以約定的演算法記錄到區塊鏈系統上。所有節點都保存一份完整的數據備份,包含自該區塊鏈系統形成以來的所有交易記錄。區塊鏈由一個個區塊組成。區塊是區塊鏈的基本存儲單元,記錄了10 分鍾內各節點的全部交易信息。每一個數據區塊中包含一次交易信息,用於驗證信息的有效性,並為下一個區塊的生成做准備。區塊由三部分組成:本區塊的地址、交易單和前一個區塊的地址。當區塊鏈上一個節點發起一筆交易時,該節點需要將信息向其他節點進行公告。該節點用私鑰加密信息,從而可有效防止信息偽造。由於了解 歷史 交易信息,收到信息的節點利用備份信息能夠判斷交易是否真實。各節點驗證成功後,將最後一個區塊的地址與交易信息結合,形成一個新區塊,並打上時間戳(Timestamp)連接到區塊鏈上,完成交易的全過程。由於每個區塊都擁有前一個區塊的地址,人們可以通過後一區塊地址找到前一區塊,直至初始區塊。因此,區塊鏈就是由根據時間順序相連接的區塊構成的完整交易信息鏈條。
(三)區塊鏈的特點
區塊鏈是一個全新的資料庫系統,具有弱中心化、不可篡改、包容性等特點。其中,弱中心化、不可篡改是區塊鏈技術區別於傳統技術的核心特徵。這兩個特徵使得由區塊鏈技術構建的系統能夠通過系統機制設置,實現「自信任」。
1. 弱中心化。區塊鏈系統的每個節點都保存著一份完整數據備份,能夠有效預防中央伺服器發生故障而導致的網路癱瘓和數據丟失,以及黑客對單個節點的惡意攻擊,從而保證數據的安全。除非有人能同時控制系統中超過51% 的節點,否則對於單個節點的攻擊不能影響其他節點數據的內容。
2. 不可篡改。區塊鏈系統是一個公共的總賬本,系統全部數據都公開、透明地記錄在該賬本上。所有數據通過網路共識演算法記錄,每筆基於區塊鏈交易的新信息都會向全網發布,經各個節點逐一確認、保存後,將收到的交易信息形成新區塊,確保區塊鏈系統信息不可篡改、無法作假、可以追溯。同時,區塊鏈技術使用隨機散列演算法和時間戳技術,節點在驗證時會蓋上時間戳,提供交易時間證明,保證同筆交易的唯一性。如果要修改某個區塊的交易信息,必須要完成該區塊及之後區塊的所有信息。由於修改後會造成哈希值與原來的哈希值不同,無法通過其他節點確認,將使得修改無效,大大提高了篡改信息的難度。因此,區塊鏈技術可以為交易提供可靠的信用保證。其不可篡改的特性為解決合同沖突提供了有效方案,可以應用於存儲並公證永久性記錄和需要確保信息真實性的領域。如,財產所有權的公證。
3. 包容性。區塊鏈技術以演算法為基礎,摒棄了不同國家文化和經濟差異,使各國機構可以建立統一的信用體系。此外,區塊鏈技術是對外開源和共享的:任何進入區塊鏈的機構和個人,不僅能提交記錄,還能得到完整的系統 歷史 交易記錄,並對信息所有者確權;同時,由於區塊鏈系統運行於互聯網,符合要求的任何機構和個人都能以節點的方式加入該系統。
4.溯源,公開透明。
因為區塊鏈或者說是數字貨幣涉及的知識與比應用比較多,感興趣的朋友可以點關注,我會整理和發布更多的區塊鏈和數字貨幣的知識
㈧ 區塊鏈常見的三大共識機制
區塊鏈是建立在P2P網路,由節點參與的分布式賬本系統,最大的特點是「去中心化」。也就是說在區塊鏈系統中,用戶與用戶之間、用戶與機構之間、機構與機構之間,無需建立彼此之間的信任,只需依靠區塊鏈協議系統就能實現交易。
可是,要如何保證賬本的准確性,權威性,以及可靠性?區塊鏈網路上的節點為什麼要參與記賬?節點如果造假怎麼辦?如何防止賬本被篡改?如何保證節點間的數據一致性?……這些都是區塊鏈在建立「去中心化」交易時需要解決的問題,由此產生了共識機制。
所謂「共識機制」,就是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;當出現意見不一致時,在沒有中心控制的情況下,若干個節點參與決策達成共識,即在互相沒有信任基礎的個體之間如何建立信任關系。
區塊鏈技術正是運用一套基於共識的數學演算法,在機器之間建立「信任」網路,從而通過技術背書而非中心化信用機構來進行全新的信用創造。
不同的區塊鏈種類需要不同的共識演算法來確保區塊鏈上最後的區塊能夠在任何時候都反應出全網的狀態。
目前為止,區塊鏈共識機制主要有以下幾種:POW工作量證明、POS股權證明、DPOS授權股權證明、Paxos、PBFT(實用拜占庭容錯演算法)、dBFT、DAG(有向無環圖)
接下來我們主要說說常見的POW、POS、DPOS共識機制的原理及應用場景
概念:
工作量證明機制(Proof of work ),最早是一個經濟學名詞,指系統為達到某一目標而設置的度量方法。簡單理解就是一份證明,用來確認你做過一定量的工作,通過對工作的結果進行認證來證明完成了相應的工作量。
工作量證明機制具有完全去中心化的優點,在以工作量證明機制為共識的區塊鏈中,節點可以自由進出,並通過計算隨機哈希散列的數值解爭奪記賬權,求得正確的數值解以生成區塊的能力是節點算力的具體表現。
應用:
POW最著名的應用當屬比特幣。在比特幣網路中,在Block的生成過程中,礦工需要解決復雜的密碼數學難題,尋找到一個符合要求的Block Hash由N個前導零構成,零的個數取決於網路的難度值。這期間需要經過大量嘗試計算(工作量),計算時間取決於機器的哈希運算速度。
而尋找合理hash是一個概率事件,當節點擁有佔全網n%的算力時,該節點即有n/100的概率找到Block Hash。在節點成功找到滿足的Hash值之後,會馬上對全網進行廣播打包區塊,網路的節點收到廣播打包區塊,會立刻對其進行驗證。
如果驗證通過,則表明已經有節點成功解迷,自己就不再競爭當前區塊,而是選擇接受這個區塊,記錄到自己的賬本中,然後進行下一個區塊的競爭猜謎。網路中只有最快解謎的區塊,才會添加的賬本中,其他的節點進行復制,以此保證了整個賬本的唯一性。
假如節點有任何的作弊行為,都會導致網路的節點驗證不通過,直接丟棄其打包的區塊,這個區塊就無法記錄到總賬本中,作弊的節點耗費的成本就白費了,因此在巨大的挖礦成本下,也使得礦工自覺自願的遵守比特幣系統的共識協議,也就確保了整個系統的安全。
優缺點
優點:結果能被快速驗證,系統承擔的節點量大,作惡成本高進而保證礦工的自覺遵守性。
缺點:需要消耗大量的演算法,達成共識的周期較長
概念:
權益證明機制(Proof of Stake),要求證明人提供一定數量加密貨幣的所有權。
權益證明機制的運作方式是,當創造一個新區塊時,礦工需要創建一個「幣權」交易,交易會按照預先設定的比例把一些幣發送給礦工本身。權益證明機制根據每個節點擁有代幣的比例和時間,依據演算法等比例地降低節點的挖礦難度,從而加快了尋找隨機數的速度。
應用:
2012年,化名Sunny King的網友推出了Peercoin(點點幣),是權益證明機制在加密電子貨幣中的首次應用。PPC最大創新是其采礦方式混合了POW及POS兩種方式,採用工作量證明機制發行新幣,採用權益證明機制維護網路安全。
為了實現POS,Sunny King借鑒於中本聰的Coinbase,專門設計了一種特殊類型交易,叫Coinstake。
上圖為Coinstake工作原理,其中幣齡指的是貨幣的持有時間段,假如你擁有10個幣,並且持有10天,那你就收集到了100天的幣齡。如果你使用了這10個幣,幣齡被消耗(銷毀)了。
優缺點:
優點:縮短達成共識所需的時間,比工作量證明更加節約能源。
缺點:本質上仍然需要網路中的節點進行挖礦運算,轉賬真實性較難保證
概念:
授權股權證明機制(Delegated Proof of Stake),與董事會投票類似,該機制擁有一個內置的實時股權人投票系統,就像系統隨時都在召開一個永不散場的股東大會,所有股東都在這里投票決定公司決策。
授權股權證明在嘗試解決傳統的PoW機制和PoS機制問題的同時,還能通過實施科技式的民主抵消中心化所帶來的負面效應。基於DPoS機制建立的區塊鏈的去中心化依賴於一定數量的代表,而非全體用戶。在這樣的區塊鏈中,全體節點投票選舉出一定數量的節點代表,由他們來代理全體節點確認區塊、維持系統有序運行。
同時,區塊鏈中的全體節點具有隨時罷免和任命代表的權力。如果必要,全體節點可以通過投票讓現任節點代表失去代表資格,重新選舉新的代表,實現實時的民主。
應用:
比特股(Bitshare)是一類採用DPOS機制的密碼貨幣。通過引入了見證人這個概念,見證人可以生成區塊,每一個持有比特股的人都可以投票選舉見證人。得到總同意票數中的前N個(N通常定義為101)候選者可以當選為見證人,當選見證人的個數(N)需滿足:至少一半的參與投票者相信N已經充分地去中心化。
見證人的候選名單每個維護周期(1天)更新一次。見證人然後隨機排列,每個見證人按序有2秒的許可權時間生成區塊,若見證人在給定的時間片不能生成區塊,區塊生成許可權交給下一個時間片對應的見證人。DPoS的這種設計使得區塊的生成更為快速,也更加節能。
DPOS充分利用了持股人的投票,以公平民主的方式達成共識,他們投票選出的N個見證人,可以視為N個礦池,而這N個礦池彼此的權利是完全相等的。持股人可以隨時通過投票更換這些見證人(礦池),只要他們提供的算力不穩定,計算機宕機,或者試圖利用手中的權力作惡。
優缺點:
優點:縮小參與驗證和記賬節點的數量,從而達到秒級的共識驗證
缺點:中心程度較弱,安全性相比POW較弱,同時節點代理是人為選出的,公平性相比POS較低,同時整個共識機制還是依賴於代幣的增發來維持代理節點的穩定性。
㈨ 區塊鏈最直白的解釋
近幾年,「區塊鏈」一詞成了大熱門,新聞媒體競相報道,但大家或許對於區塊鏈的認知還停留在霧里看花的階段,今天我們就來揭開它的神秘面紗。
其實區塊鏈的本質特別簡單,一句話就可以解釋:去中心化分布式資料庫。
區塊鏈的主要作用是用於存儲信息,任何人都可以將信息寫入,同時也可以讀取,所以它是一個公開的資料庫。
區塊鏈的特點
要說分布式資料庫這種技術,市場上早有存在,可不同的是,區塊鏈雖然同為分布式資料庫,但它沒有管理員,是徹底去中心化的。
去中心化是區塊鏈技術的顛覆性特點,它無需中心化代理,實現了一種點對點的直接交互,使得高效率、大規模、無中心化代理的信息交互方式成為了現實。
但是,沒有了管理員,人人都可以往裡面寫入數據,怎麼才能保證數據是可信的呢?被壞人改了怎麼辦?設計者早已想到了這些,這也證明了區塊鏈是真正劃時代的產物。
區塊
區塊鏈由一個個區塊(block)組成。區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。
每個區塊包含兩個部分:
區塊頭(Head):記錄當前區塊的特徵值
區塊體(Body):實際數據
區塊頭包含了當前區塊的多項特徵值。
生成時間
實際數據(即區塊體)的哈希
上一個區塊的哈希
...
系統中每一個節點都擁有最新的完整資料庫拷貝,修改單個節點的資料庫是無效的,因為系統會自動比較,認為最多次出現的相同數據記錄為真。同時數據的每一步記錄都會被留存在區塊鏈上,可以溯源每一步的往來信息。
這里,你需要理解什麼叫哈希(hash),這是理解區塊鏈必需的。
所謂"哈希"就是計算機可以對任意內容,計算出一個長度相同的特徵值。區塊鏈的 哈希長度是256位,這就是說,不管原始內容是什麼,最後都會計算出一個256位的二進制數字。而且可以保證,只要原始內容不同,對應的哈希一定是不同的。
舉例來說,字元串123的哈希是(十六進制),轉成二進制就是256位,而且只有123能得到這個哈希。(理論上,其他字元串也有可能得到這個哈希,但是概率極低,可以近似認為不可能發生。)
因此,就有兩個重要的推論。
推論1:每個區塊的哈希都是不一樣的,可以通過哈希標識區塊。
推論2:如果區塊的內容變了,它的哈希一定會改變。
哈希的不可修改性
區塊與哈希是一一對應的,每個區塊的哈希都是針對"區塊頭"(Head)計算的。也就是說,把區塊頭的各項特徵值,按照順序連接在一起,組成一個很長的字元串,再對這個字元串計算哈希。
Hash = SHA256( 區塊頭 )
上面就是區塊哈希的計算公式,SHA256是區塊鏈的哈希演算法。注意,這個公式裡面只包含區塊頭,不包含區塊體,也就是說,哈希由區塊頭唯一決定。
前面說過,區塊頭包含很多內容,其中有當前區塊體的哈希,還有上一個區塊的哈希。這意味著,如果當前區塊體的內容變了,或者上一個區塊的哈希變了,一定會引起當前區塊的哈希改變。
這一點對區塊鏈有重大意義。如果有人修改了一個區塊,該區塊的哈希就變了。為了讓後面的區塊還能連到它(因為下一個區塊包含上一個區塊的哈希),該人必須依次修改後面所有的區塊,否則被改掉的區塊就脫離區塊鏈了。由於後面要提到的原因,哈希的計算很耗時,短時間內修改多個區塊幾乎不可能發生,除非有人掌握了全網51%以上的計算能力。
正是通過這種聯動機制,區塊鏈保證了自身的可靠性,數據一旦寫入,就無法被篡改。這就像歷史一樣,發生了就是發生了,從此再無法改變。
㈩ 區塊鏈中超級賬本是什麼
超級賬本(hyperledger)是Linux基金會於2015年發起的推進區塊鏈數字技術和交易驗證的開源項目,30家初始企業成員(包括IBM、Accenture、Intel、J.P.Morgan、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、Cisco等)。目標是讓成員共同合作,共建開放平台,滿足來自多個不同行業各種用戶案例,並簡化業務流程。
hyperledger
當下是區塊鏈快速發展的時代,各行各業包括醫療、文化、物聯網等等,都在尋求利用區塊鏈技術解決各自的行業痛點。要支持各種行業的應用,就意味著區塊鏈應該具有企業級屬性,保密性和吞吐量都是要考慮的問題。
超級賬本在區塊鏈中的位置:
- 比特幣- 代表數字貨幣、區塊鏈思想的誕生,提供了區塊鏈技術應用的原型
- 以太坊- 掙脫數字貨幣的枷鎖,智能合約的誕生,延伸了區塊鏈技術的功能
- 超級賬本- 進一步引入許可權控制和安全保障,首次將區塊鏈技術引入到分布式聯盟賬本的應用場景。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。