當前位置:首頁 » 區塊鏈知識 » 區塊鏈橢圓曲線加密演算法

區塊鏈橢圓曲線加密演算法

發布時間: 2021-11-29 02:43:08

『壹』 什麼是比特幣加密技術

比特幣和區塊鏈的誕生需要依賴於很多核心技術的突破:一是拜占庭容錯技術;二是非對稱加密技術;三是點對點支付技術。下面會依次介紹。
拜占庭容錯技術
比特幣和區塊鏈誕生的首要難點在於如何創建分布式共識機制,也就是菜斯利·蘭伯特等人1982年提出的拜占庭將軍問題。所謂拜占庭將軍問題是指,把戰爭中互不信任的各城邦軍隊如何達成共識並決定是否出兵的決策過程。延伸至計算機領域,試圖創建具有容錯性的分布式系統,即使部分節點失效仍可確保系統正常運行,也可讓多個基於零信任基礎的節點達成共識,並確保信息傳遞的一致性。
中本聰所提到的「拜占庭將軍問題」解決方法起始於亞當﹒拜克在1997年發明的哈希現金演算法機制,起初該設計是用於限制垃圾郵件發送與拒絕服務攻擊。2004年,密碼朋克運動早期和重要成員哈爾·芬尼將亞當﹒拜克的哈希現金演算法改進為可復用的工作量證明機制。他們的研究又是基於達利亞·馬凱與邁克爾·瑞特的學術成果:拜占庭容錯機制。正是哈爾·芬尼的可復用的工作量證明機制後來成為比特幣的核心要素之一。哈爾·芬尼是中本聰的最早支持者,同時也是第一筆比特幣轉賬的接受者,在比特幣發展的早期與中本聰有大量互動與交流。
非對稱加密技術
比特幣的非對稱加密技術來源於以下幾項密碼學的技術創新:1976年,Sun公司前首席安全官Whitfield Diffie與斯坦福大學教授Martin Hell,在開創性論文《密碼學的新方向》首次提出公開鑰匙密碼學的概念,發明了非對稱加密演算法。1978年省理工學院的倫納德·阿德曼、羅納德·李維斯特、阿迪·薩莫爾三名研究人員,共同發明了公開鑰匙系統「RSA」可用於數據加密和簽名,率先開發第一個具備商業實用性的非對稱RSA加密演算法。1985年,Neal Koblitz和Victor Miller倆人,首次提出將橢圓曲線演算法(ECC),應用於密碼學,並建立公鑰加密的演算法,公鑰密碼演算法的原理是利用信息的不對稱性,公鑰對應的是私鑰,私鑰是解開所有信息的鑰匙,公鑰可以由私鑰反推算出。ECC能夠提供比RSA更高級別的安全。比特幣使用的就是橢圓曲線演算法公鑰用於接收比特幣,而私鑰則是比特幣支付時的交易簽名。這些加密演算法奠定了當前非對稱加密理論的基礎,被廣泛應用於網路通信領域。但是,當時這些加密技術發明均在NSA嚴密監視的視野之內。NSA最初認為它們對國家安全構成威脅,並將其視為軍用技術。直到20世紀90年代末,NSA才放棄對這些非對稱加密技術的控制,RSA演算法、ECC演算法等非對稱加密技術最終得以走進公眾領域。
不過,中本聰並不信任NSA公布的加密技術,在比特幣系統中沒有使用RSA公鑰系統,原因除了ECC能夠提供比RSA更高級別的安全性能外,還擔心美國安全部門在RSA留有技術後門。2013年9月,斯諾登就曾爆料NSA採用秘密方法控制加密國際標准,比特幣採用的RSA可能留有後門,NSA能以不為人知的方法弱化這條曲線。所幸的是,中本聰神一般走位避開了RSA的陷阱,使用的加密技術不是NSA的標准,而是另一條鮮為人知的橢圓曲線,這條曲線並不在美國RSA的掌握之下。全世界只有極少數程序躲過了這一漏洞,比特幣便是其中之一。

