Mike Hearn is a software developer recorded among bitcoinj contributors and the authors of BIP 31, BIP 37 and BIP 70. Authorship of an implementation or proposal does not by itself determine Bitcoin consensus.
The bitcoinj AUTHORS file lists Mike Hearn among many contributors and points to Git history. It establishes contribution to a shared project, not sole authorship of every feature or present leadership. [bitcoinj — recorded contributors]
bitcoinj provides a Java library for protocol, wallet and transaction operations without a local Bitcoin Core copy. Its documentation distinguishes lightweight SPV from experimental full verification; downloading less does not mean checking every rule equally. [bitcoinj — library and verification modes]
Hearn’s BIP 31 adds a nonce echoed by the peer in pong. For protocol versions above 60000 it matches replies and measures response time; a connection response does not prove node honesty or payment validity. [BIP 31 — Pong message]
BIP 37 by Hearn and Matt Corallo describes Bloom filters with filterload, filteradd and filterclear. A false match may transmit an irrelevant transaction; a more precise filter saves bandwidth but can make linking transactions to an IP address easier. [BIP 37 — connection Bloom filtering]
BIP 37 merkleblock proves inclusion of a matching transaction in a block. It does not rule out omitted transactions, and SPV does not replace full validity checking. bitcoinj documentation also describes attacker-controlled connection risks. [BIP 37 — connection Bloom filtering] [bitcoinj — security model]
BIP 70 by Gavin Andresen and Hearn uses PaymentRequest with outputs, amount and optional expiry. X.509 identity verification differs from pki_type none; a request without that verification does not establish a certified merchant identity. [BIP 70 — Payment Protocol]
BIP 70 PaymentACK is a server response to Payment. It may merely say a payment was accepted for processing. It is not proof of block confirmation, and refund_to does not itself return funds. [BIP 70 — Payment Protocol]
The registry marks BIP 70 Deployed, but Bitcoin Core 0.20.0 release notes document complete removal of its support from that client. Specification status is not a promise of support in every present wallet. [BIP 70 — Payment Protocol] [Bitcoin Core 0.20.0 — BIP70 removal]
For the clearest picture, read this entry together with Jeff Garzik, Gloria Zhao, Merkle tree. The reverse links also lead from Jeff Garzik, Gloria Zhao.