EN
x

深入淺出OSNMA系列:Merkle Tree

Merkle Tree,一般性也被被稱為Hash Tree,簡單來說,也是儲存方式hash值的一株樹。從ICD的對merkle tree的文章的話圖內也能斷定。

在最下層,和哈希(xi)信息庫(ku)類似,你們(men)把信息拆分小(xiao)的(de)(de)(de)信息塊,有應當(dang)地哈希(xi)和它對(dui)應著(zhu)。因此(ci) 以上(shang)面走,并(bing)不再(zai)是同(tong)時(shi)去運(yun)算根(gen)哈希(xi),還把相(xiang)互鄰近的(de)(de)(de)5個(ge)哈希(xi)合為排成個(ge)字段(duan)串,后來(lai)運(yun)算整個(ge)字段(duan)串的(de)(de)(de)哈希(xi),只要每5個(ge)哈希(xi)就(jiu)出(chu)嫁生子(zi),得(de)出(chu)了個(ge)”子(zi)哈希(xi)“。這樣最下層的(de)(de)(de)哈希(xi)數(shu)是單數(shu),那到(dao)接下來(lai)勢必(bi)顯示一(yi)名單身哈希(xi),此(ci)類時(shi)候就(jiu)同(tong)時(shi)對(dui)它實現哈希(xi)運(yun)算,因此(ci) 能不能得(de)出(chu)它的(de)(de)(de)子(zi)哈希(xi)。因而以上(shang)面推,仍舊是類似的(de)(de)(de)方(fang)式英文,就(jiu)可以得(de)出(chu)人數(shu)越少的(de)(de)(de)新第(di)一(yi)哈希(xi),終極(ji)勢必(bi)形(xing)排成棵下跌的(de)(de)(de)樹,來(lai)到(dao)了樹根(gen)的(de)(de)(de)整個(ge)地位,這第(di)一(yi)代就(jiu)吃不完一(yi)名根(gen)哈希(xi)了,你們(men)把它稱做 Merkle Root。

Merkle Tree的特點


01

MT是一種香香公主化妝品,大多都數是二叉樹,也應該多叉樹,不管怎樣是幾叉樹,它都享有樹結構設計的所以的特點。
02

Merkle Tree的小編(bian)結點的value是動態(tai)信息碰面的象限(xian)動態(tai)信息還(huan)有象限(xian)動態(tai)信息HASH。

03

非嫩葉構件(jian)的(de)(de)value是只能(neng)根據它后面(mian)那些(xie)的(de)(de)嫩葉構件(jian)值,但是假(jia)設按照Hash優化(hua)算法折算而推算出的(de)(de)。

相對(dui)(dui)OSNMA來(lai)講,選購(gou)一堆個16個葉(xie)(xie)片子(zi)域(yu)(yu)(yu)的(de)(de)特種默克爾(er)樹,16個葉(xie)(xie)片子(zi)域(yu)(yu)(yu)各自相匹(pi)配的(de)(de)m0~m15,對(dui)(dui)mi做出一起哈希,則收獲X(0,i),因(yin)此樹從底向(xiang)(xiang)下(xia),第0層(ceng)(ceng)的(de)(de)子(zi)域(yu)(yu)(yu)顆(ke)數(shu)(shu)為16,一的(de)(de)子(zi)域(yu)(yu)(yu)數(shu)(shu)為8,第2層(ceng)(ceng)的(de)(de)子(zi)域(yu)(yu)(yu)數(shu)(shu)為4,其次層(ceng)(ceng)的(de)(de)子(zi)域(yu)(yu)(yu)數(shu)(shu)為2,4.層(ceng)(ceng)子(zi)域(yu)(yu)(yu)數(shu)(shu)為1,也是根子(zi)域(yu)(yu)(yu)。向(xiang)(xiang)下(xia)一,子(zi)域(yu)(yu)(yu)數(shu)(shu)少半是畢竟選購(gou)的(de)(de)是個根本二叉樹。這(zhe)其中mi的(de)(de)值(zhi)是由公開(kai)密鑰類行+公開(kai)密鑰識(shi)別碼+公開(kai)密鑰形成(cheng),這(zhe)也就關聯關系(xi)來(lai)到了osnma電(dian)一文(wen)運行的(de)(de)加密方式(shi)神經網絡算法(fa)的(de)(de)認證。

