UTXO (and other blockchains)

The other week on the ‘Binance thread post, in the comments section T made a request that I expand on and describe some other blockchains:

“Hey mate can you do something on the more interesting tech type coins. So thinking Cardano vs ETH, or Helium, or Theta coin etc. The ones where there is purpotedly some specific application. My understanding is these are closer to NFT’s.”

Binance thread

So I thought I’d take a look at a couple of the larger chains and in the context of T’s comments try to describe some of what is out there.

But before launching into any of that I want to start by explaining an important concept that most people miss when they compare blockchain technology, basically the difference between ‘State or Account’ based distributed networks and ‘UTXO’ systems.

The easiest way to begin with describing ‘state’ or ‘account based’ blockchain databases is to compare them to existing databases and a very difficult problem that existing database managers face when they run a distributed database.

Database system administrators collected data across multiple locations, meaning that the data is also stored across multiple regions. This can lead to performance gains when local end-user at local worksite A want to use or refer to new data recorded at site A, but can be a performance problem when users at location B far away from site A want to use the same dataset.

If users at site B refer to their own local data repository and it hasn’t been updated with the new information from site A, then they are operating on a different ‘state’, which could be a problem for example they might sell a widget in location B thinking that there is plenty left in the warehouse at location A, but because the distributed database hasn’t synched they don’t know that A has already sold all of the widgets. To be useful everyone has to be on the same page, thus it is necessary for such databases to periodically update all the local areas with new data i.e. an agreed upon ‘state’.

This is the main problem with the vast majority of distributed databases and also the same problem present with most blockchains. There are ways to work around this problem, sharding is a common technique used to overcome this problem with regular databases, and it is the proposed solution to ETH in the form of ETH 2.0 and is being used by many other ETH clones. Essentially sharding is:

“Is a type of horizontal partitioning that splits large databases into smaller components, which are faster and easier to manage. A shard is an individual partition that exists on separate database server instances to spread load. Auto-sharding or data sharding is needed when a dataset is too big to be stored in a single database.”

https://azure.microsoft.com/en-au/overview/what-is-database-sharding/

In terms of blockchains the ‘state’ is defined by account positions. In order for A to pay B one ETH, the system has to know the account balances of A before they can transact with B. The entire ‘state’ then needs to know and agree that B’s account now has one ETH in it, before B can then go and transact with C – EVERY node must know B’s state before the next block can be agreed on.

This is what I mean when I say ETH can’t scale, and where I am in 100% agreement with BJW and other’s views on regular centralised private databases being a better solution to most database problems, rather than inscribing them onto a public blockchain like ETH.

Account based solutions are a common conceptual trap we fall into when we think about solutions for problem in respect of money – we are thinking about the transaction from the perspective of ourselves and our accounts.

This is where UTXO systems come in, here the focus of the transaction confirmation is flipped from focusing on the validity of the account sending the transaction, to the validity of the transaction itself. By removing the account as an input in determining whether a transaction is valid and simply asking, “Is this a valid spendable transaction?” you eliminate the necessity of the entire system agreeing on a ‘state’ before a transaction can be processed and a block mined.

So what does UTXO stands for? The acronym means ‘Unspent Transaction Outputs’ and basically is only interested is the ‘state’ of the transaction, simply:

'Has the coin already been spent? If "Yes" ignore. If "No" then is it the process of being spent from the proceeds of a previously validated transaction? If "Yes" then valid, otherwise ignore'. 

With the exception of newly mined coins, or the coin base, all crypto coins have been “spent” at some point if they are still not in the same location that they were originally mined into. Once a coin is “spent” from that location, it moves back into an “Unspent” state at the new address it has been sent to.

So compared to state based validation systems UTXO systems flips the validation and processing model on its head. In order for two parties to therefore interact, it isn’t necessary to know the ‘state’ or ‘account’ of each and every participant on the network, it is only necessary to know if the transaction i.e. the coin itself is valid. Transactions on UTXO systems don’t refer to any other input outside of the unspent transaction being consumed, the state of other participants is irrelevant.

