1. 程式人生 > >密碼與安全新技術專題之區塊鏈

密碼與安全新技術專題之區塊鏈

動向 了解 組合 cot 企業 破壞 不同的 合格 而不是

課程:《密碼與安全新技術專題》

班級: 1892
姓名: 李熹橋
學號:20189214
上課教師:張健毅
上課日期:2019年4月23日
必修/選修: 選修

1.本次講座的學習總結

歷史由來

區塊鏈解決的問題其實是一個1982年由Leslie Lamport等人所提出的拜占庭將軍問題。簡單來說就是如何使各個部隊彼此取得共識,然後決定是否出兵的過程。推廣到理論模型來說如何使基於零信任基礎的節點達成共識,且確保一致性。David Chaum提出密碼學網路支付系統具有不可追蹤的特性,成為之後比特幣區塊鏈在隱私安全面的雛形。1991Stuart Haber與W. Scott Stornetta提出用時間戳確保數位文件安全的協議,此概念之後被比特幣區塊鏈系統所采用。2002年Adam Back正式的論文發明Hashcash(雜湊現金),是一種工作量證明演算法(Proof of Work,POW),此演算法仰賴成本函數的不可逆特性,達到容易被驗證,但很難被破解的特性, 最早被應用於阻擋垃圾郵件。Hashcash之後成為比特幣區塊鏈所采用的關鍵技術之一。1998年Wei Dai發表匿名的分散式電子現金系統B-money,引入工作量證明機制,強調點對點交易和不可竄改特性。不過在B-money中,並未采用Adam Back提出的Hashcash演算法。Wei Dai的許多設計之後被比特幣區塊鏈所采用。2008年atoshi Nakamoto(中本聰)發表一篇關於比特幣的論文,描述一個點對點電子現金系統,能在不具信任的基礎之上,建立一套去中心化的電子交易體系。2012年市場去中心化,可作貨幣以外的數位資產轉移,如股票、債券。如Colored Coin便是基於比特幣區塊鏈的開源協議,可在比特幣在區塊鏈上發行多項資產。2014年後區塊鏈有更復雜的智慧合約,將區塊鏈用於政府、醫療、科學、文化與藝術等領域。

區塊鏈技術隨著比特幣出現後,經歷了幾個不同的階段,一般將比特幣視為Blockchain 1.0,為數位貨幣(Currency)應用,Blockchain 2.0開始出現如智慧資產(Smart Assets)、智慧契約(Smart Contracts)等貨幣以外的應用,Blockchain3.0則是指更復雜的智慧契約,將區塊鏈用於政府、醫療、科學、文化與藝術等領域。

比特幣區塊鏈

比特幣相比於傳統貨幣,最明顯的特征是去中心化和虛擬。
中本聰的白皮書中通過賬簿公開機制、身份與簽名機制、虛擬礦工組織、建立創世塊四個“比特幣基礎建設”來使比特幣這套系統具備去中心化的特質。 區塊鏈本質上是一個去中心化的分布式賬本數據庫,是比特幣的底層技術,和比特幣是相伴相生的關系。

從數據結構的角度出發,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
一般說來,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和應用層組成。
區塊鏈的優點體現在:
(1)分布式去中心化,每個節點和礦工都必須遵循同一記賬交易規則,而這個規則是基於密碼算法而不是信用。在一個去中心化的,比如說區塊鏈網絡中,攻擊單獨一個節點是無法控制或破壞整個網絡的,掌握網內50%的節點只是獲得控制權的開始而已。
(2)無須信任系統:區塊鏈網絡中,通過算法的自我約束,任何惡意欺騙系統的行為都會 遭到其他節點的排斥和抑制,因此,區塊鏈系統不依賴中央權威機構支撐和信用背書。區塊鏈網絡中,參與人不需要對任何人 信任,但隨著參與節點增加,系統的安全性反而增加,同時數據內容可以做到完全公開。
(3)不可篡改和加密安全性:區塊鏈采取單向哈希算法,同時每個新產生的區塊嚴格按照時間線形順序推進,時間的不可逆性導致任何試圖入侵篡改區塊鏈內數據 信息的行為都很容易被追溯,導致被其他節點的排斥,從而可以限制相關不法行為。
區塊鏈的缺陷體現在:
(1)容量限制。比特幣區塊 鏈設計之初人為地將一個區塊容量設置為 1MB,隨著交易量加大,容量開始面臨限制,處理速度受到影響。
(2)確認時間變長,由於容量限制和工作量證明時常挑戰 運算極限,目前比特幣無法處理超過每秒 7 次的交易,無法和類似 Visa 等支付方式 在速度這個緯度上進行抗衡。