『貳』 區塊鏈安全問題應該怎麼解決

區塊鏈項目(尤其是公有鏈)的一個特點是開源。通過開放源代碼,來提高項目的可信性,也使更多的人可以參與進來。但源代碼的開放也使得攻擊者對於區塊鏈系統的攻擊變得更加容易。近兩年就發生多起黑客攻擊事件,近日就有匿名幣Verge(XVG)再次遭到攻擊,攻擊者鎖定了XVG代碼中的某個漏洞,該漏洞允許惡意礦工在區塊上添加虛假的時間戳,隨後快速挖出新塊,短短的幾個小時內謀取了近價值175萬美元的數字貨幣。雖然隨後攻擊就被成功制止,然而沒人能夠保證未來攻擊者是否會再次出擊。
當然,區塊鏈開發者們也可以採取一些措施
一是使用專業的代碼審計服務,
二是了解安全編碼規范,防患於未然。
密碼演算法的安全性
隨著量子計算機的發展將會給現在使用的密碼體系帶來重大的安全威脅。區塊鏈主要依賴橢圓曲線公鑰加密演算法生成數字簽名來安全地交易,目前最常用的ECDSA、RSA、DSA 等在理論上都不能承受量子攻擊,將會存在較大的風險,越來越多的研究人員開始關注能夠抵抗量子攻擊的密碼演算法。
當然,除了改變演算法,還有一個方法可以提升一定的安全性:
參考比特幣對於公鑰地址的處理方式,降低公鑰泄露所帶來的潛在的風險。作為用戶,尤其是比特幣用戶,每次交易後的余額都採用新的地址進行存儲,確保有比特幣資金存儲的地址的公鑰不外泄。
共識機制的安全性
當前的共識機制有工作量證明(Proof of Work,PoW)、權益證明(Proof of Stake,PoS)、授權權益證明(Delegated Proof of Stake,DPoS)、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面臨51%攻擊問題。由於PoW 依賴於算力,當攻擊者具備算力優勢時,找到新的區塊的概率將會大於其他節點,這時其具備了撤銷已經發生的交易的能力。需要說明的是,即便在這種情況下,攻擊者也只能修改自己的交易而不能修改其他用戶的交易(攻擊者沒有其他用戶的私鑰)。
在PoS 中,攻擊者在持有超過51%的Token 量時才能夠攻擊成功,這相對於PoW 中的51%算力來說,更加困難。
在PBFT 中,惡意節點小於總節點的1/3 時系統是安全的。總的來說,任何共識機制都有其成立的條件,作為攻擊者,還需要考慮的是,一旦攻擊成功,將會造成該系統的價值歸零,這時攻擊者除了破壞之外,並沒有得到其他有價值的回報。
對於區塊鏈項目的設計者而言,應該了解清楚各個共識機制的優劣,從而選擇出合適的共識機制或者根據場景需要,設計新的共識機制。
智能合約的安全性
智能合約具備運行成本低、人為干預風險小等優勢,但如果智能合約的設計存在問題,將有可能帶來較大的損失。2016 年6 月,以太坊最大眾籌項目The DAO 被攻擊,黑客獲得超過350 萬個以太幣,後來導致以太坊分叉為ETH 和ETC。
對此提出的措施有兩個方面:
一是對智能合約進行安全審計,
二是遵循智能合約安全開發原則。
智能合約的安全開發原則有:對可能的錯誤有所准備,確保代碼能夠正確的處理出現的bug 和漏洞;謹慎發布智能合約,做好功能測試與安全測試,充分考慮邊界;保持智能合約的簡潔;關注區塊鏈威脅情報,並及時檢查更新;清楚區塊鏈的特性,如謹慎調用外部合約等。
數字錢包的安全性
數字錢包主要存在三方面的安全隱患:第一,設計缺陷。2014 年底,某簽報因一個嚴重的隨機數問題(R 值重復)造成用戶丟失數百枚數字資產。第二,數字錢包中包含惡意代碼。第三,電腦、手機丟失或損壞導致的丟失資產。
應對措施主要有四個方面:
一是確保私鑰的隨機性;
二是在軟體安裝前進行散列值校驗,確保數字錢包軟體沒有被篡改過;
三是使用冷錢包;
四是對私鑰進行備份。