A good example would be one I was chatting with Bubba Hotep about the other day when we were trying to resurrect my Commodore64. Bubba works road and traffic signals, this is effectively a large centralised database with various localised ‘shards’ and some limited degree of autonomous features, like local traffic loops embedded in the road to trigger lights, walk buttons, etc.

One of the goals with IoT is to get distributed systems to talk to each other, to bring about efficiencies and result in more efficient pricing for road users, for example take a B-Triple road train stopping at a set of traffic lights. This is an expensive event, it uses liters of diesel to get back up to cruising speed – it would be much more efficient for the truck to ‘bid’ for green lights along its route, so it didn’t have to stop. At certain times of day, e.g. ‘peak hour’ (or hours if you live in Sydney or Melb) this would probably be prohibitively expensive, however late at night with few other road users it might be worth for the truck bidding for a green run with little inconvenience to other road users.

If we were to try and monetise the road and traffic light system with a blockchain using a state based system, this would be the problem. Each traffic signal and sensor would have its own account, each car or truck would also have its own account. Every interaction with a truck passing through a traffic light would generate transactions and no further transactions could occur with those participants before the entire network agreed on the state of those participants. This might be fine for one or two trucks, but you can quickly see the issue when you have hundreds of thousands of cars and trucks interacting, and the system has to agree on the state of every account on the network, including those cars and trucks sitting in their garages and the traffic lights sitting in back streets with no activity. This is what we mean when I say state or account based systems can’t scale.

In contrast with a UTXO system imagine each time the truck passed through a gateway or traffic light it threw off a coin, like crash bandicoot running through a maze shedding coins every time passes through a hoop. The only players interacting on the network are the truck and the relevant traffic light it is passing through, and the only thing the system is interested in is whether the coins the truck is showering as it drives along the road are valid, unspent transactions. In mining or validating a block the UTXO system doesn’t give a shit about all those cars and trucks in the garage or at truck stops, and all those traffic lights on back streets – the only focus is on the activity point and the coins being dropped.

There are only 5 or 6 truly UTXO blockchains; BTC and its family of forks, BCH, BSV, etc, LTC and Dogge coin. The rest, including ETH, Cardano, etc are state based blockchains or hybrids systems of both state and UTXO, and from the perspective of enterprise, most blockchain databases are no better than a regular database in terms of security and performance, while probably being far more expensive.

Okay, so now I have explained the difference between state based and UTXO based blockchains lets take a quick look at other blockchains out there.

Ethereum ETH

I’ve largely explained Ethereum above. So what’s the lure of state based systems? Essentially they are easier to code up smart contracts on because of the very factor that limits their ability to scale – they can reference in outside states and hold them in relation to the accounts.

ETH is also Turing complete in the sense that it allows programming loops – famously early in the Ethereum network hackers used this function to drain an early DOA (Decentralised Autonomous Organisation) of its funds, that resulted in Vitalik Buterin and his buddies being butt rekted and loosing heaps of their ETH. Their solution was to roll back the network and pretend that the whole hack didn’t occur, a small number of principled ETH developers refused to do so and so Ethereum split into ETH and ETC or Ethereum classic.

The issue is that smart contracts CAN be run on UTXO systems, and despite being a stack based language without loops such systems can be arguably be considered to be functionally Turing complete by building very large stacks or by completing the loop with external systems:

Theory of Bitcoin Part 5: Bitcoin and ‘Turing Completeness’ explained

(Note: The question on whether or not Bitcoin is or ever was Turing complete is a contentious one, and something that I’m not going to enter into other than saying it possible to achieve a functionally complete Turing system or outcome even though it may not be technically true in the strictest literalist sense)

Cardano ADA

Cardano likes to describe itself as a 3rd generation blockchain, sounds funky but what exactly does this mean? Essentially it split its transaction processing into two layers, a UTXO system to effect cheap, reliable and fast payments, while its smart contract system is an ETH style state based system. One of the founders of Cardano is Charles Hoskinson, who was also a co-founder of Ethereum, and who realised early on the limitations of state based blockchains and the advantages that UTXO systems deliver in terms of distributed processing and validation. Knowing the task ahead of him to overcome Ethereum’s problems he instead chose to leave and start again, founding his own blockchain.

However, while such a 3rd generation blockchain sounds good in theory, but it still runs into two problems.

