當前位置:首頁 » 區塊鏈知識 » 敏感數據區塊鏈交易

敏感數據區塊鏈交易

發布時間: 2025-09-09 03:06:51

㈠ 一張圖了解什麼是區塊鏈(五分鍾帶你看懂什麼是區塊鏈)

簡單易懂地介紹什麼是區塊鏈

區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算範式。

比特幣萊特幣、普銀、以太幣等數字加密貨幣的底層技術都是區塊鏈,他們都只是區塊鏈的一種應用。

什麼是區塊鏈?一幅漫畫讓你看懂(小白必看)

「區塊鏈」一詞其實在早期的密碼學圈子裡,對於比特幣的底層技術就是稱為「比特幣」,英文則用大寫的B開頭的Bitcoin指比特幣這個網路系統或者網路協議。

但是由於大眾的混淆,現在一談起比特幣人們就十分抵觸,認為比特幣就是違法、騙局、傳銷的代名詞,是互聯網金融又一個現象級泡沫!於是乎,人們只好將所有的底層技術(時間戳、工作量證明機制等等等)合並起來,為了跟比特幣區分,重新取了個名字叫Blockchain,翻譯過來就成了「區塊鏈」,這才有了「區塊鏈」一詞的出現。

區塊鏈不是一個單一的技術,而是一系列技術的集合。

那區塊鏈到底應該如何理解呢?我們首先用大家都愛談的戀愛,舉個簡單的例子。建立一個簡單的區塊鏈模型,那麼在這個區塊鏈模型裡面談戀愛將會出現一下情況:

未來所有適齡男女戀愛,結婚的承諾全過程都被其他所有適齡男女共識,兩個人在一起發生的所有故事就會形成區塊。

其他所有男女就是鏈,如果有第三者來插足或自身違背另一半,其他人都能看到,以後就再也找不到對象了。

區塊鏈准確的說就是「全中心」體系,就是鏈上的每個節點都是中心。

試婚男女談戀愛,曬朋友圈,秀恩愛,承諾相愛一生一世並被其他所有適婚男女所知就是區塊鏈的應用。如果有一天某一方違背諾言,不要以為刪除照片就有用,因為樁樁件件都被所有適婚男女記錄在案。

不可刪除,不可更改,這就是區塊鏈技術。

區塊鏈是什麼通俗解釋,一張圖看懂區塊鏈

區塊鏈是什麼通俗解釋,一張圖看懂區塊鏈

區塊鏈是最近一個比較火熱的話題,很多人都在討論區塊鏈的問題,最近國內也有一些公司開始用區塊鏈的技術開發了一些產品,區塊鏈是用於比特幣的一種底層技術,這正式因為比特幣的大火讓很多人關注到了比特幣,但有很多人對於區塊鏈是什麼還並不了解,下面就給我來解釋一下區塊鏈。

比特幣是很多人比較關注的數字貨幣,而比特幣的底層技術就是區塊鏈,區塊鏈是一種計算機技術,是一種新型的應用模式。區塊鏈就好比是一個大的資料庫賬本,在這個大的賬本上記錄了所有的交易情況,而記錄這個賬本的人跟傳統的記賬有很大區別,傳統記賬通常是由專門的記賬方進行操作,例如淘寶、天貓是阿里巴巴進行記賬的,微信交易是由騰訊記賬的,而區塊鏈是由全民參與記賬,每個參與記賬的人入手都有一個賬本。

舉例來給大家說明,例如A想找B借款1萬元,B想將錢借給A,但是又擔心A借錢後賴賬不還,因此在借錢時會找第三方的公證人,由公證人幫忙B將這筆賬給記下來,這種就是傳統的記賬方式,靠第三方來獲取信任,記賬的賬本是在第三方手中的,這種記賬方式存在第三方篡改賬本的可能性,而去中心話的意思就是在借款時不需要公證人,不需要依靠第三方來獲取信任,去中心化的形勢就好比B給A借錢時,B拿著大喇叭喊」A找我借了一萬元錢,你們幫我記下賬「這個時候,大家都會拿著自己手上的賬本將這筆賬給記錄下來,每個人都有一個賬本,可以避免賬本被篡改的可能。

什麼是區塊鏈概念?區塊鏈究竟是什麼?三分鍾讀懂!

2019年10月25日,新聞聯播傳遞出一個非常重要的信號:國家要大力發展區塊鏈。之後,區塊鏈簡直就是網紅,大街小巷都飄盪著「區塊鏈「的身影。實際上,很多科技企業早已在區塊鏈技術上布局。

盡管說區塊鏈很火,但是很多人對於區塊鏈並不是很了解。

區塊鏈是什麼呢?

我們先看一下度娘是怎麼解釋的。網路顯示:區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。

區塊鏈為什麼會被叫做區塊鏈呢?

區塊鏈是由一個個的區塊鏈接而成,而區塊是一個一個的存儲單元,記錄了各區塊節點的交流信息,區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。而隨著信息交流的擴大,一個區塊與一個區塊相繼續,形成的結果就叫區塊鏈。

區塊鏈的特點有哪些呢?

區塊鏈主要有以下幾個方面的特點:

1、去中心化:在區塊鏈的系統中,每一個節點都有同等的權利和義務,這里沒有中心管制。去中心化很好的建立了彼此之前的信任聯系,盡管沒有一個中央管理機構,但是人們之間可以相互協作相互信任。這主要應用了區塊鏈分布式賬本技術。

