该BIP (Bitcoin Improvement Proposal) 描述了一种新型的比特币地址,以支持任意复杂的交易(pay-to-script-hash)。这种地址编码的是脚本的哈希值,而不是ECDSA公钥的哈希值。旨在实现端到端安全钱包、支持资金托管等复杂交易,并支持第三方钱包安全服务。
forked from bitcoin/bips
vault
搜索此仓库
/
复制路径
BlameMore 文件操作
BlameMore 文件操作
Promote BIP 2 Draft->Active, and implement it
打开提交详情
2016年11月30日
959fecc · 2016年11月30日
打开提交详情
59 行 (37 loc) · 3.51 KB
/
顶部
预览
代码
Blame
59 行 (37 loc) · 3.51 KB
复制原始文件
下载原始文件
目录
编辑和原始操作
BIP: 13
Layer: Applications
Title: Address Format for pay-to-script-hash
Author: Gavin Andresen <gavinandresen@gmail.com>
Comments-Summary: No comments yet.
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0013
Status: Final
Type: Standards Track
Created: 2011-10-18
## 目录<br>Permalink: 目录<br>- 摘要<br>- 动机<br>- 规范<br>- 原理<br>- 向后兼容性<br>- 参考实现<br>- 参见 |
此 BIP 描述了一种新型比特币地址,以支持任意复杂的交易。在这种情况下,复杂性定义为接收者重新花费收到的币所需的信息,而不是像当前比特币的实现那样需要单个 ECDSA 私钥。
本质上,根据此提案编码的地址表示 脚本 的编码哈希,而不是 ECDSA 公钥的编码哈希。
启用 "端到端" 安全钱包和支付,以资助托管交易或其他复杂交易。启用第三方钱包安全服务。
新的比特币地址类型以与现有比特币地址相同的方式构建(参见 Base58Check encoding):
base58-encode: [one-byte version][20-byte hash][4-byte checksum]
版本字节对于主网络地址为 5,对于测试网地址为 196。 20 字节哈希是用于赎回币的脚本的哈希。 4 字节校验和是版本和哈希的双 SHA256 哈希的前四个字节。
一种批评是,比特币地址应该被弃用,转而支持更用户友好的支付机制,而这将只会鼓励继续使用设计不佳的机制。
另一种批评是,比特币地址本质上是不安全的,因为没有与它们相关的身份信息;如果你只有一个比特币地址,你怎么能确定你支付的对象是你认为的付款对象?
此外,截断 SHA256 不是最佳校验和;有更好的错误检测算法。如果我们正在引入一种新的比特币地址形式,那么也许应该使用更好的算法。
这是通往更安全比特币基础设施的最简单路径的一部分。它并非旨在解决比特币的所有可用性或安全问题,而是对现有事物进行增量改进。未来的 BIP 或 BIP 应该提出更用户友好的支付机制,或用于验证你是否将付款发送给自由软件基金会而不是 Joe Random Hacker。
假设将来手动输入比特币地址的情况会越来越少,并且考虑到现有的比特币地址校验和方法在实践中似乎“足够好”并且已经被多次实现,作者认为没有必要更改校验和算法。
前导版本字节的选择是为了在进行 base58 编码后,前导字符保持一致:对于主网络,字节 5 变为字符 '3'。对于测试网,字节 196 被编码为 '2'。
此提案不向后兼容,但它可以优雅地失败——如果较旧的实现获得其中一个新比特币地址,它将报告该地址无效,并将拒绝创建交易。
请参阅 https://github.com/bitcoin/bitcoin/src 中的 base58.cpp1/base58.h
- 原文链接: github.com/jl2012/bips/b...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!