The first is that the interface between the transaction network and the smart contract function. These gates are highly centralised and act as choke points on the network.

The second problem is the same state based issue. Even with sharding its smart contracts solution simply cannot scale – sure it will be able to have smart financial contracts of the type that are used in DeFi that everyone is getting excited about, but it won’t be able to work for the IoT because it simply can’t scale. What is a smart contract? In many ways it is simply a switch – users of IoT are going to have tons of switches.

Think of the earlier example of a truck driving through traffic lights, each time it passes through a set of lights it is going to trigger a switch or smart contract. If the distributed system that is going to be used for the IoT can’t scale to accommodate the smart contracts taking place on it, then the network will become clogged and it will fail – can you imagine the Truck trying to pay a micro fee each time it triggers a switch and the network becomes clogged? The transaction fee to process the event would be many times greater than the underlying microtransaction that it is facilitating.

So while Cardano is aiming to capture the transaction and smart contract functions that appeal to proponents of the DeFi use case, the fact it as a product it will simply be limited to DeFi – it cannot cope with the transaction volume and smart contract volume that the IoT will result in. IMHO Cardano’s specialised DeFi use case will simply end up being eaten by a more efficient blockchain solution that can deliver both DeFi smart contracts and the sort of micro-smart contracts that will be found in the IoT.

Oh and finally, Cardano is a PoS network (or Proof of Stake). This runs foul of existing US securities law, mainly in respect of the Howey test, meaning that it could potentially be classified as a security as opposed to a currency or commodity. Note that this is yet to be tested in courts of law, but mark my words the SEC is working on it.

Polkadot DOT and Chainlink LINK

Basically both of these ‘chains’ are solutions to the MultiChain environment that has been deliberately fostered onto the crypto world by Blockstream introducing limitations into Bitcoin and encouraging a multichain world that it could prosper from.

For more see BTC is the Establishment

In a multichain world various chains focus exclusively on a single use case and then you have to go to an exchange to change coins to run one function on one network to another, or rely on these linking chains to get the different blockchains to talk and interact with each other.

This imho is a stupid idea because if you want a multichain world firstly it wouldn’t be hard to specifically code up the function of one chain talking to another, without having to run it through these ‘connector chains’.

Secondly all these solutions do is introduce ‘grit’ into the transaction and data transfer space, taking a small cut for their service with the result that the final solutions become more expensive than they should be, effectively limiting the possibility of developing true micro or nano payment services, as they simply become to expensive to use.

Avalanche AVAX

Functionally Avalanche is much like Cardano, and aiming for a similar DeFi based use case. ‘Nuff said.

Solana SOL

There was lots of excitement about Solana just prior to the May crypto catastrophe, that prompted me to take a quick look at it. Firstly it is a ‘gossip database’ which although more effective than a simple state based machine like ETH, still requires centralised processors (that they refer to as towers) in order to maintain the network – which like most of these ponzi tokens is a simple POS model, meaning they are a security under the Howey Test.

Also its stability is very much in question, with the entire network going down several times and having to be restarted at least twice – not something that will encourage enterprise use.

Most of the SOL tokens have been sold through Binance, which should be another warning sign that this just another pump and dump scam. If that isn’t enough one of the founders is Sam Bankman-Fried who along with his mates supposedly has around 60% of the coins tied up in accounts he controls.

IOTA

Is supposedly an open, feeless distribted ledger that uses DAG’s or directed acyclic graph to store transactions on its ledger. The only problem is that it never worked, broke numerous times and finally had to be completely rewritten from the ground up and was relaunched in April of this year. Needless to say I lost interest in it long ago… although the gold bug chap who use to haunt MB, Bullion Barron, or something can’t remember by what name he goes by now, has been a big supporter and follower of it. So if you want to know more go ask him.

Ripple XRP

Not even a blockchain. Basically a centralised database that can process lots of transactions and supposedly had lots of partnerships with banks and financial institutions going, until it was revealed that most of these ‘relationships’ were actually initiated by Ripple and those connect to it, who funded the institutions or joint partnership bodies.

Conclusion

