
地址表达什么信息
BTC地址是便于传递接收条件的编码表示。理解地址时,可以先区分两个问题:款项应受什么条件约束,以及谁能满足这些条件。地址帮助表达前者,密钥与签名参与证明后者。
Bitcoin Developer Guides的交易说明以P2PKH为例:公钥经过哈希处理,再结合版本信息、校验和进行编码,形成地址。这里的生成过程适用于该类型,不能直接推广为所有比特币地址的统一结构。

地址、公钥和私钥的区别
在P2PKH机制中,私钥用于生成签名,公钥用于验证签名;地址则包含公钥哈希的编码信息。接收方提供地址,并不等于交出了签名所需的秘密。

常见疑问是:知道地址能否支配对应款项?仅知道地址不够。支出时需要提供满足输出条件的数据,其中包括相应的公钥和有效签名。因此,地址可用于传递接收信息,私钥需要保密。
余额与UTXO是什么关系
普通交易通过输入引用此前的输出,并创建新的输出。尚未被花费的输出称为UTXO;钱包显示的余额,可以来自多个这样的输出。引用具体输出时,需要交易标识txid与输出序号共同定位。
这解释了地址、交易编号和余额为何不能混为一谈:地址表达接收条件,交易编号标识交易,余额则涉及可用输出的汇总。把地址理解成内部装着币的容器,容易忽略真正记录金额和支出条件的是交易输出。
哈希与校验和各有什么作用
NIST对哈希函数的介绍指出,固定长度哈希将输入映射为固定长度摘要。安全性质包括难以从摘要寻找对应输入,以及难以找到摘要相同的不同输入。这些性质描述的是计算上的困难,并不意味着数学上不存在重复结果。
哈希也不等于可解密的加密文本。理解地址中的公钥哈希时,不应把它当作能够通过解密还原公钥的内容。地址校验和则用于检测输入错误,校验通过只能说明符合相应检查规则,不能证明地址属于某个特定的人。
入门时需要保留的适用边界
上述密钥、公钥哈希和签名关系以P2PKH为具体例子。遇到其他地址或脚本类型时,需要依据对应规则理解,不能仅凭外观套用同一种验证过程。
另一个常见误区是把格式正确等同于身份可信。地址编码、签名验证和身份确认回答的是不同问题;理解这些边界,比单纯记住一串地址字符更有助于读懂比特币交易。