NEXT社區 | 小課堂web
因爲近期NEXT社區加入不少新的小夥伴,有在校大學生,有對區塊鏈感興趣的傳統企業從業者。爲了更方便、更系統的讓NEXT社區的夥伴們瞭解NEO的技術知識,所以咱們開設了小課堂,每週3節,向你們普及NEO相關的知識要點!算法
今天說一說從WIF到地址的這一串關係。簡單說就一張圖:工具
或者他的簡單版本:學習
好了,寫完了。^_^區塊鏈
固然,若是你想要搞清楚他們之間具體的計算方法,咱們接着往下看。編碼
L13wAkUX1SAx6K9zztkS8RjxDMedBEzbtgZSZRYKUUBMP23BEgLM
這就是一個WIF,這串東西沒什麼意義,不用尋找他的意義了,他是一個byte58編碼的字符串。加密
很遺憾base58並無base64那麼流行,因此很難找到web解碼工具,咱們寫兩行代碼就能夠分析出他們。spa
8072520405d2ab00326dbcacfddd350b01222a7cc9efc5f304f742077ec9ade4630178a41006
這串東西,纔是Wif裏面保存的真正數據!3d
紅色部分就是私鑰,黃色部分是加的鹽,固定的信息。藍色部分是對前面34個字節作了個hash,取了hash四個字節。blog
從這個能夠看出:
一、WIF 能夠和私鑰互轉;
二、WIF保存了hash,有自我驗證功能,不是你隨便敲個字符串都是合法的WIF。
NEO的公私鑰驗證方法使用的是ECC橢圓曲線算法。這類非對稱加密算法的基本機制以下,私鑰你保留着,公鑰是公開的。你用私鑰對一串數據進行簽名。
別人能夠用 數據、簽名、公鑰 三者,判定這三者是否是匹配,簽名是否有效。
在NEO區塊鏈上最主要的權限認證方式就是簽名,因此私鑰很重要,要保護好!
公鑰就是私鑰的一部分,能夠由私鑰算出,可是反過來,公鑰沒法算出私鑰。
這個計算是單向的。
地址腳本,看起來像是對公鑰前面後面各加了一個字節。
實際上他是一個智能合約,將他反編譯的話。
就是:
PushBytes[pubkey]
CheckSig
這樣兩條指令。
當你訪問你的帳戶的時候,好比用你的帳戶給別人轉帳,就會調用這個合約來驗證。
這個合約的意義是用你的公鑰和交易數據 和交易簽名進行驗證。
只有你簽名的合約才能動你的帳戶。
地址ScriptHash就是地址腳本取了個Hash。
一次sha256,一次ripemd160。
地址和WIF很類似,不過他是ScriptHash 加了鹽,加了驗證功能,而後base58編碼。
由於私鑰和WIF能夠互相轉換,一般咱們在講到私鑰的時候,WIF也是私鑰,私鑰也是私鑰,不會分那麼清楚。
由於地址ScriptHash 和 地址字符串能夠互相轉換,一般咱們在講到地址的時候,也不會分那麼清楚。
另外由於地址腳本大多數用戶根本接觸不到,在和通常用戶談論這個話題的時候也能夠省略掉。
因此這個關係圖能夠簡化以下:
本文來源:NEOFANS
原文連接:http://neofans.org/
聯繫咱們
微博:https://weibo.com/u/6724929880
官網:https://neonext.club/
QQ羣:612334080
電報:https://t.me/neonextop
twitter:https://twitter.com/NE0NEXT
掃碼關注NEO NEXT官方公衆號
獲取更多一手社區資訊
▼