Nano, The Goodwill Tree-Chain

1

Charlie Lee, litecoin’s founder, was seen courting a new kid in the block recently after he sold all of his litecoins. Nano, former Railblocks, a new cryptocurrency that introduces a fundamental redesign of blockchains into tree-chains.

We’re all familiar with blocks, which contain many transactions, and then link each other in a chain all the way back to the genesis root.

Instead of a chain of blocks, nano has a chain of transactions, it all too starting with the genesis root. In the case of nano, that genesis root distributed 127 million nanos to root branches for completely free through online captcha solvers.

There was no ICO, but the developers did keep some 6 million nanos, now worth around $70 million. An amount which could in reality be far higher because we’d naturally think the devs and founders would have been the most prolific captcha solvers.

What they tell us is that there were many from developing countries apparently receiving coins from the faucet. That was primarily during 2016 and some of 2017 when Colin LeMahieu, Nano’s founder, stated:

“The captcha is set extremely difficult right now to fight bots. There are people who use xrb’s faucet specifically for hours a day as their entire job so it needs to be as hard as it can be.”

Some estimate 330,000 accounts received nanos from the faucet, but the nano genesis block shows 42 branch transactions, which gave structure to the tree.

The above picture from nano’s whitepaper describes each account/address or public key as a blockchain, but that is slightly misleading.

The Directed Acyclic Graph (DAG) structure, as applied here and in IOTA as well as other projects, can more easily be seen as a chain of transactions.

The genesis block created 42 transactions, each of these branches then created other transactions on top, with each of those transactions doing the same, all linked directly to the branch and then through it to genesis block. We thus have a tree structure, rather than a straight blockchain.

None of this re-design addresses in itself the double spending problem where you can send the same transaction to two people.

To address it, nano uses a consensus mechanism of Delegated Proof of Stake. That is individual accounts appoint voting representatives who based on a majority decide which of the two transactions are valid.

Proof of Stake (PoS) has a nothing at stake problem where stakers can vote on all chains to be safe, or as described some time ago:

“In the event of a fork, whether the fork is accidental or a malicious attempt to rewrite history and reverse a transaction, the optimal strategy for any miner is to mine on every chain, so that the miner gets their reward no matter which fork wins.

Thus, assuming a large number of economically interested miners, an attacker may be able to send a transaction in exchange for some digital good (usually another cryptocurrency), receive the good, then start a fork of the blockchain from one block behind the transaction and send the money to themselves instead, and even with 1% of the total stake the attacker’s fork would win because everyone else is mining on both.”

Nano, however, doesn’t have miners and doesn’t reward the stakers. They receive no interest or new nano. They are in effect goodwill volunteers policing everything out of the good of their heart. Gray Olson, an independent developer that’s contributed to the Nano ecosystem, says:

“With nano, voters (aka representatives) do not get any fee reward or reward of any kind as they’re not “finding” a block for the entire network.

Each account has its own blockchain so the only person that serves to win or lose from a malicious transaction is the person sending and the person potentially receiving that transaction.

No other accounts are directly affected. So the voters have no incentive to vote for both chains as that scenario describes.”

The security model therefore amounts to “why would they?” The network expects the majority to be honest and unless it is the majority of malicious parties controlling such voting power then they probably would be.

Currently that majority looks like it is Binance, a crypto exchange that has risen to popularity recently due to the variety of eth trading pairs.

Many would probably trust them, but that trust extends to rogue employees. However, we have seen such double spending from rogue employees even in bitcoin when Ghash rose to have more than 50% of the mining power.

“The reason you run a nano node/representative (the incentive you have to do so) is if you’re an entity who wants to rely on the network being trustworthy for transactions of your own, not for your own monetary gain… and to do so you have incentive to behave honestly. Therefore the majority of voters/representatives on the network should be behaving honestly

Also, one staker/representative only has the power to modify their own local representation of the ledger, since they are not directly adding blocks that all other nodes will need to use/agree upon to keep a singular blockchain in sync like with traditional PoS,” Olson says.

