简单读懂区块链地址的定义及产生原理

 MING   2022-05-05 10:54   128 人阅读  0 条评论

区块链地址,一般指的就是区块链钱包的地址,是根据公钥的信息计算得出,它可对全节点公开,公开后无任何风险,本质是一长串的字符代码

 

区块链地址有别于传统概念中的地址,它不是我们现实生活中可以通过地标与方向确定的地方,不能用现实世界的经纬度坐标来表示,也不是我们以往接触过的邮箱地址等,它是一种数据,是经过计算得出,具有一定安全性的加密地址。

 

区块链(钱包)地址是创建钱包后自动生成的,每一个钱包对应一个地址(唯一性),所有的区块链钱包地址一经创建就无法修改(不可更改)。钱包地址就相当于银行卡,可用来进行转账等交易,也可以作为转币的凭证,而一个钱包中所有代币的转账收款地址都是一样的。

 

地址的生成:私钥经过椭圆曲线乘法运算,可以得到公钥(公钥不能逆推得出私钥)。公钥是椭圆曲线上的点,有压缩的与非压缩的两种形式。但椭圆曲线算法生成的公钥信息比较长,压缩格式的有33字节,非压缩的则有65字节,而地址则是为了减少接收方所需标识的字节数。

 

地址的生成步骤如下((以比特币为例)):

 

1.生成私钥与公钥;

 

2.将公钥通过 SHA256 哈希算法处理得到32字节的哈希值;

 

3.对得到的哈希值通过 RIPEMD-160 算法来得到20字节的哈希值 —— Hash160;

 

4.把版本号 +Hash160 组成的21字节数组进行双次 SHA256 哈希运算,得到的哈希值的头4个字节作为校验和,放置21字节数组的末尾;

 

5.对组成25位数组进行 Base58 编码,得到地址。

 

私钥可以推导出公钥,而公钥可以推导出地址,但这个过程是不可逆的。这也就意味着,在加密货币的系统中,公钥是可以公开的,钱包地址是安全的,私钥是受到加密保护的。

 

在区块链系统中,人人都可以生成大量的私钥、公钥和地址。因地址本身是匿名的,通过多个地址交易还可以进一步提高匿名性。但基于区块链公开透明的特征,所有的交易也都是透明的,就是说可以查询到一个地址的所有交易,还可朔源跟踪所有的进出帐和余额。

 


本文地址:https://www.blincn.com/post/31.html
版权声明:本文为原创文章,版权归 MING 所有,欢迎分享本文,转载请保留出处!

评论已关闭!