『叄』 區塊鏈如何保證使用安全

區塊鏈項目(尤其是公有鏈)的一個特點是開源。通過開放源代碼,來提高項目的可信性,也使更多的人可以參與進來。但源代碼的開放也使得攻擊者對於區塊鏈系統的攻擊變得更加容易。近兩年就發生多起黑客攻擊事件,近日就有匿名幣Verge(XVG)再次遭到攻擊,攻擊者鎖定了XVG代碼中的某個漏洞,該漏洞允許惡意礦工在區塊上添加虛假的時間戳,隨後快速挖出新塊,短短的幾個小時內謀取了近價值175萬美元的數字貨幣。雖然隨後攻擊就被成功制止,然而沒人能夠保證未來攻擊者是否會再次出擊。

當然,區塊鏈開發者們也可以採取一些措施

一是使用專業的代碼審計服務,

二是了解安全編碼規范,防患於未然。

密碼演算法的安全性

隨著量子計算機的發展將會給現在使用的密碼體系帶來重大的安全威脅。區塊鏈主要依賴橢圓曲線公鑰加密演算法生成數字簽名來安全地交易,目前最常用的ECDSA、RSA、DSA 等在理論上都不能承受量子攻擊,將會存在較大的風險,越來越多的研究人員開始關注能夠抵抗量子攻擊的密碼演算法。

當然,除了改變演算法,還有一個方法可以提升一定的安全性:

參考比特幣對於公鑰地址的處理方式,降低公鑰泄露所帶來的潛在的風險。作為用戶,尤其是比特幣用戶,每次交易後的余額都採用新的地址進行存儲,確保有比特幣資金存儲的地址的公鑰不外泄。

共識機制的安全性

當前的共識機制有工作量證明(Proof of Work,PoW)、權益證明(Proof of Stake,PoS)、授權權益證明(Delegated Proof of Stake,DPoS)、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等。

PoW 面臨51%攻擊問題。由於PoW 依賴於算力,當攻擊者具備算力優勢時,找到新的區塊的概率將會大於其他節點,這時其具備了撤銷已經發生的交易的能力。需要說明的是,即便在這種情況下,攻擊者也只能修改自己的交易而不能修改其他用戶的交易(攻擊者沒有其他用戶的私鑰)。

在PoS 中,攻擊者在持有超過51%的Token 量時才能夠攻擊成功,這相對於PoW 中的51%算力來說,更加困難。

在PBFT 中,惡意節點小於總節點的1/3 時系統是安全的。總的來說,任何共識機制都有其成立的條件,作為攻擊者,還需要考慮的是,一旦攻擊成功,將會造成該系統的價值歸零,這時攻擊者除了破壞之外,並沒有得到其他有價值的回報。

對於區塊鏈項目的設計者而言,應該了解清楚各個共識機制的優劣,從而選擇出合適的共識機制或者根據場景需要,設計新的共識機制。

智能合約的安全性

智能合約具備運行成本低、人為干預風險小等優勢,但如果智能合約的設計存在問題,將有可能帶來較大的損失。2016 年6 月,以太坊最大眾籌項目The DAO 被攻擊,黑客獲得超過350 萬個以太幣,後來導致以太坊分叉為ETH 和ETC。

對此提出的措施有兩個方面:

一是對智能合約進行安全審計,

二是遵循智能合約安全開發原則。