It is an intriguing idea. If they’re not the double spender themselves, they’d have an incentive to vote for the valid transaction because they want the whole thing to work. If they are the double spender, the chances they can gain more from the double spending than the sums they actually hold are minisculely small, if not zero.

But then why not rely on the same premise in a normal blockchain? Why create trees? Why not just get dPoS, get rid of the fees, and rely on these goodwill voters? Olson says:

“In a traditional blockchain the person who “finds” the block creates a block that affects everyone on the network. With a dag, each block only affects the owner of that chain and potentially the receiver of the transaction…

And this means that as long as the validator is an independent party from the malicious actor and not a co-conspirator, they have more incentive to act honestly.”

In effect, they’re localizing any potential damage to just one transaction rather than affecting a whole block of transactions and blocks that follow.

Yet that minimizing of damage doesn’t seem very convincing. In fact we can think to the contrary. Because this damage would be so localized, we can see why the temptation would be higher to exploit it as it affects so little. While if it affected much more, perhaps many other transactions in a block and/or other transactions that follow, that temptation would have to meet some pretty high reward to make it worth it.

You can imagine, for example, the double spending of some guy who might go around moan in some forum and be fully ignored. But if many were double spent in the same time, and there were forks and there was a mess, there would be a crisis.

It is true that honesty would play a role in this game theory, but representative voting naturally means concentration and centralization of the addresses, which gives a small number the power to abuse here and there like social network moderators ban a person here or there without much disquiet. Yet if they banned all at once then they only ban themselves.

Localization and minimization therefore might perhaps not be the best game theoretical strategy, even though it intuitively sounds like it would be.

To the contrary, where there is little to gain you might want to make it quite more expensive to even think of considering it and/or to flirt with temptation.

At a different level, the decentralization in nano is far lower than with a public blockchain because nodes in nano effectively have no say whatever as all is delegated to the representatives.

If one disagrees with the representatives, you have little choice. In bitcoin or ethereum one just forks. In nano, to fork is effectively impossible.

“If you wanted to make changes you’d have to recalculate pow for all the dependent modes of the tree as well but it’s not as big of a deal since pow for Nano is less hard than other cryptos.

But you could in theory take a snapshot of the ledger, change whatever you wanted about it, then start a new network and anyone who subscribes to that network will then be using those changes,” Olson says.

Nano has an anti-spam proof of work where you do some super easy calculations, like a captcha for computers, to send your transactions.

Therefore it is easy now to recalculate it, but in a decade or two, assuming this goes mainstream, you’d think it wouldn’t be easy at all.

And in that world where we now have banks, governments, being the representatives, and they merge some code in the network people disagree with, you can’t quite just create a new chain and diverge from there. You can create a new network that effectively airdrops them the same amount, but it’s not quite the same.

Finally, it is very doubtful whether the structure itself can accommodate smart contracts. Tree branches are quite different from blockchains and the biggest innovation since bitcoin’s invention, smart contract code that itself is a private key, might not work with such tree chains.

IOTA of course claims they are the IoT currency, but without such smart contracts which in effect give machines bank accounts, there’s hardly a place in IoT.

Perhaps we are being conservative and unnecessarily as well as very skeptically looking at holes. But a tree structure without the ability of programmable money does appear to be a needless complication with little benefit and potentially quite a few disadvantages.

For really the entire structure based on the same assumptions would probably work just as well in a straight blockchain, but such structure wasn’t chosen because we can’t rely solely on goodwill, neither in a dag nor a blockchain, when it comes to money itself.

 

1
Leave a Reply

100000
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
  Subscribe  
newest oldest most voted
Notify of
TheSatoshiWay

The last paragraph was surprising! The author needs to realize that the main reason a block-lattice structure was chosen was to remove fees, and make transactions instant! something a regular blockchain can’t achieve. When something goes wrong with a transaction, all users get affected in a regular blockchain, however, in a block-lattice, only that single transaction is affected and the rest of users can continue using the system with no trouble.