Mike Hearn 被列为 bitcoinj 贡献者及 BIP 31、BIP 37、BIP 70 作者。实现或提案的作者身份本身不能决定 Bitcoin 共识。
bitcoinj 的 AUTHORS 文件将 Mike Hearn 列于众多贡献者之中,并指向 Git 历史。它证明参与贡献,不证明所有功能都由他独创,也不证明他目前领导项目。 [bitcoinj — recorded contributors]
bitcoinj 提供 Java 库,无需本地 Bitcoin Core 即可处理协议、钱包及交易。文档区分轻量 SPV 与实验性完整验证;下载更少不等于同样验证所有规则。 [bitcoinj — library and verification modes]
Hearn 的 BIP 31 加入由对等节点在 pong 中返回的 nonce。协议版本高于 60000 时,可匹配响应并测量响应时间;连接有回应不证明节点诚实或支付有效。 [BIP 31 — Pong message]
Hearn 与 Matt Corallo 的 BIP 37 描述使用 filterload、filteradd、filterclear 的 Bloom 过滤器。误报可能导致传输无关交易;更精确的过滤器节省带宽,却可能更容易将交易关联到 IP 地址。 [BIP 37 — connection Bloom filtering]
BIP 37 的 merkleblock 证明匹配交易被纳入区块。它不能排除其他交易被隐瞒,SPV 也不能代替完整有效性验证。bitcoinj 文档还说明攻击者控制连接的风险。 [BIP 37 — connection Bloom filtering] [bitcoinj — security model]
Gavin Andresen 与 Hearn 的 BIP 70 使用带输出、金额和可选到期时间的 PaymentRequest。X.509 身份验证与 pki_type none 不同;未进行该验证的请求不能证明商家身份已获认证。 [BIP 70 — Payment Protocol]
BIP 70 的 PaymentACK 是服务器对 Payment 的响应。它可能只表示接受处理,并非区块确认的证明;refund_to 本身也不会退款。 [BIP 70 — Payment Protocol]
登记表将 BIP 70 标为 Deployed,但 Bitcoin Core 0.20.0 发布说明记录了从该客户端完全移除支持。规范状态并不承诺每个当前钱包都支持它。 [BIP 70 — Payment Protocol] [Bitcoin Core 0.20.0 — BIP70 removal]
要获得更完整的理解,请将本词条与以下词条结合阅读: Jeff Garzik, Gloria Zhao, Merkle树. 反向关联还来自: Jeff Garzik, Gloria Zhao.