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官方公众号
获取更多一手社区资讯
▼