智能合約的安全開發原則有:對可能的錯誤有所准備,確保代碼能夠正確的處理出現的bug 和漏洞;謹慎發布智能合約,做好功能測試與安全測試,充分考慮邊界;保持智能合約的簡潔;關注區塊鏈威脅情報,並及時檢查更新;清楚區塊鏈的特性,如謹慎調用外部合約等。

數字錢包的安全性

數字錢包主要存在三方面的安全隱患:第一,設計缺陷。2014 年底,某簽報因一個嚴重的隨機數問題(R 值重復)造成用戶丟失數百枚數字資產。第二,數字錢包中包含惡意代碼。第三,電腦、手機丟失或損壞導致的丟失資產。

應對措施主要有四個方面:

一是確保私鑰的隨機性;

二是在軟體安裝前進行散列值校驗,確保數字錢包軟體沒有被篡改過;

三是使用冷錢包;

四是對私鑰進行備份。

『肆』 通俗易懂的講清楚什麼是區塊鏈

區塊鏈的英文是Blockchain。Block的字面意思是塊、區塊,而chain的意思是鏈、鎖鏈,所以,合起來就翻譯成區塊鏈了。
1.利用密碼學技術,進行加密和解密,使得記錄無法被篡改。常見的區塊鏈加密方式有哈希演算法、RSA演算法、橢圓曲線演算法等;
2.巨大的運算量需要有合理的獎勵機制支撐。因為每筆交易都要記錄,所以迄今為止,比特幣的區塊鏈已經有60多個G。每筆新交易產生需要把與交易賬戶相關的信息都確認一遍,才能確定交易有效,巨大的計算量需要算力強大的計算機來完成。
為鼓勵強大的算力參與進來,比特幣給予兩種獎勵:一是每天發放一定數量的比特幣給這些計算機;而是將轉賬手續費全部獎勵給這些計算機。(這些計算機的專業術語叫「礦機」,持有礦機的人,稱為「礦工」。)
幣盈中國則在資產數字化方面進行努力,推出了數字貨幣眾籌平台幣盈中國。

『伍』 區塊鏈技術中的哈希演算法是什麼

1.1. 簡介

計算機行業從業者對哈希這個詞應該非常熟悉,哈希能夠實現數據從一個維度向另一個維度的映射,通常使用哈希函數實現這種映射。通常業界使用y = hash(x)的方式進行表示,該哈希函數實現對x進行運算計算出一個哈希值y。
區塊鏈中哈希函數特性:

  • 函數參數為string類型;

  • 固定大小輸出;

  • 計算高效;

  • collision-free 即沖突概率小:x != y => hash(x) != hash(y)

    隱藏原始信息:例如區塊鏈中各個節點之間對交易的驗證只需要驗證交易的信息熵,而不需要對原始信息進行比對,節點間不需要傳輸交易的原始數據只傳輸交易的哈希即可,常見演算法有SHA系列和MD5等演算法

  • 1.2. 哈希的用法

    哈希在區塊鏈中用處廣泛,其一我們稱之為哈希指針(Hash Pointer)
    哈希指針是指該變數的值是通過實際數據計算出來的且指向實際的數據所在位置,即其既可以表示實際數據內容又可以表示實際數據的存儲位置。下圖為Hash Pointer的示意圖


『陸』 區塊鏈網站如何做好安全防護的一些工作,遭受到攻擊時,應該如何解決

