Run blockchain applications directly in your browser.
The promise that blockchain and tokenization will revolutionize how we transfer and safeguard value has finally arrived. Today, millions of people use bitcoin, ethereum and other cryptocurrencies to create and share value.
However, the industry faces a serious problem: what happens if the most widely used networks start to coalesce into irreversibly centralized institutions or monopolies, e.g. Blockstream & Coinbase. In Ethereum’s case, the centralized aspect of Infura has been a cause for concern for some years. In 2018, Afri Schoedon went as far as to state that “If we don’t stop relying on Infura, the vision of ethereum failed.”
All if this raises the question: what is the point of having a decentralized blockchain if market failures mean everyone has to go through companies like Google to use them?
In addition to this, no cryptocurrency or network has been able to solve the two major economic problems in blockchain: the tragedy-of-the commons problem that encourages blockchain bloat and forces developers to hardcap block size, and the free-rider problem that leads to lots of mining and staking (paid activities) but an under-provision of user-facing network services without lots of extra and hidden fees.
Let’s look into these two issues separately to understand why Saito can become a key player in the protocol and consensus market:
Problem 1: blockchain size
Blockchain bloat creates problems. It is expensive and difficult to store trillions or more blocks on-chain permanently and to transmit or download the chain within a reasonable timeframe.
As the use of blockchain grows, these challenges will grow. Bloated blockchains are more expensive. Will users pay higher fees or simply switch to cheaper networks? Will miners continue to share older data or start hoarding it to increase their own profits. And who wants to pay or wait to sync terabytes of data?
The above chart, courtesy of blockchair, shows Bitcoin and Ethereum blockchains sizes to prove our point. While bitcoin is already above 300GB, ethereum is currently above 210GB. And these networks are toys compared to what we need a truly global applications network to deal with every day.
This means that as both networks grow, it becomes harder for the average Joe to run the blockchain. That creates centralization issues and higher costs, and that translates into higher network fees or these networks collapsing as people leave for greener and cheaper pastures.
This issue is also linked to the tragedy-of-the-commons. According to Investopedia, “The tragedy of the commons is an economics problem in which every individual has an incentive to consume a resource, but at the expense of every other individual — with no way to exclude anyone from consuming. Initially, it was formulated by asking what would happen if every shepherd, acting in their own self-interest, allowed their flock to graze on the common field. If everybody does act in their apparent own best interest, it results in harmful over-consumption (all the grass is eaten, to the detriment of everyone).”
The tragedy-of-the-commons issue is created by the existence of the permanent ledger, which encourages nodes to accept payment today for work that can be offloaded to others tomorrow. Block producers happily add data to the blockchain because they get paid today. Everyone needs to pay to support that data forever, but if this passes costs to the future, who cares? Tomorrow’s expenses pale in comparison to today’s profits!
This incentive — we can’t trust block producers to regulate their own appetites — leads to bloated blockchains or hardcoded blocksize caps that have their own set of problems. More subtly, it also leads to transaction mispricing, as users can pay fees that do not reflect the actual costs their data imposes on the network.
Eliminating the tragedy-of-the-commons problem requires all nodes that add transactions to the blockchain to bear the cost of processing those transactions for as long as they remain on the blockchain. If you do this, no-one will add a transaction to the chain that doesn’t pay enough, because otherwise, they will lose money themselves. And this is the first thing Saito does that no other chain has figured out.
Problem 2: Free-rider
According to Investopedia, “The free-rider problem is the burden on a shared resource that is created by its use or overuse by people who aren’t paying their fair share for it or aren’t paying anything at all.”
Imagine everything a network needs to operate on a massive scale. Is a cryptocurrency only a matter of paying miners to run consensus?
What about software development? Who fixes the bugs? Who battle-tests the software? Who audits the code?
What about design? Who creates beautiful user-interfaces that attracts millions of new users?
What about routing? Why should a protocol not pay for all nodes which are routing user transactions, as well?
The free-rider problem arises in blockchains because payments are given to one specific type of work (such as mining or staking) instead of other necessary activities. This mismatch incentivizes participants to maximize their spending on paid work and minimize spending on everything else.
Abstractly, we can think about the problem as being caused by the ability for people to transfer income from other people to themselves. In the case of cryptocurrencies, the people who pay for the unpaid work end up subsidizing the miners and stakers. This is sustainable if you have a network run by volunteers (the classic Bitcoin model) or funded by Silicon Valley VCs (the classic Ethereum model) but it doesn’t work at scale. Eventually, your volunteers or VCs dry out.
Right away this issue makes blockchains a lot more expensive than they need to be — if the private sector is going to need to provide these services it will need to charge extra fees to pay for them.
Saito: An Open and Independent web3
A lot of people approach these problems like they are technical issues. They debate what the “proper blocksize” should be or how much their algorithms should pay various participants. One of the things Saito gets right is recognizing that they are actually incentive problems: issues created by perverse incentives that allow participants to increase income (“privatize gains”) by doing things that pass costs onto others (“socialize losses”).
Saito recognizes that fixing both the free-rider problem and blockchain bloating problem requires fixing the underlying incentive structure so that participants don’t get paid for pushing costs onto others. More precisely, Saito realizes that if you fix these problems the other problems with scale go away.
Because the blockchain requires a quantifiable cost-of-attack, this requires eliminating ”mining” and ”staking” and shifting to a different form of work that measures and pays nodes in proportion to the ”value” they provide the network. Saito does this by deriving the measure of ”work” from the transaction fees that users spend.
In a single leap, the incentive problems with mining and staking vanish, because the fees that users pay reflect the value they are getting from the node that is taking the fee. The value includes the job of getting the transaction into the blockchain and properly confirmed, but it also includes all of extra data services provided and software development done that has resulted in the using choosing that specific endpoint over another.
Saito measures “work” by measuring how transactions (and their fees) flow into the network.
Just as proof-of-work incentivizes mining and proof-of-stake incentivizes staking, Saito incentivizes running open network infrastructure. And the consensus mechanism keeps everyone honest: companies cannot compete by locking-off access to transactions because nodes that hoard transaction flow make less money than those that share transactions freely with peers.
Saito nodes get paid for sharing.
The way that consensus works is very different from proof-of-work and proof-of-stake, but the result is that participating is profitable to honest nodes that collect transactions from users. But attackers haemorrhage cash if they try to attack the network. Saito
And the best part? Because Saito pays for routing and data, the network is perfect for running Saito Dapps, or “blockchain applications” that can be deployed as applications that run in your browser or as standalone applications. There is never any shortage of nodes willing to support your browser applications because that is how they get paid!
How does Saito fix consensus?
Saito eliminates the ability for participants to pass costs to each other.
Saito solves the tragedy of the commons by removing the ability for block producers to collect fees today for work that the whole network has to do tomorrow.
Saito eliminates the free-rider problem by securing the network with the only form of work (efficient fee collection) that can pay different people for the different kinds of value they contribute to the network.
Saito solves blockchain creep by allowing the network nodes to delete the oldest blocks
in the ledger at predictable intervals (“ epochs”). Epoch length is specified in the consensus code.
Once the block data is deleted, the header hash may be retained to prove the connection with the original genesis block.
To fully understand epochs, let’s think of a far-off case: global traffic for distributed key-exchange applications. We might want to use this kind of network to replace WhatsApp or Instagram. Instead of having a company handle everyone’s posts, we just let people exchange their IP addresses and encryption keys on-chain and they can connect directly to their peers for secure and maybe even watermarked copies of content and photos.
In such a case, an epoch might last only 24 hours. In the case of a network like Bitcoin, the epoch might be 50 or 100 years.
Saito specifies that once a block falls out of the current epoch, its unspent transaction outputs (UTXO) are no longer spendable. But any UTXO from that block that contains enough tokens to pay a rebroadcasting fee must be reincluded in the next new block. In the process, a small fee is deducted from the amount in the UTXO. So there is a fresh UTXO that replaces the deleted one and that has paid a small fee to stay on-chain.
As the blockchain expands and there is less space for new transactions available, market competition pushes up the fees paid by recent transactions. This forces up the fees paid by older transactions and increases the amount of data pruned by the blockchain. The market reaches an equilibrium at the point where old data is removed at the same pace that new data is added.
This mechanism avoids problems with developers hardcoding economic variables and prevents subtle forms of free-riding commonly found in other chains where pruning is done to save money (deleting on-chain data, refusing to store or share historical blocks).
All these forms of cheating disappear because nodes that do not store the whole blockchain are incapable of producing new blocks because they don’t know which UTXO need to be rebroadcast. There is no way to cheat this system and pass costs to others — unless you’ve done the work of storing the full blockchain for the last epoch you can’t make money producing new blocks!
Routing work is the heart of Saito and the real gem in the network. In Saito, any node can create a block if it has enough ”routing work” available in its mempool. The amount of ”routing work” that they need (think: difficulty) depends on how much time has passed since the last block. Producing lots of blocks really quickly requires exponentially more routing work.
Saito nodes get this routing work from the transactions in their mempool. The consensus mechanism decides how much routing work each transaction provides by starting with the transaction fee and reducing it by half with each hop the transaction has taken to reach them.
Using this measure of work to produce blocks makes attacking the network expensive since making claims about time cost money. But it gets better.
Whenever a node produces a block Saito does not give the block reward to anyone. If it did that would allow attackers to collect their fees back and use them to create more routing work in circular attacks on the network — a bit like renting hashpower in POW and using the crypto you earn from the block reward to pay the rental costs.
Saito solves this problem by making it expensive to get paid. It does this by introducing a computational puzzle called the ”golden ticket”.
This puzzle requires knowledge of the block hash to solve and cannot be calculated in advance. Miners on the network listen for blocks as they are produced and begin hashing, searching for a solution. Should they find a solution, they propagate it back into the network as a standard fee-paying transaction.
If a solution is found and included in the very next block, the block reward is split between the miner and one lucky routing node. Each routing node’s chance of winning ends up being proportional to the overall ”routing work” contained in the block being solved, so routing nodes are essentially paid proportionally to the amount of money they collect.
If a solution is not found, the block reward is burned. No-one gets paid, although the fees that were lost are eventually collected and re-inserted back into the network when the blocks that contain them fall off the chain at the end of the next epoch.
Saito’s Security Layers
Up to now, we’ve explained the main difference between Saito and other cryptocurrency protocols. To reiterate, Saito pays both routing nodes and miners. The routing nodes get paid for collecting fees and the miners get paid for running a lottery that makes it impossible to pull off the kind of circular economic attacks that are possible in POW and POS.
While we’ll leave the details out of this article, the math behind Saito works out so that attacking the network is *always* expensive. The only way you can attack the blockchain is by being willing to burn your own money.
This theoretically makes Saito much more secure than POW and POS, where anyone with 51% of the money the network spends on mining and staking is in a position to attack it. There is a lot to unpack here, so let's take a closer look at how the mechanisms compare.
Saito vs POW & POS
This system has several significant advantages over proof-of-work and proof-of-stake mechanisms.
The most important is that Saito explicitly distributes fees to the nodes that service users, collect transactions and produce blocks, and it does so in proportion to the amount of value that these actors provide to the overall network. Network nodes have to compete for access to lucrative inbound transaction flow which means they should fund whatever development activities are needed to get users on the network, as long as they are profitable.
Remember that debate about whether POW developers can ever build an ASIC-resistant mining algorithm? Saito has it — you can’t build a machine that guarantees access to user-fees, because the market will continue to make it obsolete: the value that you need to provide depends on what users need and want, and that depends on what your competitors are offering.
This is a fundamental shift. Other blockchains explicitly define which activities have value, like mining and/or staking. This is why they have such economic problems and circular internal attacks. Saito lets the users signal what services provide value through the fees they pay, while the network infers who deserves payment.
This incentivizes the efficient delivery of value to users. By paying for value instead of a subset of network activities, Saito provides a better way to guarantee that a self-sufficient network can remain open and economically independent at scale.
To conclude, Saito implements two additional protection layers that vouch to block any attack by one of the validators (miners and routers):
- POWSPLIT: can set the cost of an attack to over 100% of the payout returns.
- PAYSPLIT: can add a voting mechanism to transactions that only route on channels with the same vote result.
While the Saito roadmap is still a work in progress, the web3 foundation grant has enabled the project to advance its goals:
Saito was founded by two experienced software engineers: David Lancashire and Richard Parris.
David is the tech lead for Saito and has worked in China for over a decade. He has founded three successful companies and has been involved in the Bitcoin community since 2012. He did graduate work in Economics and Political Science at the University of California, Berkeley.
Richard is a software engineer with over 15 years of experience as a CTO leading teams in technology startups in Japan and China. He holds Mathematics and Philosophy degrees from the University of Melbourne.
While Saito builds massive improvements on how blockchain protocols can operate and presents an enticing opportunity for growth, it is not free of problems.
One concerning issue is the complexity of the system and how it may impact development. Mining and staking may have economic problems, but only one participant gets paid. The more participants one pays through consensus the more complicated our own consensus software needs to be.
There also is the risk of Saito running into mental objections people raise that aren’t necessarily based in reality, but that feel “truthy”, like the idea that networks can simply deal with bloat by “increasing fees”.
Additionally it is not yet known if users will actually pay (or migrate to cheaper chains). or that miners won’t continue to bloat (for profit) while cutting costs in various other ways, such as headers-only mining, refusing to sync data, or just by deleting the blockchain and/or cutting support for older data.
Saito is building an innovative web3 stack that completely changes how we think of blockchains.
In sum, the Saito protocol pays routing nodes for collecting fees for the network and using a mining puzzle to make attacking the system expensive and spam-resistant.
Its economics are well thought out. End-users are using applications in their browsers and can collect tokens from advertisers for viewing advertisements. Advertisers will have to buy those tokens from routing nodes and miners. This system allows users to pay for the transaction fees they need to use the network simply by using the network.
In conclusion, Saito allows developers to build blockchain applications that run directly in a browser. Both Infrastructure costs and rewards are split among all participants, making the entire ecosystem whole.
Note: 4SV invested in Saito. Nothing written in this research article should be considered financial advice of any kind.