1-5你需要了解的那些計算

首先來看一張圖

如圖

這是NEO的WIF到地址的關(guān)系

流程說明

細說WIF

L13wAkUX1SAx6K9zztkS8RjxDMedBEzbtgZSZRYKUUBMP23BEgLM

這就是一個WIF,這串東西沒什么意義,不用尋找他的意義了,他是一個byte58編碼的字符串

很遺憾base58并沒有base64那么流行,所以很難找到web解碼工具,我們寫兩行代碼就可以分析出他們。

8072520405d2ab00326dbcacfddd350b01222a7cc9efc5f304f742077ec9ade4630178a41006

這串東西,才是Wif里面保存的真正數(shù)據(jù)

紅色部分就是私鑰,黃色部分是加的鹽,固定的信息。藍色部分是對前面34個字節(jié)做了個hash,取了hash四個字節(jié)。

從這個可以看出

1.WIF 可以和私鑰互轉(zhuǎn)

2.WIF保存了hash,有自我驗證功能,不是你隨便敲個字符串都是合法的WIF

私鑰

NEO的公私鑰驗證方法使用的是ECC橢圓曲線算法。

這類非對稱加密算法的基本機制如下,私鑰你保留著,公鑰是公開的。你用私鑰對一串數(shù)據(jù)進行簽名。

別人可以用 數(shù)據(jù)、簽名、公鑰 三者,斷定這三者是不是匹配,簽名是否有效。

在NEO區(qū)塊鏈上最主要的權(quán)限認證方式就是簽名,所以私鑰很重要,要保護好

公鑰

公鑰就是私鑰的一部分,可以由私鑰算出,但是反過來,公鑰無法算出私鑰。

這個計算是單向的

地址腳本

地址腳本,看起來像是對公鑰前面后面各加了一個字節(jié)

實際上他是一個智能合約,將他反編譯的話、

就是:

PushBytes[pubkey]

CheckSig

這樣兩條指令。

當你訪問你的賬戶的時候,比如用你的賬戶給別人轉(zhuǎn)賬,就會調(diào)用這個合約來驗證。

這個合約的意義是用你的公鑰和交易數(shù)據(jù) 和交易簽名進行驗證。

只有你簽名的合約才能動你的賬戶

地址ScriptHash

地址ScriptHash就是地址腳本取了個Hash

一次sha256,一次ripemd160

地址

地址和WIF很相似,不過他是ScriptHash 加了鹽,加了驗證功能,然后base58編碼

簡化版的圖是怎么回事

因為私鑰和WIF可以互相轉(zhuǎn)換,通常我們在講到私鑰的時候,WIF也是私鑰,私鑰也是私鑰,不會分那么清楚。

因為地址ScriptHash 和 地址字符串可以互相轉(zhuǎn)換,通常我們在講到地址的時候,也不會分那么清楚

另外因為地址腳本大多數(shù)用戶根本接觸不到,在和一般用戶談?wù)撨@個話題的時候也可以省略掉

所以這個關(guān)系圖可以簡化如下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容