Author

Topic: [ANN][SAITO]The Saitozen Voice 1-2-3 and 4 (Read 148 times)

copper member
Activity: 16
Merit: 0
The Terabyte Blockchain
August 09, 2021, 11:40:05 PM
#3
The Saitozen Voice! Issue #3


Welcome back Saitozens! We are here once again highlighting the best inquiries and discussions going on the best community in the blockchain space, the Saito community! Let’s get right into it.

With the completely different approach to economic incentives and security, what are the potential weaknesses/challenges to bridging the gap past the point of circular attacks? In other words what ideal is Saito giving up to realize the other ideals of this approach?

A superficial answer would be something like: Saito sacrifices the freedom for nodes to conduct sybil attacks against each other in exchange for eliminating the 51% attack or we sacrifice routing nodes’ ability to sell future-income flow from the work they do (i.e., rent hash / stake) in exchange for the ability to pay nodes in the routing network. Are these trade-offs? Not really.

A deeper answer is that much of the “technical trade-off” schtick comes from PoS devs who know they are introducing problems but need to justify them and so argue that their compromises are equivalent to problems in PoW. Adding a round-robin PoS network adds finality by creating a closed network layer around block production, for instance, but merely moves the 51% attack to the open voting-layer that wraps the block-producer-set. PoS conceptualize their problems as technical rather than informational/economic, so they don’t realize that the cause of their problems are deep irreconcilable problems involving incentives and openness at a very fundamental level — if the incentives are bad, you can’t address the problems they create without a mechanism of closure or governance that can prevents people from taking advantage of them. And those mechanisms that add closure add problems if the entire point of the network is its openness.

From a Saito perspective these devs are playing a nonsensical game. They move the openness elsewhere (we’re voting on who gets to participate in our closed system!) and call it a trade-off. They invent new words for closure (governance) that don’t carry as much baggage. Or they arbitrarily change economic variables to force changes in incentives and necessarily sacrifice openness there as now developers are dictating spending instead of an open and competitive work-production mechanism.

There are these problems getting caused by issues they can’t fix — like differences between “who gets the money” and “who does the work”. And they need to add closure to solve them in specific cases, but that turns them into permissioned networks. So they move the openness elsewhere through technical chicanery. And you can’t do that — you can’t trick market participants into understanding their incentives because they only care about ROI not about how it is structured. So they are stuck just moving the problem around and adding layers of wrapping and redirection and complexity because they can’t simultaneously have openness and closure and need to have both.

No-one has come up with a critique of Saito that does not apply to Bitcoin. The worst I’ve heard is that you can spend money to attack the network because there is no external market (for hash or stake) sitting between us and the right to produce blocks (although that isn’t even strictly true, because we can also do things like require chains to have a certain amount of golden ticket support etc.). So there is the possibility of these economic attacks, except they are much, much, worse in PoW or PoS, as cost-of-attack in those networks is half of fee-throughput in those designs, and Saito is much more scalable and so can promise much higher fee-throughput generally. More money to secure the network and more efficient leveraging of that money to generate cost-of-attack.

We can talk about this if you want. Or anything else you are concerned about. Most people don’t like to think about this stuff because they black box “mining” and “staking” as magical boxes that provide “security” instead of circular economic engines that turn money into more money (and can be gamed in various ways). I think once we take seriously the reality that building a blockchain is building an economic system (i.e., where fees buy work and ROI is the motivation for workers to generate work) then Saito may be the only blockchain without fundamental tradeoffs. I haven’t seen another design that just works the way

Any thoughts about Miner Extractable Value with respect to Saito? I was wondering if the dynamics we see at play in Ethereum would be discouraged in Saito consensus.

Smart contracts are L2. Saito consensus doesn’t have an opinion on what happens L2 — it’s just data attached to transactions to the L1 blockchain. If reorganizing those in plaintext allows people to cheat, maybe L2 EVMs could switch to expecting users to submit encrypted data of some kind. That would probably require some kind of closure to be effective, but it’s more of an L2 concern than anything we are really focused on.

