[Request for Comment]
A generalized and extendable merchant payments system utilizing hierarchical deterministic keys (
BIP 32).
Needs addressed:
- Role-your-own payment systems are often narrowly focused, too technical for typical merchants and/or potentially insecure.
- Consolidation of Merchant Payments via Trusted Third Parties, while extremely valuable at this juncture, runs counter to Bitcoin's Ideals of decentralization and psuedo-anonymity. TTPs can analyze and store customer IP addresses, associating them with bitcoin addresses, frequency and quantity of purchases. If a TTP experiences downtime or regulatory pressure, Bitcoin commerce can suffer.
Proposed Solution:
1. A core set of end-use agnostic merchant tools
2. Bridges to specific merchant environments developed and shared as needed.
With a stable core back-end providing key management and bitcoin network communication, bridge work can focus directly on meeting merchant needs.
A bounty system can be used to develop special-use bridges.
Examples: a REST bridge for Android or a Megento bridge with automatic fiat-to-btc conversion.
Core functionality (draft, requesting feedback)
- Public-Key-Only unique address generation upon request using BIP 32.
- Watch-only support for generated addresses using SPV (not 3rd party but also not full-node)
- Callback interface extendable to specific use cases
- Persistence of received payments for reporting
- Configuration
Simplest walkthrough:
a) Core configured with master public extended key and datastore.
b) request for payment of 1btc received (with attached callback)
c) created address returned, SPV watch set on address
d) Zero-conf payment received, callback and datastore notified
- confirmations subsequently received, callback and datastore notified
e) or, configured timeout time reached, watched address dropped, callback canceled.
f) --later-- audit report requested for all payments received (i.e., over a given timeframe).
Why isn't this already developed? If it is, why haven't I heard of it?
Similar Projects (please supply more):
acceptbit.com: Uses BIP 32, Http interface, uses blockchain.info for notifications, *can be hosted locally.
BitcoinSCI (Shopping Cart Interface): Uses BIP 32, PHP/MySQL implementation, uses blockexplorer.com for watch wallet.
BitShop Web Store package uses BitcoinSCI
MultiBit Merchant: In development, full Web Store/multi-use implementation.
Shopping cart interfaces list at Bitcoin Wiki.
project website: bitcashier.orgrelated Reddit threadedit: formatting, this is my first bitcointalk post, please be gentle.