從結構上說:
區塊鏈這個名詞源自於交易的處理方式,通過區塊批量處理交易,每個區塊包含前乙個區塊的hash,以此形成區塊鏈。區塊鏈非常聰明地把兩個基於雜湊值的資料結構結合起來:
第乙個資料結構是區塊鏈,每乙個區塊都有乙個去快頭部,裡面有乙個雜湊指標指向上乙個區塊。第二個資料結構是乙個樹狀資料結構,也就是以樹狀結構把區塊內所有交易的雜湊值進行排列儲存。」
從技術上說:
區塊鏈使用了密碼學、p2p網路、博弈論等不是完全使用技術手段,而是將技術手段與一種明智的激勵機制相結合,做到了去中心化,在這個網路中沒有中心化節點,通過節點之間的共識演算法達到資料的一致性,通過社群治理鏈發展所以區塊鏈的三大基石社群、共識、激勵。
所謂的共識就是在人人平等的社會裡需要大家共同形成乙個共識,產生乙個操作者、臨時決策者,代表大家來進行中心化的操作,大家按照這個共識來維持去中心化的網路世界。
區塊鏈可以看作一本記錄所有交易的分布式公開帳簿,區塊鏈網路中的每個參與者都把它看作一本所有權的權威記錄。
公開賬本歷史資料不可篡改,只允許往後新增,每個節點都具有相同的許可權,那麼就帶來乙個問題:
公開賬本每個新區塊由誰來負責寫入?
因為所有節點都一樣,如果所有節點同時一起寫入賬本資料,那麼肯定資料會不一致。
因此需要一種機制來保證區塊鏈中的每一區塊只能由乙個節點來負責寫入,如何選出寫入賬本資料的節點,這就是共識機制。讓平等的參與者按照某種秩序達成一致意見。
是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑑別數字資訊的方法。一套數字簽名通常定義兩種互補的運算,乙個用於簽名,另乙個用於驗證。就是只有資訊的傳送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對資訊的傳送者傳送資訊真實性的乙個有效證明。在區塊鏈技術中,數字簽名涉及到公鑰、私鑰和錢包等工具,它有兩個作用:一是證明訊息確實是由資訊傳送方簽名併發出來的,二是確定訊息的完整性,沒有被篡改過。
數字簽名流程:
1.生成公鑰和私鑰對。
2.通過傳送者的私鑰對訊息的雜湊值進行加密,生成簽名資訊。
3.把加密後的雜湊值和待傳送的資訊連同公鑰一起發給接受者。
4.接收者通過傳送方的公鑰對加密的雜湊值進行解密,還原出雜湊值。
5.對簽名資訊進行驗證。
挖礦實現的三個目標:
(1)一種激勵機制,使得位元幣節點有動力去記錄交易資料。
(2)實現了新幣發行。
(3)通過工作量證明演算法使得區塊鏈歷史資料實際上不可更改。
錢包是儲存私鑰的容器,通常以結構化檔案或者簡單資料庫的方式實現。錢包是用來儲存私鑰並不儲存資產,資產還是存放在區塊鏈上。
錢包分為:非確定性(隨機)錢包和確定性(種子)錢包。
非確定性(隨機)錢包:在早期的位元幣客戶端中,錢包是隨機生成的私鑰的簡單集合。
確定性(種子)錢包:確定性或者稱為「種子」錢包是另一種錢包型別,它包含的私鑰是通過使用單向雜湊函 數,從乙個共同的種子衍生而來的。種子是乙個隨機生成的數字,它與其他諸如索引號或 者「鏈碼」[參考「層次化確定性錢包(bip0032/bip0044)」]等組合並計算得出私 鑰。在確定性錢包中,只要使用種子就可恢復所有的衍生金鑰,也就是說,只要在建立錢 包時做個簡單備份就夠了。種子也一樣可以在錢包匯入或匯出時使用,利用種子可以非常 簡單地將使用者的所有金鑰從乙個錢包軟體遷移到另乙個錢包軟體。
鏈客區塊鏈技術面試題目專題(一)
以太坊的賬戶包含四個部分 隨機數,用於確定每筆交易只能被處理一次的計數器 賬戶目前的以太幣餘額 賬戶的合約 如果有的話 賬戶的儲存 預設為空 這四個部分怎麼檢視,有哪位大神知道麼?eth.accounts只能看到42位的位址 答 隨機數,其實就是遞增的數字,每個nonce只能用一次,而且是越來越大的...
區塊鏈學習之路 持續更新
本文首發在我的個人部落格 大概1週前boss突然跟我說讓我看看 以太坊 區塊鏈 相關的技術,於是我開始進入熱火朝天的區塊鏈開發.2018年5月10日更新 另開一篇寫學習筆記好了,這一篇留著記錄問題.搭建私有鏈時碰見的問題 fatal error starting protocol stack lis...
2023年最新版區塊鏈面試題(續)
區塊鏈由所有金融交易的資訊組成。乙個塊只不過是乙個記錄列表。當這些列表相互結合時,它們被稱為區塊鏈。例如,乙個組織有100個分類賬簿,其中的組合被稱為區塊鏈,單個分類賬將被視為乙個區塊。這是一種實際上為位元幣設計的技術,後來因為監控和記錄網路上所有金融交易而帶來的多種好處而獲得了大量的推廣。這是一種...