413 / 691HEARN

Mike Hearn

Розробник bitcoinj і автор мережевих та платіжних пропозицій

Mike Hearn працював над bitcoinj, повідомленнями pong, фільтрами транзакцій і платіжним протоколом. Його внесок слід читати за конкретною специфікацією та версією.

Mike Hearn зазначений серед учасників bitcoinj та авторів BIP 31, BIP 37 і BIP 70. Авторство коду чи пропозиції саме не визначає консенсус Bitcoin.

Файл AUTHORS bitcoinj називає Mike Hearn серед багатьох учасників і посилається на історію Git. Це доказ внеску, не одноосібного авторства всіх функцій чи нинішнього керівництва. [bitcoinj — recorded contributors]

bitcoinj надає Java-бібліотеку для протоколу, гаманця й транзакцій без локальної копії Bitcoin Core. Документація розрізняє легкий SPV та експериментальну повну перевірку; менше завантаження не означає таку саму перевірку всіх правил. [bitcoinj — library and verification modes]

BIP 31 Герна додає nonce, який вузол повертає в pong. Для версій протоколу понад 60000 це зіставляє відповіді й вимірює затримку; відповідь не доводить чесності вузла чи дійсності платежу. [BIP 31 — Pong message]

BIP 37 Герна й Matt Corallo описує фільтри Bloom із filterload, filteradd та filterclear. Хибний збіг може передати зайву транзакцію; точніший фільтр економить трафік, але полегшує зв’язування транзакцій з IP-адресою. [BIP 37 — connection Bloom filtering]

merkleblock у BIP 37 доводить включення відповідної транзакції до блока. Він не виключає прихованих транзакцій, а SPV не замінює повної перевірки дійсності. bitcoinj також описує ризики з’єднань під контролем нападника. [BIP 37 — connection Bloom filtering] [bitcoinj — security model]

BIP 70 Gavin Andresen і Герна використовує PaymentRequest із виходами, сумою та необов’язковим строком дії. Перевірка особи через X.509 відрізняється від pki_type none; без неї запит не доводить сертифікованої ідентичності продавця. [BIP 70 — Payment Protocol]

PaymentACK у BIP 70 — відповідь сервера на 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.

DOC · 001bitcoinj — recorded contributorsДокументація ↗DOC · 002bitcoinj — library and verification modesДокументація ↗DOC · 003BIP 31 — Pong messageДокументація ↗DOC · 004BIP 37 — connection Bloom filteringДокументація ↗DOC · 005bitcoinj — security modelДокументація ↗DOC · 006BIP 70 — Payment ProtocolДокументація ↗DOC · 007Bitcoin Core 0.20.0 — BIP70 removalДокументація ↗
Спочатку джерела · Не інвестиційна порада