區塊鏈中的公鑰分發
⑴ 區塊鏈的基礎知識有哪些
1、FISCO BCOS使用賬戶來標識和區分每一個獨立的用戶。在採用公私鑰體系的區塊鏈系統里,每一個賬戶對應著一對公鑰和私鑰。其中,由公鑰經哈希等安全的單向性演算法計算後,得到的地址字元串被用作該賬戶的賬戶名,即賬戶地址。僅有用戶知曉的私鑰則對應著傳統認證模型中的密碼。這類有私鑰的賬戶也常被稱為外部賬戶或賬戶。
2、FISCO BCOS中部署到鏈上的智能合約在底層存儲中也對應一個賬戶,我們稱這類賬戶為合約賬戶與外部賬戶的區別在於,合約賬戶的地址是部署時確定,根據部署者的賬戶地址及其賬戶中的信息計算得出,並且合約賬戶沒有私鑰。
3、SDK需要持有外部賬戶私鑰,使用外部賬戶私鑰對交易簽名。區塊鏈系統中,每一次對合約寫介面的調用都是一筆交易,而每筆交易需要用賬戶的私鑰簽名。
4、許可權控制需要外部賬戶的地址。FISCO BCOS許可權控制模型,根據交易發送者的外部賬戶地址,判斷是否有寫入數據的許可權。
5、合約賬戶地址唯一的標識區塊鏈上的合約。每個合約部署後,底層節點會為其生成合約地址,調用合約介面時,需要提供合約地址。
⑵ 像誠信幣這樣基於區塊鏈的數字貨幣中,私鑰,公鑰,地址到底是怎麼回事
很多小白剛入場時,就被私鑰,公鑰,地址,等等關系弄暈頭。有的甚至把自己私鑰搞丟了,地址上特別有錢,可偏偏就是取不出來,今天小白就把私鑰,公鑰,還有地址之間的關系跟大家捋一捋。
私鑰、公鑰和地址這三者的關系是:
私鑰轉換成(生成)公鑰,再轉換成地址,如果某個地址上有比特幣或誠信幣,就可以使用轉換成這個地址的私鑰花費上面的誠信幣。公鑰和地址的生成都依賴於私鑰,所以私鑰才最重要。
手機錢包也是同樣,但因為手機的文件管理方式不像計算機那麼方便。所以一般手機錢包會提供一個名為或類似「導出私鑰」的功能,通過這個功能,就可以將私鑰用各種形式導出來。
比如比特幣手機錢包可以導出為二維碼,可以列印或者掃描到紙上。更換手機時,裝好比特幣錢包掃描一下這個二維碼,就可以實現遷移比特幣。比特幣手機錢包和誠信幣手機錢包可以導出為一份明文字元串,列印到紙上——這就是紙錢包。
紙錢包讓用戶可以到任何有比特幣或誠信幣錢包的終端來花費你的比特幣或誠信幣。
由於錢包丟失或損壞會導致失去私鑰,從而徹底失去該數字貨幣的轉賬權。要防止出現這樣的悲劇,就要記得經常備份錢包里的數據。除了地址外,備份時也保存了所有的私鑰。
總結
私鑰要保護好,防止丟失,防止忘記,在手機清信息時方式被清除,最好手抄一份,但不要泄露。
要防止自己錢包丟失或損壞,導致丟失私鑰,喪失數字貨幣的轉賬權,否則你頓再多幣取不出來,還不是沒用。
⑶ 區塊鏈技術的六大核心演算法
區塊鏈技術的六大核心演算法
區塊鏈核心演算法一:拜占庭協定
拜占庭的故事大概是這么說的:拜占庭帝國擁有巨大的財富,周圍10個鄰邦垂誕已久,但拜占庭高牆聳立,固若金湯,沒有一個單獨的鄰邦能夠成功入侵。任何單個鄰邦入侵的都會失敗,同時也有可能自身被其他9個鄰邦入侵。拜占庭帝國防禦能力如此之強,至少要有十個鄰邦中的一半以上同時進攻,才有可能攻破。然而,如果其中的一個或者幾個鄰邦本身答應好一起進攻,但實際過程出現背叛,那麼入侵者可能都會被殲滅。於是每一方都小心行事,不敢輕易相信鄰國。這就是拜占庭將軍問題。
在這個分布式網路里:每個將軍都有一份實時與其他將軍同步的消息賬本。賬本里有每個將軍的簽名都是可以驗證身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些將軍。盡管有消息不一致的,只要超過半數同意進攻,少數服從多數,共識達成。
由此,在一個分布式的系統中,盡管有壞人,壞人可以做任意事情(不受protocol限制),比如不響應、發送錯誤信息、對不同節點發送不同決定、不同錯誤節點聯合起來干壞事等等。但是,只要大多數人是好人,就完全有可能去中心化地實現共識
區塊鏈核心演算法二:非對稱加密技術
在上述拜占庭協定中,如果10個將軍中的幾個同時發起消息,勢必會造成系統的混亂,造成各說各的攻擊時間方案,行動難以一致。誰都可以發起進攻的信息,但由誰來發出呢?其實這只要加入一個成本就可以了,即:一段時間內只有一個節點可以傳播信息。當某個節點發出統一進攻的消息後,各個節點收到發起者的消息必須簽名蓋章,確認各自的身份。
在如今看來,非對稱加密技術完全可以解決這個簽名問題。非對稱加密演算法的加密和解密使用不同的兩個密鑰.這兩個密鑰就是我們經常聽到的」公鑰」和」私鑰」。公鑰和私鑰一般成對出現, 如果消息使用公鑰加密,那麼需要該公鑰對應的私鑰才能解密; 同樣,如果消息使用私鑰加密,那麼需要該私鑰對應的公鑰才能解密。
區塊鏈核心演算法三:容錯問題
我們假設在此網路中,消息可能會丟失、損壞、延遲、重復發送,並且接受的順序與發送的順序不一致。此外,節點的行為可以是任意的:可以隨時加入、退出網路,可以丟棄消息、偽造消息、停止工作等,還可能發生各種人為或非人為的故障。我們的演算法對由共識節點組成的共識系統,提供的容錯能力,這種容錯能力同時包含安全性和可用性,並適用於任何網路環境。
區塊鏈核心演算法四:Paxos 演算法(一致性演算法)
Paxos演算法解決的問題是一個分布式系統如何就某個值(決議)達成一致。一個典型的場景是,在一個分布式資料庫系統中,如果各節點的初始狀態一致,每個節點都執行相同的操作序列,那麼他們最後能得到一個一致的狀態。為保證每個節點執行相同的命令序列,需要在每一條指令上執行一個「一致性演算法」以保證每個節點看到的指令一致。一個通用的一致性演算法可以應用在許多場景中,是分布式計算中的重要問題。節點通信存在兩種模型:共享內存和消息傳遞。Paxos演算法就是一種基於消息傳遞模型的一致性演算法。
區塊鏈核心演算法五:共識機制
區塊鏈共識演算法主要是工作量證明和權益證明。拿比特幣來說,其實從技術角度來看可以把PoW看做重復使用的Hashcash,生成工作量證明在概率上來說是一個隨機的過程。開采新的機密貨幣,生成區塊時,必須得到所有參與者的同意,那礦工必須得到區塊中所有數據的PoW工作證明。與此同時礦工還要時時觀察調整這項工作的難度,因為對網路要求是平均每10分鍾生成一個區塊。
區塊鏈核心演算法六:分布式存儲
分布式存儲是一種數據存儲技術,通過網路使用每台機器上的磁碟空間,並將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散的存儲在網路中的各個角落。所以,分布式存儲技術並不是每台電腦都存放完整的數據,而是把數據切割後存放在不同的電腦里。就像存放100個雞蛋,不是放在同一個籃子里,而是分開放在不同的地方,加起來的總和是100個。
⑷ 區塊鏈中點對點分布式技術是指什麼
「一種基於網路的計算機處理技術,與集中式相對應。由於個人計算機的性能得到極大的提高及其使用的普及,使處理能力分布到網路上的所有計算機成為可能。分布式計算是和集中式計算相對立的概念,分布式計算的數據可以分布在很大區域。」
⑸ 公鑰與私鑰的區別與應用。
現實生活中,我要給依依轉1個比特幣,我需要在比特幣交易平台、比特幣錢包或者比特幣客戶端裡面,輸入我的比特幣錢包地址、依依的錢包地址、轉出比特幣的數量、手續費。然後,我們等十分鍾左右,礦工處理完交易信息之後,這1個比特幣就成功地轉給依依了。
這個過程看似很簡單也很便捷,跟我們現在的銀行卡轉賬沒什麼區別,但是,你知道這個過程是怎樣在比特幣系統裡面實現的嗎?它隱藏了哪些原理呢?又或者,它是如何保證交易能夠在一個安全的環境下進行呢?
我們今天就來講一講。
對於轉出方和接收方來講,也就是我和依依(我是轉出方,依依是接收方)我們都需要出具兩個東西:錢包地址、私鑰。
我們先說錢包地址。比特幣錢包地址其實就相當於銀行卡、支付寶賬號、微信錢包賬號,是比特幣支付轉賬的「憑證」,記錄著平台與平台、錢包與錢包、錢包與平台之間的轉賬信息。
我們在使用銀行卡、支付寶、微信轉賬時都需要密碼,才能夠支付成功。那麼,在比特幣轉賬中,同樣也有這么一個「密碼」,這個「密碼「被稱作「私鑰」。掌握了私鑰,就掌握了其對應比特幣地址上的生殺大權。
「私鑰」是屬於「非對稱加密演算法」裡面的概念,與之對應的還有另一個概念,名叫:「公鑰」。
公鑰和私鑰,從字面意思我們就可以理解:公鑰,是可以公開的;而私鑰,是私人的、你自己擁有的、需要絕對保密的。
公鑰是根據私鑰計算形成的,比特幣系統使用的是橢圓曲線加密演算法,來根據私鑰計算出公鑰。這就使得,公鑰和私鑰形成了唯一對應的關系:當你用了其中一把鑰匙加密信息時,只有配對的另一把鑰匙才能解密。所以,正是基於這種唯一對應的關系,它們可以用來驗證信息發送方的身份,還可以做到絕對的保密。
我們舉個例子講一下,在非對稱加密演算法中,公鑰和私鑰是怎麼運作的。
我們知道,公鑰是可以對外公開的,那麼,所有人都知道我們的公鑰。在轉賬過程中,我不僅要確保比特幣轉給依依,而不會轉給別人,還得讓依依知道,這些比特幣是我轉給她的,不是鹿鹿,也不是韭哥。
比特幣系統可以滿足我的上述訴求:比特幣系統會把我的交易信息縮短成固定長度的字元串,也就是一段摘要,然後把我的私鑰附在這個摘要上,形成一個數字簽名。因為數字簽名裡面隱含了我的私鑰信息,所以,數字簽名可以證明我的身份。
完成之後,完整的交易信息和數字簽名會一起廣播給礦工,礦工用我的公鑰進行驗證、看看我的公鑰和我的數字簽名能不能匹配上,如果驗證成功,都沒問題,那麼,就能夠說明這個交易確實是我發出的,而且信息沒有被更改。
接下來,礦工需要驗證,這筆交易花費的比特幣是否是「未被花費」的交易。如果驗證成功,則將其放入「未確認交易」,等待被打包;如果驗證失敗,則該交易會被標記為「無效交易」,不會被打包。
其實,公鑰和私鑰,簡單理解就是:既然是加密,那肯定是不希望別人知道我的消息,所以只能我才能解密,所以可得出:公鑰負責加密,私鑰負責解密;同理,既然是簽名,那肯定是不希望有人冒充我的身份,只有我才能發布這個數字簽名,所以可得出:私鑰負責簽名,公鑰負責驗證。
到這里,我們簡單概括一下上面的內容。上面我們主要講到這么幾個詞:私鑰、公鑰、錢包地址、數字簽名,它們之間的關系我們理一下:
(1)私鑰是系統隨機生成的,公鑰是由私鑰計算得出的,錢包地址是由公鑰計算得出的,也就是:私鑰——公鑰——錢包地址,這樣一個過程;
(2)數字簽名,是由交易信息+私鑰信息計算得出的,因為數字簽名隱含私鑰信息,所以可以證明自己的身份。
私鑰、公鑰都是密碼學范疇的,屬於「非對稱加密」演算法中的「橢圓加密演算法」,之所以採用這種演算法,是為了保障交易的安全,二者的作用在於:
(1)公鑰加密,私鑰解密:公鑰全網公開,我用依依的公鑰給信息加密,依依用自己的私鑰可以解密;
(2)私鑰簽名,公鑰驗證:我給依依發信息,我加上我自己的私鑰信息形成數字簽名,依依用我的公鑰來驗證,驗證成功就證明的確是我發送的信息。
只不過,在比特幣交易中,加密解密啦、驗證啦這些都交給礦工了。
至於我們現在經常用的錢包APP,只不過是私鑰、錢包地址和其他區塊鏈數據的管理工具而已。錢包又分冷錢包和熱錢包,冷錢包是離線的,永遠不聯網的,一般是以一些實體的形式出現,比如小本子什麼的;熱錢包是聯網的,我們用的錢包APP就屬於熱錢包。
⑹ 區塊鏈中的私鑰是指什麼
私鑰公鑰這個名詞可謂是所有考題中最簡單的了。
公開的密鑰叫公鑰,只有自己知道的叫私鑰。
公鑰(Public Key)與私鑰(Private Key)是通過一種演算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。
一句話明了~
⑺ 在區塊鏈中使用的是什麼方式確定其身份
在區塊鏈中,金窩窩集團認為四使用公鑰和私鑰來識別身份的。
公鑰和私鑰還可以保證分布式網路點對點新型傳遞的安全。
在區塊鏈信息傳遞中,信息傳遞雙方的公鑰和私鑰的加密與解密往往是不成對出現的。
⑻ 區塊鏈技術中的哈希演算法是什麼
1.1. 簡介
計算機行業從業者對哈希這個詞應該非常熟悉,哈希能夠實現數據從一個維度向另一個維度的映射,通常使用哈希函數實現這種映射。通常業界使用y = hash(x)的方式進行表示,該哈希函數實現對x進行運算計算出一個哈希值y。
區塊鏈中哈希函數特性:
函數參數為string類型;
固定大小輸出;
計算高效;
collision-free 即沖突概率小:x != y => hash(x) != hash(y)
隱藏原始信息:例如區塊鏈中各個節點之間對交易的驗證只需要驗證交易的信息熵,而不需要對原始信息進行比對,節點間不需要傳輸交易的原始數據只傳輸交易的哈希即可,常見演算法有SHA系列和MD5等演算法
1.2. 哈希的用法
哈希在區塊鏈中用處廣泛,其一我們稱之為哈希指針(Hash Pointer)
哈希指針是指該變數的值是通過實際數據計算出來的且指向實際的數據所在位置,即其既可以表示實際數據內容又可以表示實際數據的存儲位置。下圖為Hash Pointer的示意圖