2、開放性:區塊鏈的數據對所有的人是開放的,除了一些加密的信息不被開放之外,所有人都可以在這里查到數據。

3、獨立性:整個區塊鏈系統不依賴其他第三方,所有節點能夠在系統內自動安全地驗證、交換數據,不需要任何人為的干預。

4、安全性:區塊鏈具有一定的安全性,不可篡改性。因為區塊鏈系統中大家手裡都是一樣的賬本,如果有人想篡改的話,那麼只有在控制了超過51%的記賬節點,才有可能偽造出一條不存在的記錄。當然了,這基本上是不可能的。這主要是源於區塊鏈的核心技術:共識機制,共識機制具備「少數服從多數」以及「人人平等」的特點。

5、匿名性:很多人覺得區塊鏈這么開放,這么透明,是不是我們就沒有隱私了?其實不是,雖然說在區塊鏈中的交易信息是公開透明的,但是賬戶的身份信息是被進行加密的,只有得到了授權,才能訪問。

現在給大家講一個故事,幫助大家更好的理解區塊鏈。

家裡一共三口人,爸爸媽媽和哥哥弟弟。去年的時候,家裡的賬本是由爸爸來負責的,家裡所有的進賬以及支出都是爸爸一個人在負責。

然而雙十一那天,一向節儉的媽媽想在某寶上給自己買一件漂亮的衣衣,一查賬本,發現不對勁兒。按理說除了存銀行和理財的一些錢,家裡的日常消費的的錢的去向都在這個賬本上,但是怎麼看怎麼都不對。有的消費明明沒有,卻被記錄在內。

後來,爸爸主動招供,說是自己忍不住買了一包煙。

後來媽媽改了策略,全家人都記賬,每個月的消費支出大家都記在自己的賬本上。每當家裡產生了一筆交易或者消費的時候,媽媽都會喊一聲,記賬啦,大家就都把交易記載自己的賬本上。這就是去中心化記賬模式,人人都是中心,人人手裡都有賬本。

而之前的爸爸記賬模式就是中心化記賬,如果爸爸一個人想做手腳,很難有人看得出來,而去中心化記賬模式很好的解決了中心化記賬的弊端,如果爸爸想篡改賬本的話,非常難。

比如說,爸爸如果想從賬本里拿點兒錢再偷偷買煙的話,錢的數量是有限的,而想拿錢就得改改賬本,但是光篡改自己的賬本是不行的,他得把包含他在內的三個人的賬本都改掉。而這無疑是比登天還難。

所以,很多次爸爸動了抽煙的念頭之後,但是無奈現狀如此,只得放棄這個念頭。

區塊鏈和比特幣是不是一回事兒呢?

實際上,區塊鏈和比特幣並不是一回事兒,它只是比特幣的底層技術,比特幣是區塊鏈第一個應用的數字貨幣而已。

2008年中本聰第一次提出了區塊鏈的概念,隨後幾年,成為了電子貨幣比特幣的核心組成部分,作為所有交易的公共賬簿。而區塊鏈首先被應用於比特幣。

區塊鏈的緣起是解決信任問題,而且,區塊鏈最成功的一個應用是數字貨幣。比特幣可以說是到目前為止區塊鏈最成功的一個應用。

區塊鏈的應用有哪些?

區塊鏈的應用其實很廣泛,除了數字貨幣,比特幣未來的應用還是非常廣泛的,區塊鏈技術目前已在不同行業得到了廣泛的應用。如商品溯源、版權保護與交易、支付清算、物聯網、數字營銷、醫療等,推動不同行業快速進入「區塊鏈+」時代。

1、支付清算:區塊鏈可摒棄中轉銀行的角色,實現點到點支付,減少中轉費用,加速資金利用率。

2、商品追溯:比如我們在某寶上買一件衣服,我們可以看到這件衣服的前世今生。

3、證券交易:傳統的證券交易需要經過四大機構協調工作,效率低、成本高。區塊鏈技術可獨立地完成一條龍式服務。

4、供應鏈:將區塊鏈技術引入供應鏈系統,系統內部同步信息、可做到對各個環節把控,更好的完成分工協作,便於事後追責。

5、知識產權:版權上鏈,我們的攝影作品、音樂作品、文學作品等都會成為我們的信息,信息所有權將得以確認,成為我們的財產。

漫畫圖解什麼是區塊鏈

漫畫圖解:什麼是區塊鏈

什麼是區塊鏈?

區塊鏈,英文Blockchain,本質上是一種去中心化的分布式資料庫。任何人只要架設自己的伺服器,接入區塊鏈網路,都可以成為這個龐大網路的一個節點。

區塊鏈既然本質是資料庫,裡面究竟存儲了什麼東西呢?讓我們來了解一下區塊鏈的基本單元:區塊(Block)。

一個區塊分為兩大部分:

1.區塊頭

區塊頭裡面存儲著區塊的頭信息,包含上一個區塊的哈希值(PreHash),本區塊體的哈希值(Hash),以及時間戳(TimeStamp)等等。

2.區塊體

區塊體存儲著這個區塊的詳細數據(Data),這個數據包含若干行記錄,可以是交易信息,也可以是其他某種信息。

剛才提及的哈希值又是什麼意思呢?