Is the present Saito website running on the Rust client or will it be transferred once it’s finished?

Rust Client isn’t going to be full featured like the current JavaScript version. It won’t run applications. Just manage consensus and maybe have a very lightweight wallet. As part of the dev effort, we’re evaluating different kinds of changes and upgrades too. These changes aren’t necessarily huge, but they mean that once we get Saito-Rust done, we will have to upgrade the JavaScript version so that they agree.

My guess is that we get Rust running and upgrade the JavaScript version and basically pit them against each other. The applications and stuff keep running on JS and we see where we are and what our priority should be.

How is governance quorum met? What is the mediation process for upgrades added to protocol layer? (Such that upgrade 1 and upgrade 2 benefits different groups of people but cannot both be implemented).


I’m not sure it is even theoretically possible to prevent people from forking — if someone can change the code, they can surely change whatever meta-rules that prevent forking.

Do you mean burning money and trying to create a competitive fork that way? it is possible, but it is also possible in networks like Bitcoin — an attacker with 51% of hash power can switch back and forth between mining on two chains and create deep reorg-thrashing attacks — as soon as the honest network starts building on one chain, switch to the second. and then back.

We have a couple of strategies available that can really ratchet up the cost of block production. But I think our core strategy has to be maximizing the cost of that attack rather than making it impossible by adding mechanisms that also make it impossible for the honest network to burn attacker tokens and fork defensively if needed.

I suppose the goal of “governance” would not be to prevent people from forking, but to discourage it by having some form of mediating disputes but I don’t really like to talk about “mediation” and blockchain in the same sentence


Yes, if we have a mechanism that we can use to mediate disputes that does not add closure, why not use that mechanism to determine the longest-chain and avoid the need for mining/staking?

I don’t think Saito’s approach locks us off from using any sort of meta-consensus mechanism. The expectation that we can do this sort of thing seems to be a PoS thing — seems to require us to have already accepted that voting mechanisms with majoritarian attacks or halting attacks are OK.

Is the information on https://www.crypto51.app/ accurate? Theoretically it would only cost $1,159,031 to 51% attack bitcoin? this seems rather cheap, what is actually stopping people besides cost from 51% attacking BTC if this is theoretically how much it costs?

It’s worse — all those numbers are conditioned on the assumption that an attacker needs to buy or rent enough new hash to find themselves in control of a majority over the existing hash.

The problem is that 51% of the hash exists by definition since 100% of it is already hashing. So the cost is < 0 by definition. People are worried about chain reorgs a lot more than they’re worried about incumbents monopolizing the chain by quietly discriminating against outsiders in ways that slowly centralize/cartelize the chain.
copper member
Activity: 16
Merit: 0
The Terabyte Blockchain
August 08, 2021, 06:09:25 PM
#2
The Saitozen Voice -2



Welcome, Saitozens, the time has come again to review what’s being talked about in the Saito community and what inquiries you’ve all had. This time around we find ourselves following a theme: How does Saito compare to other blockchains? Let’s dive right in:

How is Saito differentiating from other competitors?


No one else is dealing with or thinking about blockchain in the same way as Saito. No other protocol has a similar consensus or has based their consensus on rethinking the economic problems at the foundation of blockchain technology.

It’s a real challenge getting computer-science and distributed systems community to see the problem as something created by openness and incentives.

The shortest answer is that Saito is not fundamentally broken. But this is a hard conversation because what is broken? Every other consensus mechanism requires people to act against their self-interest in order for the network to preserve its properties of openness and censorship-resistance. Volunteers have to run infrastructure, or companies have to do that and also resist the incentive to monetize data/transaction-flows, or users have to police network participants in ways that make them (users) worse off.

