區塊鏈密鑰協商
⑴ 區塊鏈中點對點分布式技術是指什麼
「一種基於網路的計算機處理技術,與集中式相對應。由於個人計算機的性能得到極大的提高及其使用的普及,使處理能力分布到網路上的所有計算機成為可能。分布式計算是和集中式計算相對立的概念,分布式計算的數據可以分布在很大區域。」
⑵ 區塊鏈使用安全如何來保證呢
區塊鏈本身解決的就是陌生人之間大規模協作問題,即陌生人在不需要彼此信任的情況下就可以相互協作。那麼如何保證陌生人之間的信任來實現彼此的共識機制呢?中心化的系統利用的是可信的第三方背書,比如銀行,銀行在老百姓看來是可靠的值得信任的機構,老百姓可以信賴銀行,由銀行解決現實中的糾紛問題。但是,去中心化的區塊鏈是如何保證信任的呢?
實際上,區塊鏈是利用現代密碼學的基礎原理來確保其安全機制的。密碼學和安全領域所涉及的知識體系十分繁雜,我這里只介紹與區塊鏈相關的密碼學基礎知識,包括Hash演算法、加密演算法、信息摘要和數字簽名、零知識證明、量子密碼學等。您可以通過這節課來了解運用密碼學技術下的區塊鏈如何保證其機密性、完整性、認證性和不可抵賴性。
基礎課程第七課 區塊鏈安全基礎知識
一、哈希演算法(Hash演算法)
哈希函數(Hash),又稱為散列函數。哈希函數:Hash(原始信息) = 摘要信息,哈希函數能將任意長度的二進制明文串映射為較短的(一般是固定長度的)二進制串(Hash值)。
一個好的哈希演算法具備以下4個特點:
1、 一一對應:同樣的明文輸入和哈希演算法,總能得到相同的摘要信息輸出。
2、 輸入敏感:明文輸入哪怕發生任何最微小的變化,新產生的摘要信息都會發生較大變化,與原來的輸出差異巨大。
3、 易於驗證:明文輸入和哈希演算法都是公開的,任何人都可以自行計算,輸出的哈希值是否正確。
4、 不可逆:如果只有輸出的哈希值,由哈希演算法是絕對無法反推出明文的。
5、 沖突避免:很難找到兩段內容不同的明文,而它們的Hash值一致(發生碰撞)。
舉例說明:
Hash(張三借給李四10萬,借期6個月) = 123456789012
賬本上記錄了123456789012這樣一條記錄。
可以看出哈希函數有4個作用:
簡化信息
很好理解,哈希後的信息變短了。
標識信息
可以使用123456789012來標識原始信息,摘要信息也稱為原始信息的id。
隱匿信息
賬本是123456789012這樣一條記錄,原始信息被隱匿。
驗證信息
假如李四在還款時欺騙說,張三隻借給李四5萬,雙方可以用哈希取值後與之前記錄的哈希值123456789012來驗證原始信息
Hash(張三借給李四5萬,借期6個月)=987654321098
987654321098與123456789012完全不同,則證明李四說謊了,則成功的保證了信息的不可篡改性。
常見的Hash演算法包括MD4、MD5、SHA系列演算法,現在主流領域使用的基本都是SHA系列演算法。SHA(Secure Hash Algorithm)並非一個演算法,而是一組hash演算法。最初是SHA-1系列,現在主流應用的是SHA-224、SHA-256、SHA-384、SHA-512演算法(通稱SHA-2),最近也提出了SHA-3相關演算法,如以太坊所使用的KECCAK-256就是屬於這種演算法。
MD5是一個非常經典的Hash演算法,不過可惜的是它和SHA-1演算法都已經被破解,被業內認為其安全性不足以應用於商業場景,一般推薦至少是SHA2-256或者更安全的演算法。
哈希演算法在區塊鏈中得到廣泛使用,例如區塊中,後一個區塊均會包含前一個區塊的哈希值,並且以後一個區塊的內容+前一個區塊的哈希值共同計算後一個區塊的哈希值,保證了鏈的連續性和不可篡改性。
二、加解密演算法
加解密演算法是密碼學的核心技術,從設計理念上可以分為兩大基礎類型:對稱加密演算法與非對稱加密演算法。根據加解密過程中所使用的密鑰是否相同來加以區分,兩種模式適用於不同的需求,恰好形成互補關系,有時也可以組合使用,形成混合加密機制。
對稱加密演算法(symmetric cryptography,又稱公共密鑰加密,common-key cryptography),加解密的密鑰都是相同的,其優勢是計算效率高,加密強度高;其缺點是需要提前共享密鑰,容易泄露丟失密鑰。常見的演算法有DES、3DES、AES等。
非對稱加密演算法(asymmetric cryptography,又稱公鑰加密,public-key cryptography),與加解密的密鑰是不同的,其優勢是無需提前共享密鑰;其缺點在於計算效率低,只能加密篇幅較短的內容。常見的演算法有RSA、SM2、ElGamal和橢圓曲線系列演算法等。 對稱加密演算法,適用於大量數據的加解密過程;不能用於簽名場景:並且往往需要提前分發好密鑰。非對稱加密演算法一般適用於簽名場景或密鑰協商,但是不適於大量數據的加解密。
三、信息摘要和數字簽名
顧名思義,信息摘要是對信息內容進行Hash運算,獲取唯一的摘要值來替代原始完整的信息內容。信息摘要是Hash演算法最重要的一個用途。利用Hash函數的抗碰撞性特點,信息摘要可以解決內容未被篡改過的問題。
數字簽名與在紙質合同上簽名確認合同內容和證明身份類似,數字簽名基於非對稱加密,既可以用於證明某數字內容的完整性,同時又可以確認來源(或不可抵賴)。
我們對數字簽名有兩個特性要求,使其與我們對手寫簽名的預期一致。第一,只有你自己可以製作本人的簽名,但是任何看到它的人都可以驗證其有效性;第二,我們希望簽名只與某一特定文件有關,而不支持其他文件。這些都可以通過我們上面的非對稱加密演算法來實現數字簽名。
在實踐中,我們一般都是對信息的哈希值進行簽名,而不是對信息本身進行簽名,這是由非對稱加密演算法的效率所決定的。相對應於區塊鏈中,則是對哈希指針進行簽名,如果用這種方式,前面的是整個結構,而非僅僅哈希指針本身。
四 、零知識證明(Zero Knowledge proof)
零知識證明是指證明者在不向驗證者提供任何額外信息的前提下,使驗證者相信某個論斷是正確的。
零知識證明一般滿足三個條件:
1、 完整性(Complteness):真實的證明可以讓驗證者成功驗證;
2、 可靠性(Soundness):虛假的證明無法讓驗證者通過驗證;
3、 零知識(Zero-Knowledge):如果得到證明,無法從證明過程中獲知證明信息之外的任何信息。
五、量子密碼學(Quantum cryptography)
隨著量子計算和量子通信的研究受到越來越多的關注,未來量子密碼學將對密碼學信息安全產生巨大沖擊。
量子計算的核心原理就是利用量子比特可以同時處於多個相干疊加態,理論上可以通過少量量子比特來表達大量信息,同時進行處理,大大提高計算速度。
這樣的話,目前的大量加密演算法,從理論上來說都是不可靠的,是可被破解的,那麼使得加密演算法不得不升級換代,否則就會被量子計算所攻破。
眾所周知,量子計算現在還僅停留在理論階段,距離大規模商用還有較遠的距離。不過新一代的加密演算法,都要考慮到這種情況存在的可能性。
⑶ 區塊鏈如何提高安全性和數據共享
針對現有區塊鏈技術的安全特性和缺點,需要圍繞物理、數據、應用系統、加密、風控等方面構建安全體系,整體提升區塊鏈系統的安全性能。
1、物理安全
運行區塊鏈系統的網路和主機應處於受保護的環境,其保護措施根據具體業務的監管要求不同,可採用不限於VPN專網、防火牆、物理隔離等方法,對物理網路和主機進行保護。
2、數據安全
區塊鏈的節點和節點之間的數據交換,原則上不應明文傳輸,例如可採用非對稱加密協商密鑰,用對稱加密演算法進行數據的加密和解密。數據提供方也應嚴格評估數據的敏感程度、安全級別,決定數據是否發送到區塊鏈,是否進行數據脫敏,並採用嚴格的訪問許可權控制措施。
3、應用系統安全
應用系統的安全需要從身份認證、許可權體系、交易規則、防欺詐策
略等方面著手,參與應用運行的相關人員、交易節點、交易數據應事前受控、事後可審計。以金融區塊鏈為例,可採用容錯能力更強、抗欺詐性和性能更高的共識演算法,避免部分節點聯合造假。
4、密鑰安全
對區塊鏈節點之間的通信數據加密,以及對區塊鏈節點上存儲數據加密的密鑰,不應明文存在同一個節點上,應通過加密機將私鑰妥善保存。在密鑰遺失或泄漏時,系統可識別原密鑰的相關記錄,如帳號控制、通信加密、數據存儲加密等,並實施響應措施使原密鑰失效。密鑰還應進行嚴格的生命周期管理,不應為永久有效,到達一定的時間周期後需進行更換。
5、風控機制
對系統的網路層、主機操作、應用系統的數據訪問、交易頻度等維度,應有周密的檢測措施,對任何可疑的操作,應進行告警、記錄、核查,如發現非法操作,應進行損失評估,在技術和業務層面進行補救,加固安全措施,並追查非法操作的來源,杜絕再次攻擊。
文章來源:中國區塊鏈技術和應用發展白皮書
⑷ 太希區塊鏈是真的嗎
01 區塊鏈的四大核心技術
1. P2P網路技術
實際上,在區塊鏈出現之前,分布式的P2P對等網路已經是很成熟的技術。今天,我們無論是在互聯網上下載電影還是視頻,都需要依賴這種名為P2P(即點對點)的網路傳輸協議。
P2P網路是整個區塊鏈的基礎計算架構。在區塊鏈分布式網路中,中央伺服器的概念被弱化,即不再需要任何中心樞紐。網路中的各個節點都可以作為一個獨立的個體存在。這些節點既能作為提供服務的伺服器,也能作為發送請求的客戶端。它們不再需要伺服器的橋接就可以直接交換資源:從一個節點上發出的信息經過驗證會被發送到周邊相鄰的節點,而每一個相鄰節點又會將交易發送到其他的相鄰節點,最終擴散到區塊鏈網路中所有的節點上,從而實現用戶與用戶之間資源的直接分享與利用。
所以,P2P網路技術就是一個非常對等、非常高效的傳輸協議。成千上萬個彼此相連的節點都處於對等的地位,並且可以自由進入和退出網路系統。正是由於P2P網路技術的這個特性,保障了區塊鏈技術是一個分布式的、去中心化的系統。
2. 加密技術
在加密技術方面,區塊鏈使用的是非對稱加密演算法。非對稱加密,即加密一條信息實際上不是用單個密鑰,而是用公鑰和私鑰兩個密鑰,它們可以保證在分布式網路中點對點信息傳遞的安全。
公鑰是全網公開可見的,所有人都可以用自己的公鑰加密一段信息,生成一個哈希值,來保障信息的完整性、真實性,並保證信息傳遞雙方在不用信任的網路上安全地傳輸密鑰。
私鑰是不公開的。信息擁有者要高度保護私鑰的安全,因為被公鑰加密過的信息只有擁有對應私鑰的人才能解密。具體來說,這種非對稱密鑰的工作原理是,在區塊鏈的信息傳遞過程中,信息發送方使用私鑰對信息簽名、使用信息接收方的公鑰對信息加密;信息接收方使用對方公鑰驗證信息發送方的身份、使用私鑰對加密信息解密。公私鑰加密與解密的成對出現保障了信息的完整性、一致性、安全性和不可篡改性。
鄒均介紹,除了非對稱加密演算法之外,在密碼學技術里,還有非對稱的數字簽名技術、保證數據唯一性的哈希技術、保護信息傳遞雙方敏感信息的隱私保護技術和包括防攻擊、身份認證、授權等在內的安全技術。基於密碼學產生的安全技術,是區塊鏈的核心安全技術。
3. 智能合約
「智能合約」這一術語是由法律學者尼克·薩博(Nick Szabo)在1995年首次提出的。他給出的定義是:智能合約是一套以數字形式定製的。
⑸ 360發現區塊鏈史詩級漏洞是什麼情況
近日,360公司Vulcan(伏爾甘)團隊發現了區塊鏈平台EOS的一系列高危安全漏洞。經驗證,其中部分漏洞可以在EOS節點上遠程執行任意代碼,即可以通過遠程攻擊,直接控制和接管EOS上運行的所有節點。
5月29日凌晨,360第一時間將該類漏洞上報EOS官方,並協助其修復安全隱患。EOS網路負責人表示,在修復這些問題之前,不會將EOS網路正式上線。
EOS超級節點攻擊:虛擬貨幣交易完全受控
在攻擊中,攻擊者會構造並發布包含惡意代碼的智能合約,EOS超級節點將會執行這個惡意合約,並觸發其中的安全漏洞。攻擊者再利用超級節點將惡意合約打包進新的區塊,進而導致網路中所有全節點(備選超級節點、交易所充值提現節點、數字貨幣錢包伺服器節點等)被遠程式控制制。
由於已經完全控制了節點的系統,攻擊者可以「為所欲為」,如竊取EOS超級節點的密鑰,控制EOS網路的虛擬貨幣交易;獲取EOS網路參與節點系統中的其他金融和隱私數據,例如交易所中的數字貨幣、保存在錢包中的用戶密鑰、關鍵的用戶資料和隱私數據等等。
更有甚者,攻擊者可以將EOS網路中的節點變為僵屍網路中的一員,發動網路攻擊或變成免費「礦工」,挖取其他數字貨幣。
來源:科技訊
⑹ 區塊鏈的私鑰要是丟了有什麼辦法找回嗎
先說結論:找不回!
區塊鏈之所以有匿名性,就是因為上面沒有你的身份,有的就只有地址和私鑰,要對地址上的資產進行操作,私鑰是唯一且必須的條件。作為區塊鏈用戶來說,私鑰就是一切。並且為了保證區塊鏈的安全,以目前的算力和技術,從地址倒推私鑰是絕對不可能可行的。如果可行,那麼整個區塊鏈上所有的地址均失去了安全性,區塊鏈上的資產就都失去了意義。
那麼這么難記的私鑰到底要怎麼解決應用問題呢,目前來看,區塊鏈錢包其實已經一定程度上滿足需求了,已經很少有人真的去記那樣復雜的私鑰來玩區塊鏈了。可信的第三方私鑰託管機構也是一種選擇(其實和在線熱錢包的概念很接近),然後和生物識別技術結合的私鑰體系也可以是一種探索方向。(指紋、聲紋等等)
更多區塊鏈有關的內容歡迎瀏覽我的匯總帖:
https://bbs.bumeng.cn/thread-848-1-1.html?hmsr=%E6%90%9C%E6%90%9C%E9%97%AE%E9%97%AE&hmpl=&hmcu=&hmkw=&hmci=
⑺ 區塊鏈密碼演算法是怎樣的
區塊鏈作為新興技術受到越來越廣泛的關注,是一種傳統技術在互聯網時代下的新的應用,這其中包括分布式數據存儲技術、共識機制和密碼學等。隨著各種區塊鏈研究聯盟的創建,相關研究得到了越來越多的資金和人員支持。區塊鏈使用的Hash演算法、零知識證明、環簽名等密碼演算法:
Hash演算法
哈希演算法作為區塊鏈基礎技術,Hash函數的本質是將任意長度(有限)的一組數據映射到一組已定義長度的數據流中。若此函數同時滿足:
(1)對任意輸入的一組數據Hash值的計算都特別簡單;
(2)想要找到2個不同的擁有相同Hash值的數據是計算困難的。
滿足上述兩條性質的Hash函數也被稱為加密Hash函數,不引起矛盾的情況下,Hash函數通常指的是加密Hash函數。對於Hash函數,找到使得被稱為一次碰撞。當前流行的Hash函數有MD5,SHA1,SHA2,SHA3。
比特幣使用的是SHA256,大多區塊鏈系統使用的都是SHA256演算法。所以這里先介紹一下SHA256。
1、 SHA256演算法步驟
STEP1:附加填充比特。對報文進行填充使報文長度與448模512同餘(長度=448mod512),填充的比特數范圍是1到512,填充比特串的最高位為1,其餘位為0。
STEP2:附加長度值。將用64-bit表示的初始報文(填充前)的位長度附加在步驟1的結果後(低位位元組優先)。
STEP3:初始化緩存。使用一個256-bit的緩存來存放該散列函數的中間及最終結果。
STEP4:處理512-bit(16個字)報文分組序列。該演算法使用了六種基本邏輯函數,由64 步迭代運算組成。每步都以256-bit緩存值為輸入,然後更新緩存內容。每步使用一個32-bit 常數值Kt和一個32-bit Wt。其中Wt是分組之後的報文,t=1,2,...,16 。
STEP5:所有的512-bit分組處理完畢後,對於SHA256演算法最後一個分組產生的輸出便是256-bit的報文。
2、環簽名
2001年,Rivest, shamir和Tauman三位密碼學家首次提出了環簽名。是一種簡化的群簽名,只有環成員沒有管理者,不需要環成員間的合作。環簽名方案中簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者。然後簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產生簽名,而無需他人的幫助。簽名者集合中的成員可能並不知道自己被包含在其中。
環簽名方案由以下幾部分構成:
(1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)。
(2)簽名。簽名者用自己的私鑰和任意n個環成員(包括自己)的公鑰為消息m生成簽名a。
(3)簽名驗證。驗證者根據環簽名和消息m,驗證簽名是否為環中成員所簽,如果有效就接收,否則丟棄。
環簽名滿足的性質:
(1)無條件匿名性:攻擊者無法確定簽名是由環中哪個成員生成,即使在獲得環成員私鑰的情況下,概率也不超過1/n。
(2)正確性:簽名必需能被所有其他人驗證。
(3)不可偽造性:環中其他成員不能偽造真實簽名者簽名,外部攻擊者即使在獲得某個有效環簽名的基礎上,也不能為消息m偽造一個簽名。
3、環簽名和群簽名的比較
(1)匿名性。都是一種個體代表群體簽名的體制,驗證者能驗證簽名為群體中某個成員所簽,但並不能知道為哪個成員,以達到簽名者匿名的作用。
(2)可追蹤性。群簽名中,群管理員的存在保證了簽名的可追蹤性。群管理員可以撤銷簽名,揭露真正的簽名者。環簽名本身無法揭示簽名者,除非簽名者本身想暴露或者在簽名中添加額外的信息。提出了一個可驗證的環簽名方案,方案中真實簽名者希望驗證者知道自己的身份,此時真實簽名者可以通過透露自己掌握的秘密信息來證實自己的身份。
(3)管理系統。群簽名由群管理員管理,環簽名不需要管理,簽名者只有選擇一個可能的簽名者集合,獲得其公鑰,然後公布這個集合即可,所有成員平等。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
⑻ 區塊鏈的基本要素包括
1-包含一個分布式資料庫
2-分布式資料庫是區塊鏈的物理載體,區塊鏈是交易的邏輯載體,所有核心節點都應包含該條區塊鏈數據的全副本
3-區塊鏈按時間序列化區塊,且區塊鏈是整個網路交易數據的唯一主體
4-區塊鏈只對添加有效,對其他操作無效
5-基於非對稱加密的公私鑰驗證
6-記賬節點要求拜占庭將軍問題可解/避免
7-共識過程(consensus progress)是演化穩定的,即面對一定量的不同節點的矛盾數據不會崩潰。
8-共識過程能夠解決double-spending問題。
區塊鏈的五個特點:
去中心化
由於使用分布式核算和存儲,不存在中心化的硬體或管理機構,任意節點的權利和義務都是均等的,系統中的數據塊由整個系統中具有維護功能的節點來共同維護。
得益於區塊鏈的去中心化特徵,比特幣也擁有去中心化的特徵 [6] 。
開放性
系統是開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人公開,任何人都可以通過公開的介面查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。
自治性
區塊鏈採用基於協商一致的規范和協議(比如一套公開透明的演算法)使得整個系統中的所有節點能夠在去信任的環境自由安全的交換數據,使得對「人」的信任改成了對機器的信任,任何人為的干預不起作用。
信息不可篡改
一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。
匿名性
由於節點之間的交換遵循固定的演算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),因此交易對手無須通過公開身份的方式讓對方自己產生信任,對信用的累積非常有幫助。
⑼ 區塊鏈中的私鑰是指什麼
私鑰公鑰這個名詞可謂是所有考題中最簡單的了。
公開的密鑰叫公鑰,只有自己知道的叫私鑰。
公鑰(Public Key)與私鑰(Private Key)是通過一種演算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。
一句話明了~
⑽ 什麼是區塊鏈加密演算法
區塊鏈加密演算法(EncryptionAlgorithm)
非對稱加密演算法是一個函數,通過使用一個加密鑰匙,將原來的明文文件或數據轉化成一串不可讀的密文代碼。加密流程是不可逆的,只有持有對應的解密鑰匙才能將該加密信息解密成可閱讀的明文。加密使得私密數據可以在低風險的情況下,通過公共網路進行傳輸,並保護數據不被第三方竊取、閱讀。
區塊鏈技術的核心優勢是去中心化,能夠通過運用數據加密、時間戳、分布式共識和經濟激勵等手段,在節點無需互相信任的分布式系統中實現基於去中心化信用的點對點交易、協調與協作,從而為解決中心化機構普遍存在的高成本、低效率和數據存儲不安全等問題提供了解決方案。
區塊鏈的應用領域有數字貨幣、通證、金融、防偽溯源、隱私保護、供應鏈、娛樂等等,區塊鏈、比特幣的火爆,不少相關的top域名都被注冊,對域名行業產生了比較大的影響。