Anyhow, that is probably enough – never heard of Helium crypto or Theta coin, and my apologies I can’t be bothered looking into them. In terms of tokens there are whole swag of different types of tokens, some like USDT and USDC are stable coin tokens that supposedly represent claims on assets held by the issuer, and there are tokens used in smart contracts, Pancake, Cake, and all the other rubbish tokens that I mentioned in ‘Yield Farming on the Crypto Plains’. If you want to see how they are going then check out this YouTube by @Techleadhd

Hope this helps answer some of your questions T. You will note I haven’t bothered with the privacy coins like Monaro, etc, because imho their use cases are in the process of being made illegal. Haven’t bothered with the BitCoin clones or forks either, because as UTXO chains they should be fairly well understood. There are something like 10,000 crypto currencies now, so it would be possible to keep writing stuff all day, but as this post is already bordering on TLDR, I’ll leave it here.

As a final word of warning, most of this has been written off the top of my head, so take everything I say with a grain of salt, any glaring inconsistencies or things I have gotten wrong, please point out and bring to my attention.

5 2 votes
Article Rating
26 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
bjw678

Not necessarily wrong, but I think a single solution will never work. To take your trucking analogy and run, if it evolves into a road use system with a million cars in sydney, then it can still probably work, handling 100’s of millions of transactions a day. But if it becomes worldwide, then that is many billions or trillions of transactions a day, just for traffic management.
Nothing is going to scale to that sort of use. Private bespoke solutions will have to be used to allow for the volume of transactions required.
Ultimately it comes down to why do we use mobile phones instead of radios for general communications? The traffic is simply too much in a shared system.

bjw678

Dr Wright has been ingesting some very potent chemicals…

I’m aware of your intent, but it applies to ANY sort of micro transaction. By definition there will be billions of them and will likely each require their own compartmentalised system or they will be overwhelmed. This also applies to centralised private systems but not to the same extent as a public distributed system.

Edit: Microtransactions as a whole have been a complete failure up to this point because the overhead, both technologically and in human decision making terms is essentially the same regardless of transaction size, so not worth the bother for a tiny transaction

Last edited 3 years ago by bjw678
Peachy

Oh bj, you’re such a stable legend…. If I wait long enough, you’ll come here and post what I was going to say 😋

I was also thinking about

  • why would you need to have just one blockchain for everything (e.g traffic lights in parramatta and traffic lights in mosman)… let alone things unrelated to traffic lights (say, airtraffic, my freezer)
  • why would you want that sort of proprietary stuff on a blockchain at all (rather than other storage/communications tech)
  • why are people so obsessed with micro transactions. Their whole essence is that they are minor and so don’t really matter. Same sentiment about IoT…
  • then for both micro transactions and iot- why would you want THAT on a blockchain?

….I was also thinking that road charging of the type described by Stewie (bidding for green lights) would be a fucking disaster. For the reasons described by The Claw in his Parable of Oranges. The same amount of road capacity/green light time would exist, only instead of getting it for free, everyone would be forced to bid their max available budget for it….

[ps, I do realise that the post wasn’t about traffic lights or road charging & Stewie wasn’t advocating those things – those bits were analogies.]

Last edited 3 years ago by Peachy
Peachy

As BJW said, this is a technical problem that no one has been able to solve. Whether CSW’s vision of BitCoin can achieve this remains to be seen.

The value in microtransactions is their ability to introduce new business use cases that we weren’t possible before, like internet banking was inconceivable before the internet.

i dunno mate, I think that the problem has been solved in practice.

You use some kind of batching/cache/aggregation system and build in some sensible risk tolerances due to the delayed settlement or introduce trusted parties. Because the transactions are minor, you can trade off a bit of the certainty of settlement for convenience/whatever.

examples (financial):

  • bank transfers. Until recently small transfers between people’s bank accounts were not settled real time. Aggregated during the day and then net settled overnight. Worked fine. (aggregation)
  • Cc vendor payments. Credit card sales don’t hit vendor bank account immediately. Settled in a day or two by Visa/MC. Works fine. (trusted party)
  • payWave. Technically allow stolen cards to be used without pin/signature. Works fine. (Risk tolerance)

kind of the same thing for your water or gas bill…. You get estimated bills, trued up with actual meter reads every so often.