2.學習中遇到的問題及解決

  • 問題1:比特幣系統中比特幣不斷獎賞,會不會通貨膨脹。
  • 問題1解決方案:中本聰最開始提出的設想是,每當賬簿增加21000頁時,獎勵就減少一半。當達到6,930,000頁,就沒有獎勵了。在之後獎勵礦工的手法不是獎勵他比特幣,而是可以抽取交易比特幣的手續費。

3.本次講座的學習感悟思考等

原先認為比特幣和區塊鏈是一樣的概念,聽了老師的課之後,了解了比特點的歷史,清晰了對當前區塊鏈技術的動向,走向了第三代智能合約的時代,
特別在金融領域,基於區塊鏈,各金融機構將各自收集和驗證的客戶信息數字化後,上傳至區塊鏈;同時,金融機構為交易中的實體提供電子身份證明信息(類似私鑰),並將用戶地址與其電子身份證明信息聯系起來,任何交易的發生都需要經過該私鑰和銀行手中的公鑰驗證,並由用戶地址進行,這種區塊鏈上數據的可追溯性會將整個金融企業的合規程度將得到提高。在技術的不斷突破同時,政府也不斷跟進。國務院在2016年底將區塊鏈作為戰略性前沿技術寫入了《“十三五”國家信息化規劃》中。各部委相繼出臺了多個文件,擬在推進區塊鏈產業發展。

4.區塊鏈的最新研究現狀

