比特币基于密码学,讽刺的是,加密不是比特币的重要组成部分,因为它的通信和交易数据没有加密,也不需要加密。
比特币的所有权通过数字密钥、比特币地址、数字签名确定。
数字密钥存在钱包或简单的数据库中,独立于比特币协议。
大多数比特币交易都需要有效签名才会被存储在区块链,只有有效的密钥才能产生有效的签名,因此拥有密钥副本就拥有了对账户比特币的控制权。用于支出资金的数字签名也被称为见证。
密钥成对出现,由公钥、私钥组成。公钥就像银行卡号,私钥就像密码。
并非所有比特币地址都是公钥。
比特币使用椭圆曲线乘法作为公钥加密基础,不可逆。
公钥用于接收比特币,私钥用于比特币支付时的交易签名。
支付比特币时,当前所有者需要在交易中提交其公钥和签名(每次交易的签名都不同,但均从同一个私钥生成)。
私钥通常是随机选出的数字,有了私钥,就可以用椭圆曲线乘法这个单向加密函数产生一个公钥。有了公钥,就可以使用一个单向加密哈希函数生成比特币地址。
比特币私钥空间大小是2^256,大约是10^77,可见宇宙被估计只有10^80个原子。
大多数比特币程序使用OpenSSL加密库进行椭圆曲线计算。例如调用EC_POINT_mul()函数,可计算出公钥。
公钥有两种形式:压缩格式、非压缩格式。引入压缩格式公钥是为了减少比特币交易的字节数,节省运行区块链数据库的节点磁盘空间。
P2SH函数最常见的实现是多重签名脚本。
靓号地址包含了常见单词或其他人类可读信息。
纸钱包是打印在纸张上的比特币私钥。
网友评论