Profile picture
Patrick McCorry ☘️ @paddykcl
, 16 tweets, 5 min read Read on Twitter
. @sr_gi is presenting his analysis of the UTXO set.

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…
So what is a "dust" transaction? What are fees?

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
If the memory pool becomes full... then nodes may discard transactions with a lower fee. Also what does it mean by a "better fee" to increase likelihood of a tx getting in?

Two factors matter: Transaction size (bytesize) and the fee rate (moment of creating the tx).
He has a cute picture of what a transaction looks like...

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 coined by Core.

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
By the core client.

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)
The "UTXO" Set.

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
which lets them also study all relevant forks - since they are essentially the same 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.
Metrics:

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.
How to compute input?

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.
Issue: When we see a P2SH, there is no way to know what the underlying script is... so it makes it difficult to compute!

Two metrics for non-profitable:

Lower bound (unprofitable_low), signatures 71 bytes and don't count unknown variable sizes.
Estimation (unprofitable_est)

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)
Fee rate - for 50% of the UTXO in the size.... becomes unprofitable if the fee is 115 satoshi per byte.... (omg... lol) how many bitcoins are they talking about? 0.00015% of the coin...

Does this mean that 50% of the UTXO in the size... represents like 0.00015% bitcoins?
His stats:

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
What solutions are there?

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)
What can users of the network do?

- 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)
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Patrick McCorry ☘️
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!