想必大家都聽說過MD5,MD5就是典型的哈希演算法,可以把一串任意長度的明文轉化成一串固定長度(128bit)的字元串,這個字元串就是哈希值。

而在我們的區塊鏈中,採用的是一種更為復雜的哈希演算法,叫做SHA256。最新的數據信息(比如交易記錄)經過一系列復雜的計算,最終會通過這個哈希演算法轉化成了長度為256bit的哈希值字元串,也就是區塊頭當中的Hash,格式如下:

區塊與Hash是一一對應的,Hash可以當做是區塊的唯一標識。

不同的區塊之間是如何進行關聯的呢?依靠Hash和PreHash來關聯。每一個區塊的PreHash和前一個區塊的Hash值是相等的。

為什麼要計算區塊的哈希值呢?

既然區塊鏈是一個鏈狀結構,就必然存在鏈條的頭節點(第一個區塊)和尾節點(最後一個區塊)。一旦有人計算出區塊鏈最新數據信息的哈希值,相當於對最新的交易記錄進行打包,新的區塊會被創建出來,銜接在區塊鏈的末尾。

新區塊頭的Hash就是剛剛計算出的哈希值,PreHash等於上一個區塊的Hash。區塊體的Data存儲的是打包前的交易記錄,這部分數據信息已經變得不可修改。

這個計算Hash值,創建新區塊的過程就叫做挖礦

用於進行海量計算的伺服器,叫做礦機

操作計算的工作人員,叫做礦工。

計算哈希值究竟難在哪裡?咱們來做一個最粗淺的解釋,哈希值計算的公式如下:

Hash=SHA-256(最後一個區塊的Hash+新區塊基本信息+交易記錄信息+隨機數)

其中,交易記錄信息也是一串哈希值,它的計算涉及到一個數據結構MerkleTree。有興趣的小夥伴可以查閱相關資料,我們暫時不做展開介紹。

這里關鍵的計算難點在於隨機數的生成。猥瑣的區塊鏈發明者為了增大Hash的計算難度,要求Hash結果的前72bit必須都是0,這個幾率實在是太小太小。

由於(最後一個區塊的Hash+新區塊基本信息+交易記錄信息)是固定的,所以能否獲得符合要求的Hash,完全取決於隨機數的值。挖礦者必須經過海量計算,反復生成隨機數進行「撞大運」一般的嘗試,才有可能得到正確的Hash,從而挖礦成功。

同時,區塊頭內還包含著一個動態的難度系數,當全世界的硬體計算能力越來越快的時候,區塊鏈的難度系數也會水漲船高,使得全網平均每10分鍾才能產生出一個新區塊。

小夥伴們明白挖礦有多麼難了吧?需要補充的是,不同的區塊鏈應用在細節上是不同的,這里所描述的挖礦規則是以比特幣為例。

區塊鏈的應用

比特幣(BitCoin)的概念最初由中本聰於2008年提出,而後根據這一思路設計發布了開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。

什麼是P2P網路呢?

傳統的貨幣都是由中央銀行統一發行,所有的個人儲蓄也是由銀行統一管理,這是典型的中心化系統。

而比特幣則是部署在一個全世界眾多對等節點組成的去中心化網路之上。每一個節點都有資格對這種數字貨幣進行記錄和發行。

至於比特幣底層的數據存儲,正是基於了區塊鏈技術。比特幣的每一筆交易,都對應了區塊體數據中的一行,簡單的示意如下:

交易記錄的每一行都包含時間戳、交易明細、數字簽名。

表格中只是為了方便理解。實際存儲的交易明細是匿名的,只會記錄支付方和收款方的錢包地址。

至於數字簽名呢,可以理解為每一條單筆交易的防偽標識,由非對稱加密演算法所生成。

接下來說一說比特幣礦工的獎勵:

比特幣協議規定,挖到新區塊的礦工將獲得獎勵,從2008年起是50個比特幣,然後每4年減半,目前2018年是12.5個比特幣。流通中新增的比特幣都是這樣誕生的,也難怪大家對挖掘比特幣的工作如此趨之若鶩!

區塊鏈的優勢和劣勢

區塊鏈的優勢:

1.去中心化

區塊鏈不依賴於某個中心節點,整個系統的數據由全網所有對等節點共同維護,都可以進行數據的存儲和檢驗。這樣一來,除非攻擊者黑掉全網半數以上的節點,否則整個系統是不會遭到破壞的。

2.信息不可篡改

區塊內的數據是無法被篡改的。一旦數據遭到篡改哪怕一丁點,整個區塊對應的哈希值就會隨之改變,不再是一個有效的哈希值,後面鏈接的區塊也會隨之斷裂。

區塊鏈的劣勢:

1.過度消耗能源

想要生成一個新的區塊,必須要大量伺服器資源進行大量無謂的嘗試性計算,嚴重耗費電能。

2.信息的網路延遲

以比特幣為例,任何一筆交易數據都需要同步到其他所有節點,同步過程中難免會受到網路傳輸延遲的影響,帶來較長的耗時。

幾點補充:

1.本漫畫部分內容參考了阮一峰的博文《區塊鏈入門教程》,感謝這位大神的科普。

2.由於篇幅有限,關於MerkleTree和非對稱加密的知識暫時沒有展開細講,有興趣的小夥伴們可以查閱資料進行更深一步的學習。

