What comes to mind when you think of scalability?
Number of transactions we can process? How much data do we have to keep around? With bitcoin is 200gb for the blockchain.
Link: facebook.com/BDTechCommunit…
Fees - difference between the sum of all input / outputs, and they are claimed by the miners as a reward.
All nodes keep transactions in the "memory pool" before it gets in a block
Two factors matter: Transaction size (bytesize) and the fee rate (moment of creating the tx).
What if the value of a transaction is "really low", but the size is high?
What will happen if the fee rate for a transaction is too high? This is where "dust" comes into play.
Dust is computed in terms of outputs, not transactions.
An output is said to be dust if the value being held is less than the fee to spend it.
Are dust transactions "invalid"? They are seen as uneconomical transactions and therefore are not propagated
Relay rules != Consensus rules.
Dust transactions can be accepted into the blockchain no problem, they just won't be relayed across the network by the Core implementation! (Others might relay, i dunno lol)
A utxo is an unspent spendable output. All full nodes keep a copy of the list of unspent spendable outputs. So we know which coins can be spent at any time.
This talk focuses on studying the set of spendable coins. They focus on the Core implementation
They have a tool:
git.io/vAzHL called STATUS - Statistical Analysis Tool for the Utxo set. Working group later this day to show how it works.
Dust - is_dust(value holding than fee rate * the input/output size), SegWit gives discount here.
Unprofitable - Only an input spending from the analyzed output.
Outputs are defined to hold less value than the required fees, both computed using different approaches.
Part of it has a "fixed-size" which is source of the transaction (i.e. previous transaction size)
Variable size - the redeeming script to prove a valid spend.
He is giving a list of very common outputs. i.e. P2SH, P2PK, etc.
Two metrics for non-profitable:
Lower bound (unprofitable_low), signatures 71 bytes and don't count unknown variable sizes.
Signatures: 72 bytes, most probable size for an ECDSA signature, and uses BlockSize to get average public key / redeem script sizes.
BlockSci tells us that the average size has dropped over time since 2009 (i.e. due to compressed keys etc)
Does this mean that 50% of the UTXO in the size... represents like 0.00015% bitcoins?
1/2 of the outputs are dust/unprofitable - 3M UTXO around 100-125 sat byte. Represents around 1.7 GB. Around 252,740 BTC OR $1,386,026,160.00 (a billion?!)
Their work has influenced litecoin a bit. they recognised that 50% of all their UTXO are 1-litoshi outputs lol
TXO Commitments (@peterktodd )
High-performance merkle set (@bramcohen) - potentially implemented
RSA Accumulators for UTXO (@benediktbuenz) - is paper online?
UTXO accumulators (@tdryja) - any resources?
May be more (tell @sr_gi lol)
- Try to consolidate outputs when the fees are low. (Me: Coinbase got caught out not doing this awhile ago)
- Good coin selection algorithm (This is hard problem, @murchandamus MSc thesis was about it)