⑼ 區塊鏈中的對稱加密是什麼非對稱加密又是什麼
對稱加密演算法是指在加密和解密時使用的是同一個秘鑰。與對稱加密演算法不同,非對稱加密演算法需要公鑰和私鑰。公鑰和私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。
非對稱加密與對稱加密相比,其安全性更好。對稱加密的通信雙方使用相同的秘鑰,如果一方的秘鑰遭泄露,那麼整個通信就會被破解。
而非對稱加密使用一對秘鑰,一個用來加密,一個用來解密,而且公鑰是公開的,秘鑰是自己保存的,在通訊前不需要先同步秘鑰,避免了在同步私鑰過程中被黑客盜取信息的風險。
⑽ 區塊鏈我不是很了解啊,濱合雲智的分布式存儲技術到底是怎麼樣,有什麼技術優勢
攻克區塊鏈關鍵核心技術
濱合雲智集團發揮強大的長跑能力,投入大量人力、物力不斷開發新的技術和產品,集中攻克分布式存儲、加密演算法、P2P通信以及共識機制等區塊鏈關鍵核心技術,引領區塊鏈的前沿發展。經過多年的探索和實踐,濱合雲智集團已經形成了資料庫、中間件、安全產品到應用系統一體化的業務鏈條,覆蓋政務、知識產權、金融等國民經濟安全的重要領域。
2.構建良性的項目研發體系
濱合雲智集團基於技術研發經費持續投入,已形成了良性的項目研發體系,可以快速投入生產環境使用,領先於傳統高新技術及互聯網企業。其分布式存儲核心技術具備領先分布式融合架構,在加密機制和數據交換垂直領域發揮「專、高、精」精神,有效解決數據存儲安全、海量數據交換等問題,實現敏感隱私數據不出庫,並融合AI、LOT等信息技術,有效降低數據提供方與需求方的協作成本。
3.建設公平透明網路,高效低成本交換數據
濱合雲智集團通過結合區塊鏈分布式存儲技術及libp2p技術建設自有分布式存儲服務平台,構建基於區塊鏈技術和鏈下P2P網路搭建跨機構的可信數據交換環境,實現敏感隱私數據不出庫,降低數據提供方與需求方的協作成本,同時對數據共享進行細粒度的許可權控制,並保證後期可追溯確權,符合真實生產環境的安全性訴求。
4.構建三環加密機制
濱合雲智集團採用非對稱加密機制,完成硬體、軟體、人員、策略和規程的公鑰基礎設施建設,實現基於公鑰密碼體制的密鑰和證書的產生、管理、存儲、分發和撤銷等功能。第一,公鑰私鑰一一對應,構成區塊鏈項目的賬戶體系;第二,再加密機制,有助於高效、安全的授權、提權和使用數據,並促進數據使用的公平性,用戶可以自主選擇不同的加密服務商、保險公司,甚至開源的代碼服務。第三,重加密機制,在原有的常用加密手段上對用戶的隱私實現明文保密、公鑰保密、防非法公鑰替換、防合法公鑰替換、別名無關性等。三環加密演算法改變數據的存儲方式、安全性和權力主體,打破數據原有邊界和數據孤島現象,不同類型的數據實現統一整合。