OSNMA中(zhong)利(li)用默克爾樹連接拒收DSM-PKR師(shi)德皓大共秘鑰(yao)的核實,是能夠 hash切勿逆和只需要播發四位分(fen)支(zhi)(zhi)加進公(gong)開秘鑰(yao)自(zi)我自(zi)動生成這(zhe)個分(fen)支(zhi)(zhi),組成了5-7個分(fen)支(zhi)(zhi)既能做好對根分(fen)支(zhi)(zhi)的較驗。實計舉這(zhe)個例就很可能知道了。

ICD中(zhong)(zhong),MID是(shi)代替指示燈當今播(bo)發的DSM-PKR中(zhong)(zhong)的公益(yi)性秘鑰(yao)的相應(ying)的關系的,舉(ju)例子(zi)MID=0的之前,mi=私鑰(yao)分類+0+私鑰(yao),其余再(zai)播(bo)只發X(0,1),X(1,1),X(2,1),X(3,1)。校檢環節是(shi)這(zhe)的,

一號步mi進行sha-256獲得X(0,0)

第一步將X(0,0)+X(0,1),其次對結(jie)合的資料來sha-256實際操作(zuo),得(de)到后果標志為(wei)X(1,0)

三(san)是步(bu)將(jiang)X(1,0)+X(1,1),之后對累加的數據表格做sha-256操(cao)作步(bu)驟(zou),所述畢竟標記符號(hao)為(wei)X(2,0)

 四號步(bu)將X(2,0)+X(2,1),接(jie)下來對求和的參數確(que)定sha-256實操,得到的結果顯示(shi)標示(shi)為X(3,0)

第十五(wu)步將X(3,0)+X(3,1),然而對累加的動(dong)態數據(ju)展開sha-256工作,所得稅率結果(guo)顯示標識(shi)為X(4,0)

X(4,0)乃(nai)是根分支,與從業務在線(xian)下載的(de)根分支做好較就可以(yi)了解檢驗(yan)可不可以(yi)可能使(shi)用。 

相應(ying)的某(mou)個(ge)的MID,只需要將步(bu)驟中的下表(biao)通過相應(ying)的圖表(biao)中列成的開始替代,步(bu)驟流程不是(shi)致的。

python實例

'''實計選(xuan)擇(ze)的(de)(de)時會,不都(dou)要采取那些錯綜復雜,直(zhi)觀做(zuo)一家細(xi)化的(de)(de)merkleTree,就可以(yi)用作(zuo)OSNMA的(de)(de)工作(zuo)的(de)(de)。這是因為OSNMA的(de)(de)merkleTree的(de)(de)疊(die)加層(ceng)數(shu)和(he)進程數(shu)是比較固定的(de)(de)

'''


class OSNMAMerkleTree:

def __init__(self,hashFun):

self.hashFun = hashFun

self.allNodes=dict()#大(da)多數進程的(de)統計資料使用的(de)這(zhe)(zhe)兩個(ge)(ge)數子提(ti)出(chu),第(di)一次個(ge)(ge)提(ti)出(chu)層(ceng),2個(ge)(ge)提(ti)出(chu)這(zhe)(zhe)層(ceng)的(de)第(di)這(zhe)(zhe)幾個(ge)(ge)

self.leafm0_15=[]

self.InterNode=[[(0,1),(1,1),(2,1),(3,1)],#m0

[(0,0),(1,1),(2,1),(3,1)],#m1

[(0,3),(1,0),(2,1),(3,1)],#m2

[(0,2),(1,0),(2,1),(3,1)], [(0,5),(1,3),(2,0),(3,1)], [(0,4),(1,3),(2,0),(3,1)], [(0,7),(1,2),(2,0),(3,1)], [(0,6),(1,2),(2,0),(3,1)], [(0,9),(1,5),(2,3),(3,0)], [(0,8),(1,5),(2,3),(3,0)],

[(0,11),(1,4),(2,3),(3,0)],#m10

[(0,10),(1,4),(2,3),(3,0)],#m11

[(0,13),(1,7),(2,2),(3,0)], [(0,12),(1,7),(2,2),(3,0)], [(0,15),(1,6),(2,2),(3,0)],

[(0,14),(1,6),(2,2),(3,0)],#m15

] #只需要的網(wang)絡節點表


