Yesterday, Money Button went down because our Bitcoin SV node ran out of memory and crashed during a stress test.
The node ran out of memory because we were using an underpowered instance.
We have upgraded the instance to be sufficient for the largest block sizes that are currently possible.
Money Button was back online after about three hours of downtime.
Nodes are Expensive
Running a node is expensive.
Our new instance will cost thousands of dollars per month to operate. As blocks continue to get larger and we have to upgrade the instance many times, this cost will balloon.
Since we do not earn money from transaction fees like miners, it will be too expensive for us to run a node.
However, wallets do not need to run a node.
If wallets mutually adopt paymail, BIP 270 (with some extensions, including BIP 271, BIP 272 and BIP 273), and Miner ID, no wallets will need to run a node, and every wallet will be substantially less expensive to operate at scale.
Every wallet will be able to scale to arbitrarily large block sizes at a cost that depends only on the number of transactions for that wallet, not the number of transactions for the entire network.
Peer-to-Peer Transactions Are How Bitcoin Was Supposed to Be
The Bitcoin whitepaper described Simplified Payment Verification (SPV), where wallet software verifies transactions it receives but not the entire blockchain.
SPV is much cheaper than running a node. Running a node means validating everyone’s transactions, but running SPV means only validating the transactions that you care about.
In the original code, peer-to-peer transactions were called pay-to-ip.
These ideas form the foundation of a more scalable way to create wallets that does not require recipients to scan the blockchain for payments.
By using paymail as a naming system, BIP 270 as the transport system, and Miner ID as the verification system, we can create infinitely scalable wallets.
Paymail is Modern Pay-to-IP, Like the Original Bitcoin
Paymail is a way to attach human-readable names to machine-readable endpoints.
This means we can have names that look like email addresses that are able to send transactions, sign and encrypt things, and do advanced contracts. Paymail is also fully compatible with email.
Because paymail can also be used to host BIP 270 endpoints, paymail is also an entry point to a modern form of pay-to-ip.
Finally, using Miner ID plus extensions to broadcast and verify transactions, we can ask miners directly whether transactions are valid.
Thus, using paymail, BIP 270, and Miner ID, we can deliver transactions peer-to-peer, making it possible for wallets to drop the requirement of running a node.
Wallets will not need to scan the blockchain to look for their transactions. They will simply receive transactions directly from the sender.
This will make it vastly cheaper for every wallet to operate, and make everything more user-friendly at the same time.
Wallets will no longer send to addresses. Only to paymails.
Technical Details: Merging Paymail, BIP 270, and Miner ID
Paymail, BIP 270, and Miner ID were all developed separately, but it is straightforward to merge them.
Paymail is the naming system that provides an endpoint for a user. Paymail will be extended to provide a BIP 270 endpoint that delivers payment requests and receives transactions.
The recipient of the transaction, usually a third-party host, will send the transaction to the miners of the most recent 1000 blocks with the endpoints provided by Miner ID. If the transaction is valid according to every miner, the transaction is accepted by the recipient.
In order to provide client-side verification, we will want to extend BIP 270 to provide Merkle proofs.
Unbounded Block Sizes
Bitcoin is an economic system. People can earn money by building infrastructure and selling services.
Miners themselves have already broken up into specialized services such as pools and hashing. As the network grows, this process will likely continue, like the supply chain of any economy.
Eventually, every subsystem in Bitcoin will be operated by specialists.
By adopting the economic view of Bitcoin, it is clear that there is no upper bound to the maximum block size.
For wallets to operate with unbounded block sizes, it is important that we migrate towards the economic vision for Bitcoin.
Wallets will not operate nodes. That will be done only by miners. And in the extreme case of complete specialization, no individual entity will run a node.
Paymail and the related protocols of BIP 270 and Miner ID provide a path forward for scalable wallet infrastructure.
At Money Button, we care deeply about creating scalable infrastructure. That is why we helped design these protocols in collaboration nChain, Handcash, Centbee and other companies. Our full efforts are focused on making sure Money Button scales to the entire world.