微三雲回答到:區塊鏈開發者們可以採取一些措施
一是使用專業的代碼審計服務,
二是了解安全編碼規范,防患於未然。
密碼演算法的安全性
隨著量子計算機的發展將會給現在使用的密碼體系帶來重大的安全威脅。區塊鏈主要依賴橢圓曲線公鑰加密演算法生成數字簽名來安全地交易,目前最常用的ECDSA、RSA、DSA 等在理論上都不能承受量子攻擊,將會存在較大的風險,越來越多的研究人員開始關注能夠抵抗量子攻擊的密碼演算法。
當然,除了改變演算法,還有一個方法可以提升一定的安全性:
參考比特幣對於公鑰地址的處理方式,降低公鑰泄露所帶來的潛在的風險。作為用戶,尤其是比特幣用戶,每次交易後的余額都採用新的地址進行存儲,確保有比特幣資金存儲的地址的公鑰不外泄。
共識機制的安全性
當前的共識機制有工作量證明(Proof of Work,PoW)、權益證明(Proof of Stake,PoS)、授權權益證明(Delegated Proof of Stake,DPoS)、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等。

『柒』 為什麼區塊鏈私鑰 中的字母只有a-f之間

私鑰:實際上是一組隨機數,關於區塊鏈中的隨機數我們已經介紹過了
公鑰:對私鑰進行橢圓曲線加密演算法生成,但是無法通過公鑰倒推得到私鑰。公鑰的作用是在和對方交易時,使用自己的私鑰加密信息,然後對方使用自己的公鑰解密獲得原始信息,這個過程俗稱簽名。
地址:由於公鑰太長,在交易中不方便使用,就對公鑰哈希進行SHA256、RIPEMD160、Base58演算法加密生成地址

  • 首先使用隨機數發生器生成一個『私鑰』。後續的公鑰、地址都會由私鑰生成,所以一句話概括私鑰的重要性:"誰掌握了私鑰, 誰就掌握了該錢包的使用權!"

  • 『私鑰』經過橢圓曲線演算法(SECP256K1)演算法加密生成了'公鑰'。這是一種非對稱單向加密演算法,知道私鑰可以算出公鑰,但知道公鑰卻無法反向算出私鑰

  • 『公鑰』經過單向Hash演算法(SHA256、RIPEMD160)生成『公鑰Hash』

  • 將一個位元組的地址版本號連接到『公鑰哈希』頭部(對於比特幣網路的pubkey地址,這一位元組為「0」),然後對其進行兩次SHA256運算,將結果的前4位元組作為『公鑰哈希』的校驗值,連接在其尾部。

  • 將上一步結果使用BASE58進行編碼(比特幣定製版本),就得到了『錢包地址』。

『捌』 區塊鏈來了,會成為郵幣卡的詩和遠方嗎

技術1:區塊+鏈

關於如何建立一個嚴謹資料庫的問題,區塊鏈的辦法是:將資料庫的結構進行創新,把數據分成不同的區塊,每個區塊通過特定的信息鏈接到上一區塊的後面,前後順連來呈現一套完整的數據,這也是「區塊鏈」這三個字的來源。

區塊(block):在區塊鏈技術中,數據以電子記錄的形式被永久儲存下來,存放這些電子記錄的文件我們就稱之為「區塊(block)」。區塊是按時間順序一個一個先後生成的,每一個區塊記錄下它在被創建期間發生的所有價值交換活動,所有區塊匯總起來形成一個記錄合集。

區塊結構(BlockStructure):區塊中會記錄下區塊生成時間段內的交易數據,區塊主體實際上就是交易信息的合集。每一種區塊鏈的結構設計可能不完全相同,但大結構上分為塊頭(header)和塊身(body)兩部分。塊頭用於鏈接到前面的塊並且為區塊鏈資料庫提供完整性的保證,塊身則包含了經過驗證的、塊創建過程中發生的價值交換的所有記錄。

布比區塊鏈:利用密碼學可證明的演算法構建多中心網路信任,公開、透明、不可篡改、不可撤銷;多方參與信息透明共享,建立真品溯源的全程鏈式路徑,直達消費者;

區塊結構有兩個非常重要的特點:第一,每一個區塊上記錄的交易是上一個區塊形成之後、該區塊被創建前發生的所有價值交換活動,這個特點保證了資料庫的完整性。第二,在絕大多數情況下,一旦新區塊完成後被加入到區塊鏈的最後,則此區塊的數據記錄就再也不能改變或刪除。這個特點保證了資料庫的嚴謹性,即無法被篡改。