㈡ 區塊鏈是什麼意思   區塊鏈的應用場景有哪些

區塊鏈是一種難以篡改和造假的分布式賬本系統,其應用場景廣泛

區塊鏈的定義:- 狹義上:區塊鏈是按照時間順序將數據塊以鏈條的方式組合成特定的數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。- 廣義上:區塊鏈技術運用數據塊構造來驗證和存儲信息,利用分布式節點的共識演算法來創建和更新數據,同時採用密碼學手段確保數據傳輸和訪問的安全性。此外,它還可以結合智能合約(由自動化腳本代碼構成)來編寫和使用數據,形成一種新的分布式基礎設施和計算範式。

區塊鏈的應用場景:- 虛擬貨幣:區塊鏈技術是比特幣等加密貨幣的基礎,用於記錄交易歷史、驗證交易的有效性和確保貨幣的安全轉移。- 大宗商品交易清算:區塊鏈技術可以提高大宗商品交易的透明度和效率,降低交易成本,同時確保交易的不可篡改性。- 數據政府事務:政府可以利用區塊鏈技術來存儲和共享敏感數據,同時確保數據的安全性和隱私性。這有助於提升政府服務的透明度和效率。- 驗證防偽標識:區塊鏈技術可以用於創建和管理數字身份和防偽標識,確保信息的真實性和可信度。這在知識產權保護、商品溯源等領域具有廣泛應用。- 網路服務:區塊鏈技術還可以用於構建去中心化的網路應用和服務,如去中心化金融(DeFi)、去中心化社交等,這些應用和服務具有更高的安全性和隱私保護水平。

㈢ 區塊鏈如何加密數據(區塊鏈如何加密數據)

區塊鏈以什麼方式保證網路中數據的安全性

區塊鏈保證網路中數據的安全性的方式:

在區塊鏈技術中,數字加密技術是其關鍵之處,一般運用的是非對稱加密演算法,即加密時的密碼與解鎖時的密碼是不一樣的。簡單來說,就是我們有專屬的私鑰,只要把自己的私鑰保護好,把公鑰給對方,對方用公鑰加密文件生成密文,再將密文傳給你,我們再用私鑰解密得到明文,就能夠保障傳輸內容不被別人看到,這樣子,加密數據就傳輸完畢啦!

同時,還有數字簽名為我們加多一重保障,用來證明文件發給對方過程中沒有被篡改。由此可見區塊鏈的加密技術能夠有效解決數據流通共享過程中的安全問題,可謂是大有施展之處。

區塊鏈的密碼技術有

密碼學技術是區塊鏈技術的核心。區塊鏈的密碼技術有數字簽名演算法和哈希演算法。

數字簽名演算法

數字簽名演算法是數字簽名標準的一個子集,表示了只用作數字簽名的一個特定的公鑰演算法。密鑰運行在由SHA-1產生的消息哈希:為了驗證一個簽名,要重新計算消息的哈希,使用公鑰解密簽名然後比較結果。縮寫為DSA。

?

數字簽名是電子簽名的特殊形式。到目前為止,至少已經有20多個國家通過法律認可電子簽名,其中包括歐盟和美國,我國的電子簽名法於2004年8月28日第十屆全國人民代表大會常務委員會第十一次會議通過。數字簽名在ISO7498-2標准中定義為:「附加在數據單元上的一些數據,或是對數據單元所作的密碼變換,這種數據和變換允許數據單元的接收者用以確認數據單元來源和數據單元的完整性,並保護數據,防止被人(例如接收者)進行偽造」。數字簽名機制提供了一種鑒別方法,以解決偽造、抵賴、冒充和篡改等問題,利用數據加密技術、數據變換技術,使收發數據雙方能夠滿足兩個條件:接收方能夠鑒別發送方所宣稱的身份;發送方以後不能否認其發送過該數據這一事實。

數字簽名是密碼學理論中的一個重要分支。它的提出是為了對電子文檔進行簽名,以替代傳統紙質文檔上的手寫簽名,因此它必須具備5個特性。

(1)簽名是可信的。

(2)簽名是不可偽造的。

(3)簽名是不可重用的。

(4)簽名的文件是不可改變的。

(5)簽名是不可抵賴的。

哈希(hash)演算法

Hash,就是把任意長度的輸入(又叫做預映射,pre-image),通過散列演算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,其中散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,但是不可逆向推導出輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。

哈希(Hash)演算法,它是一種單向密碼體制,即它是一個從明文到密文的不可逆的映射,只有加密過程,沒有解密過程。同時,哈希函數可以將任意長度的輸入經過變化以後得到固定長度的輸出。哈希函數的這種單向特徵和輸出數據長度固定的特徵使得它可以生成消息或者數據。

以比特幣區塊鏈為代表,其中工作量證明和密鑰編碼過程中多次使用了二次哈希,如SHA(SHA256(k))或者RIPEMD160(SHA256(K)),這種方式帶來的好處是增加了工作量或者在不清楚協議的情況下增加破解難度。

以比特幣區塊鏈為代表,主要使用的兩個哈希函數分別是:

1.SHA-256,主要用於完成PoW(工作量證明)計算;

2.RIPEMD160,主要用於生成比特幣地址。如下圖1所示,為比特幣從公鑰生成地址的流程。

【深度知識】區塊鏈之加密原理圖示(加密,簽名)

