Hacker News new | ask | show | jobs
by ahelwer 1934 days ago
Yeah this is kind of where distributed systems theory comes up against practice, and I think is very interesting. On a theoretical level Nano is just fundamentally flawed, as are all coins which use this "everyone has their own blockchain" eventual consistency concept. The problem is this, as far as I can recall (I looked at this three years ago): imagine a network partition occurs, where two different exchanges are in different partitions. For whatever reason Eve still has network access to both partitions. She broadcasts a different transaction to each partition, each transaction sending all of her Nano to a different exchange. Since Nano uses proof of stake, these transactions have to get a certain number of votes. I don't recall the exact threshold (I think 1/3 of all extant Nano has to vote?) but it is possible for both transactions to be confirmed as long as the partition stays in place. Possibly long enough for Eve to convert her Nano to a different cryptocurrency and transfer it out. Once the partition collapses one of the transactions is rolled back and the exchange is left holding the bag. IOTA solves this problem by just saying "the partition containing the coordinator is the real partition" lol. Humorously the more centralized Nano voting power is the less likely this scenario is to occur, too - although then you get the existential threat of those big-vote accounts getting hacked! They have to stay online with their private keys accessible, after all.

As you say, this has never happened (to my knowledge). So it's possible that even though the problem is real, it will never actually occur in practice. In the end the real measure of success is how well these systems perform in the real world, so we could say this analysis of the theoretical problems doesn't hold much water. On the other hand if something like this were to happen, it would probably tremendously undermine confidence in the currency & destroy it overnight. So this could be more of a thanksgiving turkey situation where each day seems better than the last until thanksgiving arrives.

1 comments

Thank you for your writeup. I understand the idea behind the network partition and I've been doing some digging. It looks like there are numerous commits attempting to address this edge case (they call it frontier cementing).

Here is a writeup I found on reddit that further elaborates this: """ There is a (currently hypothetical) edge-case where this could be reversed (not exactly the same as PoW chain reorganization due to forking, but similar.) In this edge-case:

We imagine the Internet has, right now, been carefully split by a malicious attacker into two exact halves

The Internet halves would be carefully contructed to each hold >60m online Nano votes. (This Internet fracture has never actually happened in Nano's lifetime. There are not 2 x 60m votes currently online.)

The attacker double-spends on a coffee (or house) in two of your stores worldwide just now

They then allow the Internet to heal

One of their transactions will be reversed by majority voting.

So while Nano transactions are fully-confirmed, they are not currently immutable.

Since there are not >120m votes currently online, it has not happened and cannot currently happen either. No previous-to-today Nano transactions will ever be reversed. """ -- throwawayLouisa https://www.reddit.com/r/nanocurrency/comments/bgdshq/what_i...