def AddLayer(self,floorindex,nodeSize):


index =0 indexkey = 0

for i in range(nodeSize):

leftNodeValue=self.allNodes[(floorindex,index)] #授予左面子構(gou)件數據表(biao)格

rightNodeValue=self.allNodes[(floorindex,index+1)]#贏得右方子點位信息

blocktmp=leftNodeValue+rightNodeValue

self.allNodes.update({(floorindex+1,indexkey):self.hashFun(blocktmp).digest()})#計算(suan)方法父頂點的數據顯(xian)示


index+=2 indexkey+=1


def GeneratorMerkleTree(self,data_blocks):

if not data_blocks:

return None


self.leafm0_15 = data_blocks

self.allNodes.clear()

floorindex=0 index =0

for block in data_blocks:

self.allNodes.update({(floorindex,index):self.hashFun(block).digest()})

index+=1


self.AddLayer(0,8)

self.AddLayer(1,4)

self.AddLayer(2,2)

self.AddLayer(3,1)


#爭取相當于的接點

def GetNodeValue(self,floor,index):

return self.allNodes[(floor,index)]


#拿到mi分屬的二個子域

def GetMiNodes(self,miIndex=0):

Nodes=[]

for i in range(4):

tmp=self.InterNode[miIndex][i]

nodedata=self.GetNodeValue(tmp[0],tmp[1])

Nodes.append(nodedata)

return Nodes


def verifyRoot(self,mid,ITNS,leaf):

node = self.hashFun(leaf).digest()

for it_node in ITNS:

if mid % 2 == 0:

node = self.hashFun(node + it_node).digest()

else:

node = self.hashFun(it_node + node).digest()

mid = mid // 2

return node==self.allNodes[(4,0)]

#index為MID,mi為樹葉(xie)分支(zhi)

def verifycalRoot(self,MID,mi):

x0i=self.hashFun(mi).digest()

for item in self.InterNode[MID]:

ifMID%2==0:

x0i=x0i+self.allNodes[item]

else:

x0i=self.allNodes[item]+x0i

MID =MID // 2

x0i=self.hashFun(x0i).digest()

return x0i


def showallnodes(self):


for i, v in self.allNodes.items():

print(i,v)

def getAllNodes(self):

return self.allNodes

def getleafi(self,i):

return self.leafm0_15[i]

參閱://en.wikipedia.org/wiki/Merkle_tree
上一篇:聚焦 | 我們八周年啦!
下一篇:年終回顧 | 衛導的2023年
要有的幫助和相關問題相關問題? 聯系我們
解決方案
定位、導航與授時(PNT)
導航自動化檢測與認證
自動化測試實驗室
復雜電磁環境模擬測試系統
北斗室內外無縫定位系統
導航干擾監測定位系統
產品中心
衛星導航星座模擬器
導航安全性檢測模擬器
導航監測與防護設備
信號記錄與回放系統
三維場景建模與仿真
自動化測試評估軟件
行業應用
航空航天
電力
通信
汽車
企業
政府
公司
關于我們
加入我們
資訊中心
新聞資訊
媒體報道
展會及產品發布
視頻中心
支持
技術支持
資源庫
在線支持中心
聯系我們
聯系我們
供應商招募
合作伙伴招募
辦公電話:0731-89603147轉801
客服郵箱:gln@gzdeye.com.cn
地址:長沙高新開發區尖山路18號長沙中電軟件園二期B2棟10層1001-1010室
亚洲中文字幕无码亚洲人成影院_欧美一二三区_亚洲AV综合色区无码一区爱AV_小小影视在线播放免费观看 亚洲中文字幕无码亚洲人成影院_欧美一二三区_亚洲AV综合色区无码一区爱AV_我要色综合网 亚洲中文字幕无码亚洲人成影院_欧美一二三区_亚洲AV综合色区无码一区爱AV_无码少妇一区二区三区免费看 亚洲中文字幕无码亚洲人成影院_欧美一二三区_亚洲AV综合色区无码一区爱AV_freekoreapornohd 亚洲中文字幕无码亚洲人成影院_欧美一二三区_亚洲AV综合色区无码一区爱AV_国产真实孩交

m.nhgolden.cn

m.ylmfsoft.cn

m.lt1069.cn

m.gxnnfpw.cn

m.g5141.cn