When you point out the incentive problems to POW / POS developers, they will typically respond, “of course companies will perform [unincentivized act] or the network will break.” They assume that this will force participants to cooperate. That the market will somehow coordinate behavior in ways that deliver the optimal (network survives) instead of suboptimal (bad things happen) solution.

How can Saito scale like BSV?



Some recent numbers. you can download the Rust client if you’d like and run them yourself.

The bulk of time in block processing is validating TX sigs, which is perfectly easy to run in parallel. With that said, TAAL already collects something like 80% of TX fees for BSV, once they are running the network as an internal database, they will have better ways to scale. The major scaling bottleneck is actually bandwidth.

BSV is proactively dismantling the Bitcoin whitepaper. They are deliberately removing s5.1 from the Bitcoin whitepaper. Software changes that privatize mempools. This is necessary to get companies like TAAL to service users. They can’t be required to share TXs, or they won’t make the investments to service businesses.

If you’re technical enough to care about scaling, I’m sure you understand the implications of non-shared mempools for the speed of block propagation. XThin and other approaches stop working because you can’t send short references to the TXs-set in lieu of the full block, so block propagation times grow (unless you are free-riding and make your transactions with only the TXS that other miners have shared — which drives anyone altruistic bankrupt faster, but that’s an aside).

Do you envision storage blockchains taking on the burden of excess data storage as a potential route forward (which other chains may query for example?)

We can be agnostic about where off-chain storage happens. Am personally skeptical of storage blockchains because if the hosts aren’t paid to serve the content they won’t (another free-rider problem) but if I can’t give you access to my data that wipes out 99% of use cases and makes S3 a lot more competitive for the ones that remain.

Whatever people want though — open network and open software.

How do you compare the scalability of SAITO to these super-fast chains like Solana, Harmony, etc. in terms of potential raw performance?

Saito has raw performance in paying people to collect money needed to run servers. Solana has raw performance in spending money collected by someone somewhere else.

Which is the better model?

The first question anyone designing a system that gets its scalability by paying for stuff should be asked is (1) who pays to collect the money needed to operate this, (2) are they sharing, and (3) if they are paying and sharing why should I pay too?

What’s happening is that people assume Bitcoin solved a fundamental problem with “decentralization” and are trying to scale that, when the actual economic problems were solved by reliance on a voluntarist P2P network (“from each according to their ability, to… the miners”).

How does Saito compare Saito to Constellation’s Dag and their Proof of Reputable Observation consensus?

A quick read about this PoR sound like will be affected for the same problem than PoS, in which people can just rent the stacks to manipulate the blockchain outcome, this one is based on “we let reputation serves as the incentive for both good behavior and block publication instead of digital coins, therefore no miners are needed.”

So you can just rent the “reputation” from those that has more power into the blockchain.

There are a lot of ways that Saito is different.

1. Does this pay for everything the network needs? (economic sufficiency)
2. Does it guarantee cost-of-attack?
3. Does it introduce closure?
4. Does it provide universal broadcast?
5. Does it rely on external markets (which ones)?

Just abstractly, something like a reputation system sounds great if you’re concerned about attackers outside your network breaking in and overwhelming your honest nodes — but they become a lot less attractive once you’ve got malicious incumbents leveraging them to keep honest nodes out or penalize them into poverty.

Regarding the ATR: How does implementing this also enable Saito to be interoperable with other chains (e.g., an asset is transferred from Karura to Saito, then after some time its respective block does not undergo the rebroadcasting due to not paying the network fees resulting in effective burning of that asset)? Is this the case or am I mistaken with how the ATR works?


I’d suggest thinking about the Lightning Network. When you make a payment to someone you are sending a signature to your counterparty that can be used to trigger a withdrawal of a certain amount. Once your counterparty receives that signature, they can make a withdrawal claim. A lot of interchain deposit / withdrawal activities are like this — the blockchain is being used as a broadcast / connecting network rather than a data-storage archive.