顧名思義,區塊鏈就是區塊以鏈的方式組合在一起,以這種方式形成的資料庫我們稱之為區塊鏈資料庫。區塊鏈是系統內所有節點共享的交易資料庫,這些節點基於價值交換協議參與到區塊鏈的網路中來。

區塊鏈是如何做到的呢?由於每一個區塊的塊頭都包含了前一個區塊的交易信息壓縮值,這就使得從創世塊(第一個區塊)到當前區塊連接在一起形成了一條長鏈。由於如果不知道前一區塊的「交易縮影」值,就沒有辦法生成當前區塊,因此每個區塊必定按時間順序跟隨在前一個區塊之後。這種所有區塊包含前一個區塊引用的結構讓現存的區塊集合形成了一條數據長鏈。

總結區塊鏈的基本結構:「人們把一段時間內生成的信息(包括數據或代碼)打包成一個區塊,蓋上時間 戳,與上一個區塊銜接在一起,每下一個區塊的頁首都包含了上一個區塊的索引數據,然後再在本頁中寫入新的信息,從而形成新的區塊,首尾相連,最終形成了區塊鏈。」這個結構的神奇之處:區塊(完整歷史)+ 鏈(完全驗證)= 時間戳

「區塊+鏈」的結構為我們提供了一個資料庫的完整歷史。從第一個區塊開始,到最新產生的區塊為止,區塊鏈上存儲了系統全部的歷史數據。

區塊鏈為我們提供了資料庫內每一筆數據的查找功能。區塊鏈上的每一條交易數據,都可以通過「區塊鏈」的結構追本溯源,一筆一筆進行驗證。

區塊+鏈=時間戳,這是區塊鏈資料庫的最大創新點。區塊鏈資料庫讓全網的記錄者在每一個區塊中都蓋上一個時間戳來記賬,表示這個信息是這個時間寫入的,形成了一個不可篡改、不可偽造的資料庫。我們認為,時間戳是區塊鏈中一項偉大的技術創新,它可以證明什麼呢?

技術2:分布式結構——開源的、去中心化的協議

我們有了區塊+鏈的數據之後,接下來就要考慮記錄和存儲的問題了。我們應該讓誰來參與數據的記錄,又應該把這些蓋了時間戳的數據存儲在哪裡呢?在現如今中心化的體系中,數據都是集中記錄並存儲於中央電腦上。但是區塊鏈結構設計精妙的地方就在這里,它並不贊同把數據記錄並存儲在中心化的一台或幾台電腦上,而是讓每一個參與數據交易的節點都記錄並存儲下所有的數據。

1.關於如何讓所有節點都能參與記錄的問題,區塊鏈的辦法是:構建一整套協議機制,讓全網每一個節點在參與記錄的同時也來驗證其他節點記錄結果的正確性。只有當全網大部分節點(或甚至所有節點)都同時認為這個記錄正確時,或者所有參與記錄的節點都比對結果一致通過後,記錄的真實性才能得到全網認可,記錄數據才允許被寫入區塊中。

2.關於如何存儲下「區塊鏈」這套嚴謹資料庫的問題,區塊鏈的辦法是:構建一個分布式結構的網路系統,讓資料庫中的所有數據都實時更新並存放於所有參與記錄的網路節點中。這樣即使部分節點損壞或被黑客攻擊,也不會影響整個資料庫的數據記錄與信息更新。

區塊鏈根據系統確定的開源的、去中心化的協議,構建了一個分布式的結構體系,讓價值交換的信息通過分布式傳播發送給全網,通過分布式記賬確定信息數據內容,蓋上時間戳後生成區塊數據,再通過分布式傳播發送給各個節點,實現分布式存儲。

分布式記賬——會計責任的分散化(Distributedaccountability)