一種點對點的電子現金系統
第一句話We define an electronic coin as a chain of digital signatures.表面交易也就是每一位所有者通過對前一次交易和下一位擁有者的公鑰(Public key) 簽署一個隨機散列的數字簽名,並將這個簽名附加在這枚電子貨幣的末尾,電子貨幣就發送給了下一位所有者。而收款人通過對簽名進行檢驗,就能夠驗證該鏈條的所有者。其中描述的POW工作量證明,可比方說SHA-256下,隨機散列值以一個或多個0開始。那麽隨著0的數目的上升, 找到這個解所需要的工作量將呈指數增長,而對結果進行檢驗則僅需要一次隨機散列運算。接著如果最近的交易已經被納入了足夠多的區塊之中,那麽就可以丟棄該交易之前的數據,以回收硬盤空間。為了同時確保不損害區塊的隨機散列值,交易信息被隨機散列時,被構建成一種Merkle樹(Merkle tree)的形態,使得只有根(root)被納入了區塊的隨機散列值。通過將該樹(tree)的分支拔除(stubbing)的方法,老區塊就能被壓縮。而內部的隨機散列值是不必保存的。確認機制為節點想要自行檢驗該交易的有效性原本是不可能的,但通過追溯到鏈條的某個位置,它就能看到某個節點曾經接受過它,並且於其後追加的區塊也進一步證明全網曾經接受了它。這個框架包含了一個P2P電子貨幣系統所需要的全部規則和激勵措施。
共識機制是區塊鏈中一個重要算法,上面談到當前的區塊鏈缺點就是當前的共識算法在塊不斷增加的情況下運算時間會增加。當前有POW,PoS,DPoS,Powand PoS等算法,在論文A New Election Algorithm for DPos Consensus Mechanism in Blockchain提出了一種新的DPoS選舉算法。該算法的目的是在許多服務器中選擇一個服務器作為新塊的生成器。選舉的評估標準是候選人的權利。當權利更大時,獲勝的可能性更高。候選人的權利由他擁有的代幣金額決定。為了減少廣播信息並避免網絡擁塞,並非網絡中的所有服務器都直接參與選舉和被選舉。多臺服務器推薦代理服務器參與選舉; 但選舉必須公平,防止壟斷。為了進一步防止壟斷,選舉時任何服務器的賭註值乘以一個隨機數,並且前一個會話的贏家乘以0,因為沒有節點可以連任。完整的選舉有兩個過程,投票和廣播告知贏家信息。與PoW算法對比而言,它只需要傳遞信息並確認選舉。它不需要復雜的計算,可以在1秒內完成。而當前生成塊需要大約10分鐘。平均需要6輪確認,這是確認交易確實發生的60分鐘。因此這個選舉算法的效率會大大提高。 在論文Proof of Vote: A High-Performance Consensus Protocol Based on Vote Mechanism & Consortium Blockchain提出一種機制POV,專門用於聯合區塊鏈。區塊鏈系統由聯盟維護,由世界不同地區的企業和組織組成。在該聯盟鏈上開發的應用程序可以服務於全球網絡的終端用戶。
區塊鏈中有一種攻擊叫51%算力攻擊,就是指利用自己的算力優勢來篡改區塊鏈上的記錄,從而達到撤銷已付款交易的目的。“算力”指的是每秒鐘可以計算哈希值的次數,算力越大礦工的計算速度就越快。理論上來說,當一個人掌握了51%以上的算力,那麽他計算出正確哈希值的速度就會比全網其他礦工更快,因此只要他從包含自己想要篡改的交易數據之前的一個區塊開始繼續向下挖礦,那麽他就有可能創造出一條比當前主鏈更長的區塊鏈。當前通過“延時函數”升級他們的工作量驗證共識算法,來處罰蓄謀51算力攻擊的礦工。51%攻擊需要一名礦工在上傳至區塊鏈之前秘密生產這些區塊,延時函數會使得這些攻擊代價變得極為高昂。
Deanonymisation of clients in Bitcoin P2P network這篇文章宣稱可以找到比特幣所有人的IP地址,作者的基本思路是首先去掉經過Tor接入比特幣網絡的用戶(通過比特幣內建的懲罰機制,故意在Tor網絡中發出不合格的blocks);然後分析感興趣的用戶進入網絡的接入點(因為是點到點的網絡,用戶需要在網絡中廣播自己的存在,首先接入的那些連接就是該用戶的接入點),方法是連接所有的網絡服務器,通過看網絡服務器的轉發找出最早轉發特定用戶信息的那些服務器;與此同時收集經過這些接入點廣播的Transaction信息,這些信息與用戶信息來源於同一個接入點,表明該接入點的某些用戶發出了某些交易信息。
Tampering with the Delivery of Blocks and Transactions in Bitcoin這篇文章分析了比特幣系統中通過inv消息咨詢是否更新的方法所帶來的重復消費和其它問題。其中重復消費問題主要體現在快速消費上。本來比特幣要求6個確認,也就是1個小時左右才可以確認。如果快速確認,那麽攻擊者有可能通過先向網絡中發送一個給自己的Trans,然後把同樣的比特幣再向商家支付,並且通過inv使得商家無法及時更新區塊信息,此時商家根據自己的數據庫檢查會發現支付合法,網絡中知道不合法,卻無法通知商家(因為商家已經在與攻擊者的inv對話),最後給商家的支付就非法了。
區塊鏈技術按照中本聰的論文發表時間開始計算,僅僅只存在了10年。整個區塊鏈是建立在密碼算法之上,所以對於區塊鏈的安全性而言,如果密碼算法被攻破,就毫無安全性。除了密碼算法,安全性還受著一些機制的影響,需要不斷探索。

參考資料

  • 一種點對點的電子現金系統
  • A New Election Algorithm for DPos Consensus Mechanism in Blockchain
  • Proof of Vote: A High-Performance Consensus Protocol Based on Vote Mechanism & Consortium Blockchain
  • Deanonymisation of clients in Bitcoin P2P network
  • Tampering with the Delivery of Blocks and Transactions in Bitcoin

密碼與安全新技術專題之區塊鏈