
先区分地址与授权能力
区块链地址算法入门需要了解什么,首先要弄清几个容易混淆的概念:私钥用于签名,公钥参与验证,地址用于表达接收目标或标识账户。钱包则是管理密钥、展示信息和与网络交互的软件界面。
知道一个地址,并不等于拥有对应的操作权限。理解地址时,应分别回答两个问题:这个字符串怎样生成,以及网络依据什么条件认可相关操作。

比特币P2PKH:地址关联公钥哈希
Bitcoin Developer Guides的交易说明以P2PKH为例:从私钥推导公钥,再对公钥进行哈希处理,结合版本信息和校验信息形成Base58编码的地址。相关输出记录金额和花费条件,之后花费时需要提供匹配的公钥及有效签名。

这套解释适用于传统P2PKH机制。地址帮助软件构造相应的输出条件,而余额来自钱包可识别的未花费交易输出,即UTXO。不能把这一地址生成流程直接推广为所有比特币地址类型的统一公式。
以太坊:外部账户与合约地址分开理解
Ethereum.org的账户说明指出,外部账户地址取公钥的Keccak-256哈希末尾20字节,以十六进制表示并加上0x前缀。合约地址另有规则:CREATE与创建者地址及nonce有关;CREATE2使用创建者地址、salt和创建代码的哈希。
因此,看到相同长度的地址,并不能仅凭外观判断它由私钥控制还是由合约代码控制。学习地址算法时,必须先确定账户类别;外部账户的推导规则不能直接套用于合约地址。
哈希、编码与签名各解决什么问题
哈希把输入映射为固定长度的摘要;编码把数据表示成便于传递的字符;签名则让验证方检查授权及被签署的数据。这些步骤承担不同职责,不能把地址编码理解为私钥加密,也不能把地址校验通过理解为身份认证成功。
算法名称相近或输出长度相同,也不足以证明两套规则兼容。阅读技术说明时,要同时关注输入对象、哈希方法、截取位置和最终表示格式。
常见问题与适用边界
能从地址恢复私钥吗?上述机制没有提供这样的逆向恢复方法。能生成地址,也不代表相应地址已经发生链上活动;确定性计算与链上状态是两个层面。
格式正确就代表目标正确吗?格式和校验机制只能检查其规则覆盖的问题,不能证明地址属于某个人,也不能单凭地址外观确认网络。入门时应把生成规则、授权验证和链上状态分开学习,避免用一种链或一种地址类型的经验解释全部情况。