從硬體的角度講,區塊鏈的背後是大量的信息記錄儲存器(如電腦等)組成的網路,這一網路如何記錄發生在網路中的所有價值交換活動呢?區塊鏈設計者沒有為專業的會計記錄者預留一個特定的位置,而是希望通過自願原則來建立一套人人都可以參與記錄信息的分布式記賬體系,從而將會計責任分散化,由整個網路的所有參與者來共同記錄。

區塊鏈中每一筆新交易的傳播都採用分布式的結構,根據P2P網路層協議,消息由單個節點被直接發送給全網其他所有的節點。

區塊鏈技術讓資料庫中的所有數據均存儲於系統所有的電腦節點中,並實時更新。完全去中心化的結構設置使數據能實時記錄,並在每一個參與數據存儲的網路節點中更新,這就極大的提高了資料庫的安全性。

通過分布式記賬、分布式傳播、分布式存儲這三大「分布」我們可以發現,沒有人、沒有組織、甚至沒有哪個國家能夠控制這個系統,系統內的數據存儲、交易驗證、信息傳輸過程全部都是去中心化的。在沒有中心的情況下,大規模的參與者達成共識,共同構建了區塊鏈資料庫。可以說,這是人類歷史上第一次構建了一個真正意義上的去中心化體系。甚至可以說,區塊鏈技術構建了一套永生不滅的系統——只要不是網路中的所有參與節點在同一時間集體崩潰,資料庫系統就可以一直運轉下去。

我們現在已經有了一套嚴謹的資料庫,也有了記錄並存儲這套資料庫的可用協議,那麼當我們將這套資料庫運用於實際社會時,我們要解決最核心的一個問題(問題三)是:如何使這個嚴謹且完整存儲下來的資料庫變得可信賴,使得我們可以在互聯網無實名背景下成功防止詐騙?

技術3:非對稱加密演算法

什麼是非對稱加密?簡單來說,它讓我們在「加密」和「解密」的過程中分別使用兩個密碼,兩個密碼具有非對稱的特點:(1)加密時的密碼(在區塊鏈中被稱為「公鑰」)是公開全網可見的,所有人都可以用自己的公鑰來加密一段信息(信息的真實性);(2)解密時的密碼(在區塊鏈中被稱為「私鑰」)是只有信息擁有者才知道的,被加密過的信息只有擁有相應私鑰的人才能夠解密(信息的安全性)。

簡單的總結:區塊鏈系統內,所有權驗證機制的基礎是非對稱加密演算法。常見的非對稱加密演算法包括RSA、Elgamal、D-H、ECC(橢圓曲線加密演算法)等。在非對稱加密演算法中,如果一個「密鑰對」中的兩個密鑰滿足以下兩個條件:1、對信息用其中一個密鑰加密後,只有用另一個密鑰才能解開;2、其中一個密鑰公開後,根據公開的密鑰別人也無法算出另一個,那麼我們就稱這個密鑰對為非對稱密鑰對,公開的密鑰稱為公鑰,不公開的密鑰稱為私鑰。在區塊鏈系統的交易中,非對稱密鑰的基本使用場景有兩種:1、公鑰對交易信息加密,私鑰對交易信息解密。私鑰持有人解密後,可以使用收到的價值。2、私鑰對信息簽名,公鑰驗證簽名。通過公鑰簽名驗證的信息確認為私鑰持有人發出。

我們可以看出,從信任的角度來看,區塊鏈實際上是數學方法解決信任問題的產物。過去,人們解決信任問題可能依靠熟人社會的「老鄉」,政黨社會的「同志」,傳統互聯網中的交易平台「支付寶」。而區塊鏈技術中,所有的規則事先都以演算法程序的形式表述出來,人們完全不需要知道交易的對手方是「君子」還是「小人」,更不需要求助中心化的第三方機構來進行交易背書,而只需要信任數學演算法就可以建立互信。區塊鏈技術的背後,實質上是演算法在為人們創造信用,達成共識背書。