If people do want their data to remain accessible and on-chain, they can leave fees in the TX so it will stick around. But for most interchain stuff you don’t really move the tokens to Saito (where ATR might prune them). You juggle signatures that get invoked in various ways to withdraw.

Saito allows people to have really low fees in exchange for the responsibility of storing data themselves, or the certitude that their counterparty will check the network and receive the data before it slips offchain. They have the option of paying more to avoid this issue, but there’s no reason the blockchain needs to force everyone to pay a “forever-fee” when one or a couple of loops through the genesis period is enough.

The BTC/ETH/DOT tokens never leave their network. They just get locked up in multisig/script-controlled accounts which require cooperation from multiple keyholders to unlock. So ATR pruning never destroys off-chain assets.


copper member
Activity: 16
Merit: 0
The Terabyte Blockchain


There’s always great discussion going on the Saito community, from Saitozens discussing the technology to newcomers trying to get their heads around the solutions Saito provides to blockchain.

This is why from now we’ll be regularly releasing a summarized compilation of the best Saito discussions this you all have been having, so that they don’t get lost in the wind.

Here’s some of the most important subjects you’ve discussed this time around:

Could there ever be a large well-hidden entity that effectively controls the network through owning most routing nodes?

95% of the network could be controlled by one person and they would still face a linear and rising cost-of-attack if they tried to produce 100% of blocks on the longest chain (cost-of-attack would be >= 5% of network fee throughput per block)


What if the majority node owning party has no interest in attacking the network but simply profiteering off of it. Centralizing Saito, despite not being able to own it wholly, take it down or have any other control over the network.

The easiest way for a central block producer to find themselves with zero transaction inflow is to try to reduce the income of the routing nodes sending them fees. No matter how centralized the network gets, central nodes are vulnerable.

What if they are collecting 95% of the fees as well? At this point POW and POS are dead, so one way to think about Saito is that it stays safe long past the point other networks die. But even then — is this really a problem? Users can stop the attack by sending their TX to a different access point. At worst we just have users putting a low price on decentralization. Or choosing not to act because the central node is behaving well. And the central node is behaving well because it has a million tiny knives to its throat.

If someone cannot exert control over the network, or transfer wealth from other participants to their own pockets, what does it even mean to be centralized?

The properties Saito delivers are the properties that decentralization is supposed to provide for Bitcoin. Fixing the incentive alignments means that they hold above the 50% point. I really think that exploring edge cases is a great way to really internalize how Saito works btw — thanks for the question and hope this helps.


How is Saito built differently such that it minimizes/prevents network ownership by the most wealth?

 We can think of a blockchain as an engine that turns money into more money. Different kinds of work create different kinds of centralizing pressures, but fee collection is about as open as we can get.

A deeper economic problem is that using an external work function (like hash or stake) also means that people can play money-games on external markets. 51% of money-in can always buy 100% of money-out. If you can’t pull this off yourself, you have an incentive to cooperate with others.

Saito solves this issue on the most fundamental level because there is no external market where you can transfer work at zero cost. In order to send work to someone, you need to sign it over to someone, at which point it is instantly worth half as much to them, and you still get paid for it. They are better off spending their own money than buying it from you, not least because they will lose less money.


If Saito does end up ‘centralized’, with 80% of nodes owned by one entity, wouldn’t that make it a little like Infura? Infura is incentivized to not cheat and whilst they may even subsidize fees, etc. They still end up in profit.

No, it doesn’t make it like Infura because Saito nodes maximize profits by sharing data and connecting to anyone who contributes value. Infura maximizes profits by doing the opposite.

“You see, Infura wouldn’t do that because…”

This is analogous to arguing that the prisoners in the prisoner’s dilemma would never rat each other out because then they’d both go to jail, so all thieves are trustworthy. And that makes thieves as trustworthy as non-thieves.

It’s a rhetorical game, except that one of them makes money stealing from people and the other has a job that they lose if they go to jail. So, if we’re assuming away the difference then we’re also assuming away the problem. And economics doesn’t let us play these sorts of rhetorical games anyway — we can’t define what people’s incentives are by looking at market outcomes and reasoning backwards.