先放一張以太坊的架構圖:

在學習的過程中主要是採用單個模塊了學習了解的,包括P2P,密碼學,網路,協議等。直接開始總結:

秘鑰分配問題也就是秘鑰的傳輸問題,如果對稱秘鑰,那麼只能在線下進行秘鑰的交換。如果在線上傳輸秘鑰,那就有可能被攔截。所以採用非對稱加密,兩把鑰匙,一把私鑰自留,一把公鑰公開。公鑰可以在網上傳輸。不用線下交易。保證數據的安全性。

如上圖,A節點發送數據到B節點,此時採用公鑰加密。A節點從自己的公鑰中獲取到B節點的公鑰對明文數據加密,得到密文發送給B節點。而B節點採用自己的私鑰解密。

2、無法解決消息篡改。

如上圖,A節點採用B的公鑰進行加密,然後將密文傳輸給B節點。B節點拿A節點的公鑰將密文解密。

1、由於A的公鑰是公開的,一旦網上黑客攔截消息,密文形同虛設。說白了,這種加密方式,只要攔截消息,就都能解開。

2、同樣存在無法確定消息來源的問題,和消息篡改的問題。

如上圖,A節點在發送數據前,先用B的公鑰加密,得到密文1,再用A的私鑰對密文1加密得到密文2。而B節點得到密文後,先用A的公鑰解密,得到密文1,之後用B的私鑰解密得到明文。

1、當網路上攔截到數據密文2時,由於A的公鑰是公開的,故可以用A的公鑰對密文2解密,就得到了密文1。所以這樣看起來是雙重加密,其實最後一層的私鑰簽名是無效的。一般來講,我們都希望簽名是簽在最原始的數據上。如果簽名放在後面,由於公鑰是公開的,簽名就缺乏安全性。

2、存在性能問題,非對稱加密本身效率就很低下,還進行了兩次加密過程。

如上圖,A節點先用A的私鑰加密,之後用B的公鑰加密。B節點收到消息後,先採用B的私鑰解密,然後再利用A的公鑰解密。

1、當密文數據2被黑客攔截後,由於密文2隻能採用B的私鑰解密,而B的私鑰只有B節點有,其他人無法機密。故安全性最高。

2、當B節點解密得到密文1後,只能採用A的公鑰來解密。而只有經過A的私鑰加密的數據才能用A的公鑰解密成功,A的私鑰只有A節點有,所以可以確定數據是由A節點傳輸過來的。

經兩次非對稱加密,性能問題比較嚴重。

基於以上篡改數據的問題,我們引入了消息認證。經過消息認證後的加密流程如下:

當A節點發送消息前,先對明文數據做一次散列計算。得到一個摘要,之後將照耀與原始數據同時發送給B節點。當B節點接收到消息後,對消息解密。解析出其中的散列摘要和原始數據,然後再對原始數據進行一次同樣的散列計算得到摘要1,比較摘要與摘要1。如果相同則未被篡改,如果不同則表示已經被篡改。

在傳輸過程中,密文2隻要被篡改,最後導致的hash與hash1就會產生不同。

無法解決簽名問題,也就是雙方相互攻擊。A對於自己發送的消息始終不承認。比如A對B發送了一條錯誤消息,導致B有損失。但A抵賴不是自己發送的。

在(三)的過程中,沒有辦法解決交互雙方相互攻擊。什麼意思呢?有可能是因為A發送的消息,對A節點不利,後來A就抵賴這消息不是它發送的。

為了解決這個問題,故引入了簽名。這里我們將(二)-4中的加密方式,與消息簽名合並設計在一起。

在上圖中,我們利用A節點的私鑰對其發送的摘要信息進行簽名,然後將簽名+原文,再利用B的公鑰進行加密。而B得到密文後,先用B的私鑰解密,然後對摘要再用A的公鑰解密,只有比較兩次摘要的內容是否相同。這既避免了防篡改問題,有規避了雙方攻擊問題。因為A對信息進行了簽名,故是無法抵賴的。

為了解決非對稱加密數據時的性能問題,故往往採用混合加密。這里就需要引入對稱加密,如下圖:

在對數據加密時,我們採用了雙方共享的對稱秘鑰來加密。而對稱秘鑰盡量不要在網路上傳輸,以免丟失。這里的共享對稱秘鑰是根據自己的私鑰和對方的公鑰計算出的,然後適用對稱秘鑰對數據加密。而對方接收到數據時,也計算出對稱秘鑰然後對密文解密。

以上這種對稱秘鑰是不安全的,因為A的私鑰和B的公鑰一般短期內固定,所以共享對稱秘鑰也是固定不變的。為了增強安全性,最好的方式是每次交互都生成一個臨時的共享對稱秘鑰。那麼如何才能在每次交互過程中生成一個隨機的對稱秘鑰,且不需要傳輸呢?

那麼如何生成隨機的共享秘鑰進行加密呢?

對於發送方A節點,在每次發送時,都生成一個臨時非對稱秘鑰對,然後根據B節點的公鑰和臨時的非對稱私鑰可以計算出一個對稱秘鑰(KA演算法-KeyAgreement)。然後利用該對稱秘鑰對數據進行加密,針對共享秘鑰這里的流程如下:

對於B節點,當接收到傳輸過來的數據時,解析出其中A節點的隨機公鑰,之後利用A節點的隨機公鑰與B節點自身的私鑰計算出對稱秘鑰(KA演算法)。之後利用對稱秘鑰機密數據。

對於以上加密方式,其實仍然存在很多問題,比如如何避免重放攻擊(在消息中加入Nonce),再比如彩虹表(參考KDF機制解決)之類的問題。由於時間及能力有限,故暫時忽略。

那麼究竟應該採用何種加密呢?

主要還是基於要傳輸的數據的安全等級來考量。不重要的數據其實做好認證和簽名就可以,但是很重要的數據就需要採用安全等級比較高的加密方案了。

密碼套件是一個網路協議的概念。其中主要包括身份認證、加密、消息認證(MAC)、秘鑰交換的演算法組成。

在整個網路的傳輸過程中,根據密碼套件主要分如下幾大類演算法:

秘鑰交換演算法:比如ECDHE、RSA。主要用於客戶端和服務端握手時如何進行身份驗證。

消息認證演算法:比如SHA1、SHA2、SHA3。主要用於消息摘要。

批量加密演算法:比如AES,主要用於加密信息流。

偽隨機數演算法:例如TLS1.2的偽隨機函數使用MAC演算法的散列函數來創建一個主密鑰——連接雙方共享的一個48位元組的私鑰。主密鑰在創建會話密鑰(例如創建MAC)時作為一個熵來源。

在網路中,一次消息的傳輸一般需要在如下4個階段分別進行加密,才能保證消息安全、可靠的傳輸。

握手/網路協商階段:

在雙方進行握手階段,需要進行鏈接的協商。主要的加密演算法包括RSA、DH、ECDH等

身份認證階段:

身份認證階段,需要確定發送的消息的來源來源。主要採用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA簽名)等。

消息加密階段:

消息加密指對發送的信息流進行加密。主要採用的加密方式包括DES、RC4、AES等。

消息身份認證階段/防篡改階段:

主要是保證消息在傳輸過程中確保沒有被篡改過。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。

ECC:EllipticCurvesCryptography,橢圓曲線密碼編碼學。是一種根據橢圓上點倍積生成公鑰、私鑰的演算法。用於生成公私秘鑰。

ECDSA:用於數字簽名,是一種數字簽名演算法。一種有效的數字簽名使接收者有理由相信消息是由已知的發送者創建的,從而發送者不能否認已經發送了消息(身份驗證和不可否認),並且消息在運輸過程中沒有改變。ECDSA簽名演算法是ECC與DSA的結合,整個簽名過程與DSA類似,所不一樣的是簽名中採取的演算法為ECC,最後簽名出來的值也是分為r,s。主要用於身份認證階段。

ECDH:也是基於ECC演算法的霍夫曼樹秘鑰,通過ECDH,雙方可以在不共享任何秘密的前提下協商出一個共享秘密,並且是這種共享秘鑰是為當前的通信暫時性的隨機生成的,通信一旦中斷秘鑰就消失。主要用於握手磋商階段。

ECIES:是一種集成加密方案,也可稱為一種混合加密方案,它提供了對所選擇的明文和選擇的密碼文本攻擊的語義安全性。ECIES可以使用不同類型的函數:秘鑰協商函數(KA),秘鑰推導函數(KDF),對稱加密方案(ENC),哈希函數(HASH),H-MAC函數(MAC)。

ECC是橢圓加密演算法,主要講述了按照公私鑰怎麼在橢圓上產生,並且不可逆。ECDSA則主要是採用ECC演算法怎麼來做簽名,ECDH則是採用ECC演算法怎麼生成對稱秘鑰。以上三者都是對ECC加密演算法的應用。而現實場景中,我們往往會採用混合加密(對稱加密,非對稱加密結合使用,簽名技術等一起使用)。ECIES就是底層利用ECC演算法提供的一套集成(混合)加密方案。其中包括了非對稱加密,對稱加密和簽名的功能。

metacharset="utf-8"

這個先訂條件是為了保證曲線不包含奇點。

所以,隨著曲線參數a和b的不斷變化,曲線也呈現出了不同的形狀。比如:

所有的非對稱加密的基本原理基本都是基於一個公式K=kG。其中K代表公鑰,k代表私鑰,G代表某一個選取的基點。非對稱加密的演算法就是要保證該公式不可進行逆運算(也就是說G/K是無法計算的)。*

ECC是如何計算出公私鑰呢?這里我按照我自己的理解來描述。

我理解,ECC的核心思想就是:選擇曲線上的一個基點G,之後隨機在ECC曲線上取一個點k(作為私鑰),然後根據kG計算出我們的公鑰K。並且保證公鑰K也要在曲線上。*

那麼kG怎麼計算呢?如何計算kG才能保證最後的結果不可逆呢?這就是ECC演算法要解決的。

首先,我們先隨便選擇一條ECC曲線,a=-3,b=7得到如下曲線:

在這個曲線上,我隨機選取兩個點,這兩個點的乘法怎麼算呢?我們可以簡化下問題,乘法是都可以用加法表示的,比如22=2+2,35=5+5+5。那麼我們只要能在曲線上計算出加法,理論上就能算乘法。所以,只要能在這個曲線上進行加法計算,理論上就可以來計算乘法,理論上也就可以計算k*G這種表達式的值。

曲線上兩點的加法又怎麼算呢?這里ECC為了保證不可逆性,在曲線上自定義了加法體系。

現實中,1+1=2,2+2=4,但在ECC演算法里,我們理解的這種加法體系是不可能。故需要自定義一套適用於該曲線的加法體系。

ECC定義,在圖形中隨機找一條直線,與ECC曲線相交於三個點(也有可能是兩個點),這三點分別是P、Q、R。

那麼P+Q+R=0。其中0不是坐標軸上的0點,而是ECC中的無窮遠點。也就是說定義了無窮遠點為0點。

同樣,我們就能得出P+Q=-R。由於R與-R是關於X軸對稱的,所以我們就能在曲線上找到其坐標。

P+R+Q=0,故P+R=-Q,如上圖。

以上就描述了ECC曲線的世界裡是如何進行加法運算的。

從上圖可看出,直線與曲線只有兩個交點,也就是說直線是曲線的切線。此時P,R重合了。

也就是P=R,根據上述ECC的加法體系,P+R+Q=0,就可以得出P+R+Q=2P+Q=2R+Q=0

於是乎得到2P=-Q(是不是與我們非對稱演算法的公式K=kG越來越近了)。

於是我們得出一個結論,可以算乘法,不過只有在切點的時候才能算乘法,而且只能算2的乘法。

假若2可以變成任意個數進行想乘,那麼就能代表在ECC曲線里可以進行乘法運算,那麼ECC演算法就能滿足非對稱加密演算法的要求了。

那麼我們是不是可以隨機任何一個數的乘法都可以算呢?答案是肯定的。也就是點倍積計算方式。

選一個隨機數k,那麼k*P等於多少呢?

我們知道在計算機的世界裡,所有的都是二進制的,ECC既然能算2的乘法,那麼我們可以將隨機數k描述成二進制然後計算。假若k=151=10010111

由於2P=-Q所以這樣就計算出了kP。這就是點倍積演算法。所以在ECC的曲線體系下是可以來計算乘法,那麼以為這非對稱加密的方式是可行的。

至於為什麼這樣計算是不可逆的。這需要大量的推演,我也不了解。但是我覺得可以這樣理解:

我們的手錶上,一般都有時間刻度。現在如果把1990年01月01日0點0分0秒作為起始點,如果告訴你至起始點為止時間流逝了整1年,那麼我們是可以計算出現在的時間的,也就是能在手錶上將時分秒指針應該指向00:00:00。但是反過來,我說現在手錶上的時分秒指針指向了00:00:00,你能告訴我至起始點算過了有幾年了么?

ECDSA簽名演算法和其他DSA、RSA基本相似,都是採用私鑰簽名,公鑰驗證。只不過演算法體系採用的是ECC的演算法。交互的雙方要採用同一套參數體系。簽名原理如下:

在曲線上選取一個無窮遠點為基點G=(x,y)。隨機在曲線上取一點k作為私鑰,K=k*G計算出公鑰。

簽名過程:

生成隨機數R,計算出RG.

根據隨機數R,消息M的HASH值H,以及私鑰k,計算出簽名S=(H+kx)/R.

將消息M,RG,S發送給接收方。

簽名驗證過程:

接收到消息M,RG,S

根據消息計算出HASH值H

根據發送方的公鑰K,計算HG/S+xK/S,將計算的結果與RG比較。如果相等則驗證成功。

公式推論:

HG/S+xK/S=HG/S+x(kG)/S=(H+xk)/GS=RG

在介紹原理前,說明一下ECC是滿足結合律和交換律的,也就是說A+B+C=A+C+B=(A+C)+B。

這里舉一個WIKI上的例子說明如何生成共享秘鑰,也可以參考AliceAndBob的例子。

Alice與Bob要進行通信,雙方前提都是基於同一參數體系的ECC生成的公鑰和私鑰。所以有ECC有共同的基點G。

生成秘鑰階段:

Alice採用公鑰演算法KA=ka*G,生成了公鑰KA和私鑰ka,並公開公鑰KA。

Bob採用公鑰演算法KB=kb*G,生成了公鑰KB和私鑰kb,並公開公鑰KB。

計算ECDH階段:

Alice利用計算公式Q=ka*KB計算出一個秘鑰Q。

Bob利用計算公式Q'=kb*KA計算出一個秘鑰Q'。

共享秘鑰驗證:

Q=kaKB=ka*kb*G=ka*G*kb=KA*kb=kb*KA=Q'

故雙方分別計算出的共享秘鑰不需要進行公開就可採用Q進行加密。我們將Q稱為共享秘鑰。

在以太坊中,採用的ECIEC的加密套件中的其他內容:

1、其中HASH演算法採用的是最安全的SHA3演算法Keccak。

2、簽名演算法採用的是ECDSA

3、認證方式採用的是H-MAC

4、ECC的參數體系採用了secp256k1,其他參數體系參考這里

H-MAC全程叫做Hash-.其模型如下:

在以太坊的UDP通信時(RPC通信加密方式不同),則採用了以上的實現方式,並擴展化了。

首先,以太坊的UDP通信的結構如下:

其中,sig是經過私鑰加密的簽名信息。mac是可以理解為整個消息的摘要,ptype是消息的事件類型,data則是經過RLP編碼後的傳輸數據。

其UDP的整個的加密,認證,簽名模型如下:

區塊鏈技術如何保障信息主體隱私和權益

隱私保護手段可以分為三類:

一是對交易信息的隱私保護,對交易的發送者、交易接受者以及交易金額的隱私保護,有混幣、環簽名和機密交易等。

二是對智能合約的隱私保護,針對合約數據的保護方案,包含零知識證明、多方安全計算、同態加密等。

三是對鏈上數據的隱私保護,主要有賬本隔離、私有數據和數據加密授權訪問等解決方案。

拓展資料:

一、區塊鏈加密演算法隔離身份信息與交易數據

1、區塊鏈上的交易數據,包括交易地址、金額、交易時間等,都公開透明可查詢。但是,交易地址對應的所用戶身份,是匿名的。通過區塊鏈加密演算法,實現用戶身份和用戶交易數據的分離。在數據保存到區塊鏈上之前,可以將用戶的身份信息進行哈希計算,得到的哈希值作為該用戶的唯一標識,鏈上保存用戶的哈希值而非真實身份數據信息,用戶的交易數據和哈希值進行捆綁,而不是和用戶身份信息進行捆綁。

2、由此,用戶產生的數據是真實的,而使用這些數據做研究、分析時,由於區塊鏈的不可逆性,所有人不能通過哈希值還原注冊用戶的姓名、電話、郵箱等隱私數據,起到了保護隱私的作用。

二、區塊鏈「加密存儲+分布式存儲」

加密存儲,意味著訪問數據必須提供私鑰,相比於普通密碼,私鑰的安全性更高,幾乎無法被暴力破解。分布式存儲,去中心化的特性在一定程度上降低了數據全部被泄漏的風險,而中心化的資料庫存儲,一旦資料庫被黑客攻擊入侵,數據很容易被全部盜走。通過「加密存儲+分布式存儲」能夠更好地保護用戶的數據隱私。

三、區塊鏈共識機制預防個體風險

共識機制是區塊鏈節點就區塊信息達成全網一致共識的機制,可以保障最新區塊被准確添加至區塊鏈、節點存儲的區塊鏈信息一致不分叉,可以抵禦惡意攻擊。區塊鏈的價值之一在於對數據的共識治理,即所有用戶對於上鏈的數據擁有平等的管理許可權,因此首先從操作上杜絕了個體犯錯的風險。通過區塊鏈的全網共識解決數據去中心化,並且可以利用零知識證明解決驗證的問題,實現在公開的去中心化系統中使用用戶隱私數據的場景,在滿足互聯網平台需求的同時,也使部分數據仍然只掌握在用戶手中。

四、區塊鏈零知識證明

零知識證明指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的,即證明者既能充分證明自己是某種權益的合法擁有者,又不把有關的信息泄漏出去,即給外界的「知識」為「零」。應用零知識證明技術,可以在密文情況下實現數據的關聯關系驗證,在保障數據隱私的同時實現數據共享。

㈣ 一文說清區塊鏈的「鏈上」和「鏈下」 | 區塊鏈


區塊鏈的「鏈上」與「鏈下」概念深入解析:



  • 鏈上:區塊鏈的核心概念,數據鏈和節點鏈構成。數據鏈用於存儲和驗證,通過共識演算法確保數據一致性,節點鏈則連接多個節點共享信息。交易一旦「上鏈」,即達成分布式、不可篡改的執行。

  • 上鏈:交易、數據和邏輯需滿足共識和存儲條件,如完整執行、多方認可和存儲。非全局性、無需共識的數據和計算在「鏈下」處理。

  • 鏈下:包括鏈上不直接相關的業務服務,如文件存儲、復雜計算和隱私敏感數據。這些服務不直接參與共識,但可能通過鏈上介面進行交互。

  • 鏈上鏈下協作:區塊鏈應用通常結合鏈上和鏈下,形成混合架構,以平衡性能、成本和隱私。


在實際操作中,例如:



  • 文件上鏈:一般只存儲文件摘要而非文件本身,通過驗證數字指紋確保文件的完整性和可信性。

  • 數據查詢分析:復雜查詢在鏈下處理,利用鏈外資料庫進行高效分析。

  • 邏輯復雜性:智能合約設計要精簡,避免不必要的全網共識,如密集計算可放鏈下。

  • 即時消息:結合鏈下通道提供快速響應,減少鏈上交互的延時。


總的來說,區塊鏈的運用在於利用其優勢(如可信性和不可篡改性)同時,靈活地結合其他技術,實現業務的無縫協作和數據安全。


熱點內容
國外優秀區塊鏈創業公司梳理 發布:2025-09-10 07:16:05 瀏覽:234
比特幣司法機關 發布:2025-09-10 07:14:51 瀏覽:151
trx4遙控設置 發布:2025-09-10 06:59:28 瀏覽:972
trx熱身動作大全 發布:2025-09-10 06:39:03 瀏覽:104
比特幣實質算力 發布:2025-09-10 06:18:21 瀏覽:931
以太坊2019減產 發布:2025-09-10 05:54:48 瀏覽:32
什麼區塊鏈最核心的內容 發布:2025-09-10 05:38:40 瀏覽:140
中國以太坊etf官網 發布:2025-09-10 05:15:43 瀏覽:712
兩步揭穿比特幣騙局 發布:2025-09-10 05:03:56 瀏覽:349
網宿科技涉及區塊鏈嗎 發布:2025-09-10 05:03:23 瀏覽:107