====================================================================================================
DESIGN AND TRADEOFFS
There are lots of options and tradeoffs. Instead of one complex, heavyweight coin to rule them all (Ethereum), I think the only way to succeed is to optimize for different markets, pending maturation of the next-generation technologies.
Cryptography
Factorization crypto (RSA) is from the 70s, big and slow and obsolete for our purposes.
Discrete log crypto (Schnorr, secp256k1, sodium) is mature, simple, small, and fast “WYSIWYG”. (Though Schnorr allows interactive multisig transactions.)
Pairing crypto (BLS) is new, 2-3x bigger and 10-100x slower, but has aggregation features that can result in overall smaller blockchains, non-interactive multisig transactions, and zk-snarks (non interactive privacy).
Lattice/advanced crypto (various) is very new, much slower, much bigger, but quantum-resistant.
State
Blockchains (each transaction signs the previous block) are mature, simple, and fast, but have bigger, more inflexible data structures. They rely on replayability to reach consensus (your machine processes each block and hopefully ends with the same state as everyone else).
Statechains (each transaction signs the previous state) are slower, but ensure equality of output and allow flexible block data structures and easier addition of features (your machine processes each block and only ensures that it ends up with the same state referenced by the next block).
Stateless (each output is indexed in a cryptographic accumulator) are extremely new and small, but immature. (Each output is kept and stored by the owner themselves, not globally, and can be proven to exist when spent.)
Transactions (scaling)
Direct transactions are simple, stateless, and easiest to understand.
Time locked payment channels are slower, bigger, and more complex, but let microtransactions occur off-chain before eventual “settlement” on-chain.
Hash Time Locked Contracts (HTLCs) are even slower, bigger, and more complex, but allow semi-trustless off-chain payment channel networks.
Full scripting are much slower, bigger, and more complex, but allow (in theory) decentralized autonomous corporations (DACs) amongst other things.
Consensus
Semi-centralized is fast and easy, but trust-based and regulated.
Proof-of-work is proven, fast, but leads to semi-centralization (increased by economies of scale and proprietary hardware and limited by the decentralization of cheap electricity sources), uses huge resources (locally), and is non-deterministic (complicates some transaction types) (the biggest miners get to choose what transactions are committed to the consensus). Favours those with access to cheap electricity and electronics manufacturing.
Proof-of-stake is this generation’s experiment, uses way less resources, but is much more complex and also leads to semi-centralization (blocks mined by the biggest stakes of pooled coin holders - who will become like banks) and is also non-deterministic (the biggest stakeholders get to choose what transactions are committed). Favours insiders and early adopters and the generally wealthy.
Proof-of-fee is next-generation, unproven, and slower to have confidence in no double-spends, but simple, deterministic, and fully decentralized (given the global set of transactions) with no miners who get to pick and choose what transactions are committed. Purely game-theoretic.
Genesis
Empty (purely-mined) - simple, non-contractual, but only an option for proof-of-work.
Purchased (ICOs) - simple, but contractual.
Forked (airdrops) - simpleish, non-contractual, but dependant on the technology and interests of the users of another coin.
Algorithmic - creative, unproven. Legality depends on the Howey test. Chosen by software (genesis DAC / external contest), or arbitrarily chosen by a legal entity?
https://www.bcsc.bc.ca/For_Companies/Financial_Technology_&_Innovation/#Crypto-assetOfferingsSee BCSC 2018 46-308 definition of a security:
1. An investment of money (to raise capital)
2. In a common enterprise (between management and investors)
3. With the expectation of profit (dividends, gains)
4. To come significantly from the efforts of others (use of capital)
Cryptonomics
Block emission rate (blocktime) - seconds per block
Miner rewards (mined coins) - coins per block given to the miner
Transaction fees - coins redistributed to the miner, population, or burned
Broadcasting fees - for decoupling the transaction from the blockchain message (for payment channel settlements)
Account fees - coins deducted per block per account to pay for global memory costs via deflation
Staking rewards (interest/dividends) - coins added per block to the miner or population
Equilibrium transaction rate - design capacity enforced by block size or per block burn/mint equilibrium
Equilibrium account population - design capacity enforced by account fee/dividend equilibrium
Slothburn 5 Alpha
Goals: Small, fast, simple using proven crypto tech AND the first purely game-theoretic coin. We call the collection of sub-inventions to make this work without miners Slothburn.
(Note: literally everything ever has already been discussed on the bitcoin forum in the past 10 years, but the closest I can find skirts the issue e.g. Factom, Proof-of-Burn,
https://bitcointalksearch.org/topic/would-a-hypotethical-proof-of-transaction-fees-work-4666260)
Cryptography
Bitcoin’s secp256k1 library. Mature, fast, safe.
Schnorr would be better, but the libraries are very immature.
BLS would be better, but it’s 100x slower without adding complexity.
State
Blockchains. Simple.
Statechains would be better, but less is known about how to optimize them.
Stateless would be best, but are very very new and I don’t know how to adapt it to Slothburn yet.
Transactions
Direct account-account transactions.
Hashed public keys would be better, but add complexity and overall blockchain size with adding even more complexity.
Payment channels would be better, and I invented a way to make a new kind of non-interactive ones with Slothburn (though haven’t beat it to death yet), but it adds complexity.
Consensus
Proof-of-fee + Proof-of-burn + Proof-of-stake = Slothburn
The best blockchain path is chosen as the one with the highest total transaction fees paid. All blocks at the same height and with the same parent state block can all be merged deterministically, even with conflicting transactions from the same sender (any two conflicts are kept resulting in the same block ID).
Genesis
Algorithmic. (Pending)
We’ll run a public pre-mining proof-of-work contest where the public keys of the top 10,000 proofs signed and timestamped on the Bitcoin blockchain (or a coin with cheaper transactions, or an ethereum contract) between two dates earn a spot in the genesis state. The proofs include the public key and proof-of-ownership thereof.
Cryptonomics
Goal: sustainability, simplicity, small & fast for an exclusive equilibrium set of accounts, global resources paid for by users, nothing’s free or abusable.
1 hour minimum blocktime, enforced by the local clock.
Pro: Slothburn transactions are buried by the transactions in the next block, sidestepping the need to be confirmed by a long chain of descendant blocks. Pro: there will be a lot of reorganization going on (if under attack) around the turn of the block.
Con: Each account can only send only one transaction per block (perhaps improvable with complexity).
No miners, no miner rewards.
100 coin fixed transaction fee, burned.
Transactors need to pay for the costs of nodes storing and processing their transactions. Percentage-based, with a minimum, is possible, but adds complexity and doesn’t align with the fact that transaction costs are fixed, independent of transaction size, and it would lessen the incentive to consolidate transactions.
1 coin/block account fee, burned.
Accounts need to pay for the costs of nodes storing them in memory. Once a dormant account reaches a balance of 0 coins, it can be deleted. Perhaps this could be redistributed pro-rata, zero-sum, but I’m not sure if that would be good or bad.
1 transaction/second design capacity
Every transaction needs to be merged in. Bitcoin is very optimized and can handle ~5 transactions/second.
3600 transactions/block @ 100 coins burned/transaction
= 360000 coins burned/block = 360000 minted/block
Coins need to be distributed pro-rata, since every other method is gamable or non deterministic.
Since there are no fractions, at most the top 360,000 accounts will get 1 coin each, but, if pro-rata, much less due to inequality. I estimate 20-100,000 accounts will be the equilibrium if 1 coin is burned/account/block as well.
By comparison, Bitcoin has 30 million “accounts” but most of them are dormant, dust, or unspendable.