技術4:腳本

腳本可以理解為一種可編程的智能合約。如果區塊鏈技術只是為了適應某種特定的交易,那腳本的嵌入就沒有必要了,系統可以直接定義完成價值交換活動需要滿足的條件。然而,在一個去中心化的環境下,所有的協議都需要提前取得共識,那腳本的引入就顯得不可或缺了。有了腳本之後,區塊鏈技術就會使系統有機會去處理一些無法預見到的交易模式,保證了這一技術在未來的應用中不會過時,增加了技術的實用性。

一個腳本本質上是眾多指令的列表,這些指令記錄在每一次的價值交換活動中,價值交換活動的接收者(價值的持有人)如何獲得這些價值,以及花費掉自己曾收到的留存價值需要滿足哪些附加條件。通常,發送價值到目標地址的腳本,要求價值的持有人提供以下兩個條件,才能使用自己之前收到的價值:一個公鑰,以及一個簽名(證明價值的持有者擁有與上述公鑰相對應的私鑰)。腳本的神奇之處在於,它具有可編程性:(1)它可以靈活改變花費掉留存價值的條件,例如腳本系統可能會同時要求兩個私鑰、或幾個私鑰、或無需任何私鑰等;(2)它可以靈活的在發送價值時附加一些價值再轉移的條件,例如腳本系統可以約定這一筆發送出去的價 值以後只能用於支付中信證券的手續費。

『玖』 區塊鏈使用安全如何來保證呢

區塊鏈本身解決的就是陌生人之間大規模協作問題,即陌生人在不需要彼此信任的情況下就可以相互協作。那麼如何保證陌生人之間的信任來實現彼此的共識機制呢?中心化的系統利用的是可信的第三方背書,比如銀行,銀行在老百姓看來是可靠的值得信任的機構,老百姓可以信賴銀行,由銀行解決現實中的糾紛問題。但是,去中心化的區塊鏈是如何保證信任的呢?
實際上,區塊鏈是利用現代密碼學的基礎原理來確保其安全機制的。密碼學和安全領域所涉及的知識體系十分繁雜,我這里只介紹與區塊鏈相關的密碼學基礎知識,包括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)
隨著量子計算和量子通信的研究受到越來越多的關注,未來量子密碼學將對密碼學信息安全產生巨大沖擊。
量子計算的核心原理就是利用量子比特可以同時處於多個相干疊加態,理論上可以通過少量量子比特來表達大量信息,同時進行處理,大大提高計算速度。
這樣的話,目前的大量加密演算法,從理論上來說都是不可靠的,是可被破解的,那麼使得加密演算法不得不升級換代,否則就會被量子計算所攻破。
眾所周知,量子計算現在還僅停留在理論階段,距離大規模商用還有較遠的距離。不過新一代的加密演算法,都要考慮到這種情況存在的可能性。

熱點內容
aml比特幣 發布:2025-08-26 22:16:46 瀏覽:39
區塊鏈硬分叉軟分叉 發布:2025-08-26 22:07:58 瀏覽:485
ethflypoolorg 發布:2025-08-26 21:51:13 瀏覽:652
以太坊有沒有買的必要 發布:2025-08-26 21:23:31 瀏覽:341
usdt交易所數量 發布:2025-08-26 21:14:01 瀏覽:756
fil節點錢包可以用冷錢包嗎 發布:2025-08-26 21:13:54 瀏覽:48
shib怎麼轉成usdt 發布:2025-08-26 20:26:01 瀏覽:291
貨幣鏈usdt圖標 發布:2025-08-26 20:21:48 瀏覽:35
電信合約期的套餐怎麼取消 發布:2025-08-26 19:45:12 瀏覽:985
btc能用手機挖礦嗎 發布:2025-08-26 19:36:12 瀏覽:979