again – Because the transactions are minor, you can trade off a bit of the certainty of settlement for convenience/whatever.

even internet banking existed before the internet. Grandpa tells me about phone banking. Cheques too. They worked.

Nothing from the above really jumps out at me as being potentially much improved through immediate settlement.

Peachy

Yeah, that would be good.

who knows, maybe this will be your first step to becoming mega-rich. Be the first to find a golden practical use case for blockchain for micro-transactions… fork BSV into bSV (with a small b, because the transactions are micro), get it running, get it listed on Binance.

then – rugpull!

Last edited 3 years ago by Peachy
Sacha

I wanted to know what monetary value would be considered a micro-transaction, but could only find references to the gaming industry where it’s used at the moment.

So what is the value? 5 cent, 50 cent?
More, less?

bjw678

i dunno mate, I think that the problem has been solved in practice.

It’s been solved except for decentralised, and most of the “solutions” I see touting to solve that actually amount to a centralised solution in practice.
Assuming of course that decentralised matters, and for micro it REALLY doesn’t as you say peachy.

bjw678

The value in microtransactions is their ability to introduce new business use cases that we weren’t possible before, like internet banking was inconceivable before the internet.

Before betting the house on microtransactions you might want to read this

We present intuitive arguments for why micropayments have not succeeded on the Internet. The “hassle factor” for customers associated with such transactions is characterized. A framework of mental transaction costs and price granularity is then presented, and arguments about micropayments recast in its light.

Peachy

Before betting the house on microtransactions you might want to read this

what a great paper! Thanks.

bjw678

That said, I fail to find the argument presented in the paper on ‘mental cost’ as a barrier to micro-transactions to be compelling.

Fair enough, but the barriers to micro transactions clearly aren’t technical. Google ads gives a micro payment per add impression, so it’s clearly manageable. Existing electronic transaction infrastructure could handle microtransactions if the demand was there.
But the evidence is also clearly in that people absolutely do not do micro payments, but rather the adds so someone else deals with the micro payment.
I’m all ears for an alternate theory beyond “people will use micropayments” when it is clear they haven’t.

I find it even less likely that people will let things make transactions on their behalf without input than that they will make them in the first place, but I may be wrong.

Last edited 3 years ago by bjw678
Sacha

“why are people so obsessed with micro transactions.”

I thought part of it was to be able to ‘help’ the poor and un-banked people in say Africa, India etc. Most poor people have a phone and it would be easy for them to do micro-transactions.

And who knows, maybe the banks will invent micro-loans for these people too. So they can become part of the debt system we all enjoy.
Only to help them of course…

Peachy

I have always understood it as the electronic version of “nickel and diming”…. Or a digital recreation of the 1c and 2c coins that have been junked as unnecessary and annoying in the real world.

0.1c for a google search without ads. 0.3c per 10min YouTube video without ads.

0.2c for express delivery of SMS messages.

0.4c for every time you use the car horn in a built up area. +17% surcharge between dusk and dawn. +22.9% surcharge on public holidays.

it’s great.

Last edited 3 years ago by Peachy
Sacha

That small.

Ok, I was on the wrong track then.
I was thinking of not-so-micro-transactions.

Now I understand why you can’t see the obsession and I can’t think of any use either.

Sacha

“0.1c for a google search without ads. 0.3c per 10min YouTube video without ads.”

Good thinking!

That’s exactly what it will be used for.

bjw678

Except for the minor detail that everybody who has built a system on that model has gone broke. People aren’t interested and outright hate it.
Spotify and youtube literally already have the systems built to do this as this is how the content creators are paid, but all the premium services are not pay per stream, they are monthly subscription because that is what people are willing to use.
Alternately ads provide the revenue but pay per stream on the user end is an utter failure.
News services that charge per article are also virtually non existent, they are all yearly or monthly subscription ala everybody’s favourite MB.

T

Thanks mate fascinating stuff!

T

Nah that was what I was trying to understand. The coins with the payoffs so was really quite interesting.

Coming

a solution looking for a problem that doesn’t exist

Nobody:

Literally nobody:

cryptards: decentralised! Trustless! New paradigm ! Web 4.0 !