Mike Hearn figure parmi les contributeurs de bitcoinj et auteurs de BIP 31, BIP 37 et BIP 70. Écrire un code ou une proposition ne détermine pas seul le consensus Bitcoin.
Le fichier AUTHORS de bitcoinj cite Mike Hearn parmi de nombreux contributeurs et renvoie à l’historique Git. Cela prouve une contribution, pas la paternité exclusive de toutes les fonctions ni la direction actuelle. [bitcoinj — recorded contributors]
bitcoinj fournit une bibliothèque Java pour protocole, portefeuille et transactions sans copie locale de Bitcoin Core. La documentation distingue SPV léger et vérification complète expérimentale ; télécharger moins ne signifie pas vérifier toutes les règles de façon identique. [bitcoinj — library and verification modes]
BIP 31 de Hearn ajoute un nonce renvoyé par le pair dans pong. Au-delà de la version de protocole 60000, il associe réponses et mesure les délais ; une réponse ne prouve ni honnêteté du nœud ni validité du paiement. [BIP 31 — Pong message]
BIP 37 de Hearn et Matt Corallo décrit les filtres Bloom avec filterload, filteradd et filterclear. Un faux résultat positif peut transmettre une transaction inutile ; un filtre précis économise la bande passante mais peut faciliter le lien entre transactions et adresse IP. [BIP 37 — connection Bloom filtering]
merkleblock de BIP 37 prouve l’inclusion d’une transaction correspondante dans un bloc. Il n’exclut pas des transactions omises, et SPV ne remplace pas la vérification complète de validité. bitcoinj décrit aussi les risques de connexions contrôlées par un attaquant. [BIP 37 — connection Bloom filtering] [bitcoinj — security model]
BIP 70 de Gavin Andresen et Hearn utilise PaymentRequest avec sorties, montant et expiration facultative. La vérification d’identité X.509 diffère de pki_type none ; sans elle, la demande ne prouve pas une identité marchande certifiée. [BIP 70 — Payment Protocol]
PaymentACK de BIP 70 est une réponse serveur à Payment. Il peut seulement signaler l’acceptation pour traitement. Ce n’est pas une preuve de confirmation dans un bloc, et refund_to ne rembourse pas à lui seul. [BIP 70 — Payment Protocol]
Le registre marque BIP 70 Deployed, mais Bitcoin Core 0.20.0 documente le retrait complet de son support de ce client. Le statut ne promet pas sa prise en charge par tout portefeuille actuel. [BIP 70 — Payment Protocol] [Bitcoin Core 0.20.0 — BIP70 removal]
Pour une vision complète, lisez aussi Jeff Garzik, Gloria Zhao, Arbre de Merkle. Cette entrée est également citée par Jeff Garzik, Gloria Zhao.