For traditional blockchain, is there any incentive for miners to try adding blocks with empty transactions? Is it possible in Saito?

You can post the block, but if you have no transaction fees gathered, you will need to pay for the work yourself. You will lose money if you post empty blocks. If you keep spamming empty blocks and paying the price yourself, the threshold for work should increase, requiring you to pay more for each block, so the rate in which you lose money increases too. The network determines the threshold, it adjusts to keep blocks at roughly 30 seconds. If your transaction fees add up to below the threshold, you need to pay for the remainder to post the block yourself. If your fees add up to above the threshold, you can pocket the difference of the sum and the threshold and post the block. Not putting transactions into blocks means they’re available for other people to use to make blocks. You have to run faster than them now too or they can just wait watching you burn your money and pick up again when you stop.

 In this way, you’re incentivized to add as many transactions as possible within your block, but you are “racing” against other nodes too. If they post transactions in their blocks that include transactions that you have gathered, this will make you lose transaction gathering progress. With traditional blockchains, if you post empty blocks, you can’t collect the transaction fees (since there aren’t any), making mining/staking less profitable since revenue = transaction fees + coin base flat fee.



How  would Saito’s proof of work function’s energy usage compare to Bitcoin in theory? Assuming it were functioning at a similar scale.

25% in the production version, as we target 1 golden ticket every 2 blocks, with the winner of the missing block picked from a staking table using a hashed value from the golden ticket. The amount of mining drops by half, but the cost-of-attack stays the same since gaming the solution becomes exponentially harder now that the same solution solves even more payouts. There is a theoretical way to reduce mining further, by increasing the % of blocks that pay to stakers instead of miners, but we need to be able to think carefully about this since it affects how we plan to handle things like data flooding attacks.


Is the Saito Consensus a hybrid POW/POS system?

This is a hard question because our mining isn’t the same as POW and our staking isn’t the same as POS.  In POW block production is supposed to be difficult. Bitcoin uses mining to decide who can produce blocks and gives the money to the block producer so that no-one can cheat and claim payments for work they have not done. In Saito, we solve these problems in reverse order. Mining exists, but it doesn’t need to be “difficult” it just needs to be “quantifiably costly”.  Saito forces the block producer to burn money to produce a block, and hash in order to get any of their money back. The random number in the solution determines who gets paid, and so dishonest attacks will need to produce 2x as many random numbers as honest nodes. The division of money is fair because the lottery is fair if you are honest. if you are dishonest, you can attack the lottery, but it will cost you all of your profits and more, so what is mining in this system? it basically enforces the COST of violating the principle of fair-pay. That cost is then leveraged into the “difficulty” of attacking the network. If you are willing to pay routing nodes, you lose 50% of your income that way, if you want to attack the lottery, you need to lose 50% of your income that way. What goes away is the ability to control 51% of the hash power and collect > 51% of revenue because you are orphaning legitimate claims from others for payment simply because you out-muscle them.


Can a Saito application choose the first node routed to?

The protocol doesn’t restrict behavior. A Saito application could in practice change routing behavior for the whole client.


So instead of Ethereum miners generating all the fees for the traffic on Uniswap, an Uniswap in Saito would rightfully get first cut of mining rewards?

It could, yes. There are a couple of options, if you write the actual user application, you can always do things like have the “send transaction” button add a small payment to you as part of the transaction that the user is sending.



For more updates, please do follow Saito’s official social media pages:

Twitter: https://twitter.com/SaitoOfficial
Telegram: https://t.me/SaitoIOann
Blog: https://org.saito.tech/blog
Discord: https://discord.com/invite/HjTFh9Tfec
Reddit: https://www.reddit.com/r/SaitoIO/
Youtube: https://www.youtube.com/channel/UCRUhZVAUH4JyWUFmxm5P6dQ
Jump to: