1.簡述一下區塊鏈的分叉技術
分叉技術:主要用于區塊鏈系統的更新,又分為軟分叉和硬分叉
軟分叉:就是小更新,新的代碼邏輯依舊可以兼容之前版本,用戶可以自行選擇是否更新系統版本,
硬分叉:大更新,新的代碼邏輯不能兼容之前的版本,并且要求用戶強制更新,不更新的話就不能保證用戶的正常使用,
2.說明默克爾樹的作用和生成程序
默克爾樹的作用用于快速校驗交易的正確性,并且推算出交易資訊,
生成程序圖:(兩兩相加,單個復制)

3.說明所知道的共識演算法
分布式共識演算法: raft演算法,
基于圖結構的共識演算法: tangle、 hashgraph、
競爭式的共識演算法:pow作業量證明演算法、 pos股權類證明、 po*憑證類共識演算法、
協作式的共識演算法:BFT拜占庭容錯演算法、 PBFT實用拜占庭容錯演算法、
結合硬體的共識演算法: 結合可信執行環境的共識演算法,
4.區塊鏈中哈希演算法的作用
hash主要是將不定長的字串轉換成固定長度的字串,并且他不可還原,安全
1、用于構建默克爾樹,實作內容的快速檢測,想要驗證交易資訊,只要判斷默克爾樹根值即可,
2、構建區塊鏈的鏈式結構,防止篡改
5.區塊鏈智能合約的流程
智能合約流程: 先制定一套電子合約標準,然后基于特定的事件,只要滿足事件的規則,合約自動執行,
主要組成部分: 智能合約 + 預置觸發條件 + 獲取結果途徑 + 預置回應事件
注意:雖然合約是寫死的,但并不是不好的,因為他嚴格執行,
區塊鏈中利用智能合約:
保證了所有參與節點都嚴格遵循合約里的規定,
如果有惡意節點想篡改內容,就需要篡改所有節點的內容,
6.幣圈和鏈圈的區別
幣圈:主要注重加密數字貨幣的價值,并期望從中能獲得利益,幣圈人員分類:盈利,投資
鏈圈:更多注重的是底層的技術,他們研究演算法,或者研究區塊鏈的性能問題及應用場景,以求更快的落地,
7.數字簽名流程
數字簽名流程:私鑰簽名,公鑰驗簽 (簽名)
1、私鑰持有者對原文資料進行hash計算,得到數字摘要
2、然后使用私鑰對數字摘要進行簽名,得到數字簽名
3、數字簽名 + 原文使用密鑰進行加密,得到加密資訊(對稱加密)
4、A使用B的公鑰對上一步的密鑰進行加密,得到一個信封,(非對稱加密)
5、A把信封和加密資訊(數字簽名資料+原文)一起發送給B, (驗簽)
6、B使用公鑰解封信封,得到密鑰,
7、B使用密鑰解密加密資訊,得到數字簽名+ 原文
8、B使用A的公鑰對數字簽名進行驗簽,得到數字摘要1(驗證訊息來源的合法性)
9、B對原文進行hash計算,得到數字摘要2
10、對比數字摘要1和數字摘要2是否相同,(驗證訊息的正確性)
注意:比對兩個數字摘要是否一致,一致的話就合法,不一致說明資料在中途被篡改,不安全
數字簽名的作用:
1、保證訊息來源的合法性(身份驗證)
2、保證資料的正確性(不被篡改)
區塊鏈中使用數字簽名識別交易發起者的身份,防止惡意節點冒充,
8.區塊鏈的特性和解釋
特征和解釋:
去中心化:
就是‘去信任’,不需要依賴第三方中心節點,私鑰作為唯一標識
透明可信:
就是區塊鏈上的每一筆交易都是透明公開的,
人人記賬,從而保證資料的完整性,實作了資訊的(透明),
節點之間的決策都是共同參與的,通過達成共識從而達到(可信)
防篡改可溯源:
因為區塊鏈的本質是一個資料庫,是一個鏈式的分布式賬本技術,如果改動了其中一個,一整個鏈式系統就會有變化,
每一筆交易在經過確認后都會完整的上鏈,所以(可溯源)
而且上鏈后就很難被篡改,因為一改一個就需要改動其他全部的,(防篡改)
系統可靠安全:
系統中每一個節點都高度自治,少了一個節點并不會影響系統正常運行,
支持拜占庭容錯 3 f +1 <= n
9.腳本分類及里面的運算子
腳本分類:鎖定腳本、解鎖腳本
運算子及解釋: <Sig><pubKey> Dup(復制堆疊頂元素) Hahs160(堆疊頂元素進行hash160計算) <pubHash> EqualVERIFY(取出堆疊頂兩個元素判讀是否相等,相等移除) CHERSIG (取出公鑰和簽名進行驗簽,為true代表驗證通過,反之不通過)
腳本運算子:
DUP :復制堆疊頂元素,
HASH160:對堆疊頂元素進行hash計算,(ripemd160)
Equalverify:取出堆疊頂兩個元素,判斷是否相等,相等移除
CHECKSIG:校驗,驗簽,判斷簽名是不是由公鑰對應的私鑰產生的,true代表相等,能使用這筆錢,false不相等,不能使用,
注意:<>里面的東西都是資料,都是要入堆疊的,
10.同態加密和零知識證明技術
同態加密:就是在資料是加密的狀態下對資料進行處理,解密后的結果是修改后的資訊,并且與對明文進行處理后再加密的結果是一致的,
零知識證明技術:就是對驗證者不提供任何有用的資訊(就是關于被證明訊息的資訊)的情況下,讓別人相信這個結論是正確的,
零知識證明:就是任何技術都能證明
11.提高區塊鏈性能的解決方法
區塊鏈性能問題:交易確認時間久、吞吐量低,
交易確認時間久:
1.增大區塊的大小、 2.提高出塊的頻率
吞吐量低:(在于共識的程序)
解決方法:異步共識、隨機共識、磁區方案,子鏈和側鏈,隱形中心化,可信執行環境,
12.提高區塊鏈隱私安全的方法
有服務提供著情況下:服務提供者保護用戶隱私安全
沒有提供者:
1、同態加密:就是在加密的狀態下對加密資料進行處理,整個交易程序中的資料都是處于加密狀態的,只有持有私鑰者才解密個人相關資訊,別的節點無法查看,
2、零知識證明技術:結合同態加密,完成加密后的資料的有效驗證,
3、其他隱私保護:群簽名、環簽名、可信執行環境
4、區塊鏈系統提供隱私保護提示,從而提高用戶的安全意識,
13.跨鏈技術的作用和解決方法
跨鏈技術:就是不同的鏈中實作協同操作,互聯互通,可以理解一種兌換技術,
跨鏈技術作用: 實作區塊鏈的價值流通, 不同的鏈中實作協同操作
面臨問題:
1、交易驗證問題:如何保障不同的鏈之間的信任問題,并實作之間的交易驗證,一個區塊鏈如何驗證另一個區塊鏈上的交易,
2、事務管理問題:如何保證這些交易最終的確認,不會被回滾,以及保證交易的原子性
解決方法:
1、側鏈:實作區塊鏈代幣(位元幣、token幣)可以在不同的區塊鏈之間轉移,
2、公證人機制:就是交易的程序中有一個托管者,幫忙管理交易,(例如淘寶購物),
14.圖結構區塊鏈和傳統區塊鏈的對比
圖結構區塊鏈:有向無環圖DAG,拓撲結構,由交易單元組成,節點之間的共識可以是異步共識,好比多執行緒,
傳統區塊鏈:鏈式結構,由區塊組成的單鏈,所有的節點共識都是基于一個區塊鏈上的,而且只能按照時間順序寫入,相當于單執行緒
15.解釋區塊鏈的三元悖論
三元悖論:是用來衡量區塊鏈性能好壞的一個理論
三元:高效性,安全性,去中心性
注意:這三元不能同時達到最好的效果,提高一個必定會損害其他兩個,不能同時達到最佳,
但是安全性肯定是要優先考慮的,所以只能在其他兩個中進行衡量,
16.區塊鏈的概念
區塊鏈是一種按照時間順序將資料區塊以順序相連的方式組合成的鏈式資料結構,并以密碼學的方式保證了不可篡改和不可為偽造的分布式賬本技術,
17、交易輸入交易輸出:
交易輸入:對應付款方,代表花錢
交易輸出:對應收款方,代表掙錢
注意:先有交易輸出,再有交易輸入,先掙錢再花錢,
總結: 1、每一筆交易都會有交易輸入和交易輸出, 2、在一筆交易中,可能包含一筆或多筆交易輸入,也可能包含一筆或多筆交易輸出, 3、任何一個交易的交易輸入,都是前序的某一筆交易的交易輸出, 5、所有的交易最開始的都是來自coinbase,挖礦獎勵, 4、每一筆交易都有交易輸入和交易輸出,一般來說,每一筆交易都要花費一筆輸入,產生一筆輸出,這里面產生的這個輸出就叫做UTXO,
UTXO:未花費的交易輸出,
18.標志碼:
0x00 位元幣地址
ox01 壓縮私鑰
0x02 y<0的壓縮私鑰
0x03 y>0的壓縮私鑰
0x04 非壓縮私鑰
19.腳本支付型別
P2PKH:向公鑰哈希支付(Pay To Public Key Hash)
P2PK:向公鑰支付(Pay To Public Key )
P2SH:向腳本Hash支付(Pay To Script Hash)
多重簽名
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/402495.html
標籤:區塊鏈
上一篇:位元幣系統交易原理淺析
