Ossify and let the market decide.

⚓ Neptune    📅 2023-10-06    👤 danda    👁️ 520      



This post was published 196 days ago. The infomation described in this article may have changed.

This is sort of a blue sky post, out of left field. Not to advocate per se, but just to maybe spark some conversation and weigh pros/cons. gauge interest, or lack thereof.

I was just reading the very excellent post On the Valuation of Cryptocurrencies and this line caught my attention with respect to governance:

One option is for the protocol to ossify, in which case the answer is no-one. This option is risky though because it might happen that a change is necessary for survival, and in this case the ossified protocol will die.

This is actually something I’ve thought about many times with respect to cryptocurrencies. If the goal is to be a “hard” incorruptible money then it should be extremely resistant to change. Consider gold: no one can change its fundamental properties and that’s a very good thing.

So I think that many in this space would agree that someday, eventually we will end up with a cryptocurrency that is so widely used that the consensus rules will fully ossify and be essentially unchangeable, much like tcp/ip v4.

But most would also say that we are not there yet, and it would be foolish to ossify the consensus rules for a brand new cryptocurrency right out of the gate. Even Bitcoin is still (slowly) making changes with so-called soft-forks. And Monero has adopted a policy of hard-forking once (or twice?) a year on a schedule. In this way, upgrades and bug-fixes can occur.

Such upgrades are generally fine…. so long as you, as a hodler, agree with the changes. But if you do not agree, then it feels very much as if you bought into something under a set of promises that are now being reneg’ed upon. rug pull! Perhaps the best-known instance of this was the eth and eth-classic split. But really, most fork events have one or more unhappy parties. Consider the segwit debate and subsequent forks. An observer should thus ask the question: Is it morally right to issue tokens knowing that people will buy them under a given set of rules and then later those rules will be changed without 100% consensus or formal agreement? Or is that a form of fraud? a bait and switch? an ethical dilemma.

Something to think about anyway.

And there is the practical and very worrisome consideration that the more a community is “trained” to accept consensus rule changes, the easier it would be to slip in something “bad” at some point.

But is there any alternative?

I have long thought it would be an interesting experiment to create a (privacy) cryptocurrency that puts immutability (consensus rule change resistance) as its top priority.

The developers would publicly pledge to never change the consensus rules and would write a nice white paper “manifesto” laying out the reasons/philosophy. The early community that forms around this new currency would understand and appreciate this value and would educate later adopters. Ultimately any software in theory can be changed, so it is important to have a community that is hostile to such changes, such that any rule change proposals would be instantly shut-down.

We have seen that the Bitcoin community is fairly resistant to consensus rule change. But its just one value of many, and has been diluted. I’m talking about elevating immutability to the core principle/value of the currency, with “manifesto” statements such as “if the consensus rules ever change, at all this currency should be considered a failed experiment, and utterly worthless”. etc, etc.

Now I hear you saying, but what about upgrades and fixes for like, really serious bugs?!!!

I will address this in two ways:

First, I don’t believe it makes sense to ossify a brand new implementation such as Neptune Cash right out of the gate. For the first few years, perhaps a Monero type hard-fork strategy is best, until the kinks are worked out. But still, statements could be made that the plan is to ossify the consensus rules once a given set of criteria have been reached, perhaps in terms of privacy, stability, security, scalability.

It would also make sense to take an existing mature cryptocurrency, fork the code, and start a new genesis block with the immutability principles and start a community around it. At one point, I had even considered attempting this with ZCash or Monero, but ultimately decided they are not quite ready for primetime.

Second, let’s say we already have our mature, ossified cryptocurrency and community. Let’s call our crypto “Gibraltar”, like the big rock. Now one of two things happens: 1) a serious consensus bug is discovered, or 2) a new technology is discovered that would be a clear and significantly improvement, eg in the areas of privacy, scalability, or censorship resistance.

Can we, as a community, fix the bug or adopt the new technology without changing the consensus rules? yes, I believe so. We let the market decide.

We leave Gibraltar code unchanged. Nodes can continue running forever, conducting transactions.

We fix the bug, or implement the new feature. Maybe we wait until there are a bunch of new features ready we’ve been wanting a long time. Then we create a new genesis block and release a new Cryptocurrency “Gibraltar Prime”. We make it clear that the Gibraltar devs are now supporting and maintaining Gibrlatar Prime. Then we just let the market decide if it wants to stay with Gibraltar or move to partially or fully to Gibraltar Prime. Ideally there would be an easy-to-use atomic-swap mechanism between the old and new chain to reduce migration friction.

The beauty of this mechanism is that each individual holder of Gibraltar can make their own real decision, for him or herself, at a time that is convenient for them. And both the old and new system can coincide for as long as both are useful. The transition can be gradual or fast, as the market decides. This is not like bitcoin’s miner signalling where a handful of mining pools decide for the entire ecosystem (over-simplified). It is not like Monero where the majority can dictate to the minority.

Now obviously starting with a new genesis block leaves a lot of people behind initially. So it is not a step to take lightly. It may be worth doing if there are really compelling reasons. But if the reasons are not compelling enough, then the majority of the market may simply stay with the old rules. And that’s OK! That means we have reached a ruleset that is “good enough” for this society at this point in time.

So wrapping up and bring this back to Neptune Cash.

From what I can tell reading the whitepaper and other posts, Neptune Cash has the main properties I’ve been waiting for in one package: real privacy (unlinkability), scalability, contracts, p.o.w., decentralization. That’s super exciting. To me, this has potential to overtake Bitcoin and everything else, and leave them in the dust.

I would think then that Neptune Cash, as a technology, would form a very solid basis for this type of immutable, ossified cryptocurrency I’m talking about. Perhaps not for the first few years. But maybe in 3, 5 or 10. Or sooner if everything goes just right.

If the Neptune Cash team decided to pursue the ossified path, then it would make sense to make promises before launch with a whitepaper/manifesto about the topic. With a formal specification of the consensus rules at launch, and specific criteria as to when/how the consensus rules will become ossified in the future. It might be best to treat the first few years as a sort of “beta” period, with a clear plan that a new genesis block and trade symbol will be created once the first “ossified” ruleset is determined.

If the Neptune Cash team is not interested in such a path, then it would still be very possible for a third party to fork the code and create such a cryptocurrency/community. Again, a solid codebase is super important, but a solid founding community formed around ideas/principles is equally as important.

🏷️ ossify

danda    2023-10-06 👍 👎 [op]

Another argument I forgot to mention:

markets and businesses love long term predictability.

Consider a 30 year mortgage or bond. When writing up such a contract, you want to define payment in something you trust will be around for decades, without losing value, and without changing its properties. Or else you have to get very creative about defining possible changes and how to deal with them.

See also:

Definition Predictable: How Certainty Drives Business Success

The power of predictability


aszepieniec    2023-10-08 👍 1 👎

Thanks for the thought-provoking post!

Consider gold: no one can change its fundamental properties and that’s a very good thing.

I think the fundamental difference between gold and cryptocurrency is not physical versus digital. Somewhere in the book of the universe the laws of physics are written, and the universe operates by these laws just as surely as my computer operates by the program it is executing. What matters from the point of view of economics is the logic by which accounts are updated. Gold and cryptocurrency are both substrates mediating this logic. Physics imposes constraints on this logic, and code can impose a similar or altogether different set of constraints.

The fundamental difference between gold and cryptocurrency is (in my view) the source of their hardness, which is physical versus psychological. You can define hardness of money as its resilience to updates to its account logic. Gold derives its hardness from physics: it is empirically expensive to produce more gold (or destroy it, for that matter). Cryptocurrencies derive their hardness from the unwillingness of their user bases to update their code.

And so if you are looking for a hard cryptocurrency, you will be looking for one with (among other things) an active and autonomous immune system against mind viruses. And if you are looking to build one, you need to develop this psychological immune system in addition to the code. The code is just the focal point.

A manifesto would go a long way towards cultivating a psychological immune system. This strikes me as a Herculean effort to get right, but that should not stop us from trying …

On a similar note: you allude to some kind of contract between users and developers expliciting the type of updates that are expected and allowed. Perhaps a better word is a constitution? Because after all, it cannot have legal effect. It’s worth pondering the appropriate terms and conditions. And if we can agree on what it should say, we could distribute it as part of the software package.


danda    2023-10-09 👍 👎 [op]

I agree with everything you say here. Well stated.

I will add some additional thoughts/examples/flavor and then get to some practicalities.

“Constitution” is a fine word as it evokes a founding agreement or contract that defines the rules of society. “Declaration” is another good word, for laying out a philosophy/rationale, if not the rules themselves. “Manifesto” is perhaps a bit strong and certainly can have negative connotations, so yeah no need to use that term.

An aside about Constitutions…

I consider each country with its set of rules (laws) to essentially be a game writ large. If we think about a deck of cards, we can use the same 52 cards to play many different games. The games function to the extent that participants understand and play by the rules. Each game played is kind of a shared hallucination. The rules of the games establish the incentive structure. And so each game/rule-set results in very different behaviors and outcomes. “Spades” is very different from “Rummy” is different from “Hearts” is different from “Bridge” and so on. In the same way, the rules of a country can lead to very different outcomes, for better or worse. This is probably obvious. But perhaps the interesting thing about it, is that if one understands this well, it seems possible to create a constitution blueprint that optimizes for particular outcomes. In particular I would be most interested in optimizing for personal freedom, aka liberty, aka non-aggression principle, aka voluntaryism, aka the golden rule. If we think about the U.S. constitution, it was a nice evolution, but it was really a compact between existing states/colonies… the bill of rights was tacked on as an afterthought. So I think there is a lot of room to do better in the future.

Really the main point I’m driving at here, which you touched on also, is that founding documents and shared understanding are super important to any kind of collective human endeavor. If the community grows and endures, such documents take on a sort of “revered” status. The bitcoin whitepaper has already achieved this, at least amongst crypto enthusiasts, and few would dare propose certain changes such as modifying the 21million btc limit. I see you “get” the importance of community ethos already, so I won’t belabor the point.

I will make mention of one other source that has influenced my thinking about the importance of hard money. You may be aware that John Nash, the famous mathematician spent the later years of his life thinking and writing about “ideal money”. In particular he was concerned that all fiat monies inflate and change in value against eachother, and as such there is no solid metric to compare against. Civilization has always flourished when we have a good system of weights and measures, and yet money used by everyone is not bound to any type of physical constant. In brief, he reasoned that if such a money could be developed it would be the “yardstick” that clearly points out the weakness/theft of fiat currencies and forces central banks to asymptotically approach “ideal money” where supply meets demand and prices remain stable.

Another way I think about money is that it is just an accounting system. A distributed ledger of human labor essentially. So say we start with 10 people and 100 tokens. Each person has 10 tokens. Jim grows an apple and Bob gives him a token for it. Bob accepts the token because he knows Sally will accept it in exchange for Eggs, and so on. But this is all soon spoiled because Mallory has a device that can make new tokens almost for free. The instant Mallory does this without getting caught, even once, the accounting system has broken and the group is using dishonest money. Mallory, being smart, continues to do this just a little at a time, and in this manner is able to live off the labor of others in perpetuity, as a parasite. The entire group is weakened and unable to reach their full potential individually or collectively, as is the case for any host burdened with parasites.

Cryptocurrency is the first truly honest money that mankind has devised as each party checks and re-checks the accounting and does not tolerate Mallory for an instant. As such, it has potential to unlock human potential and empower us to thrive and flourish.

And to protect that property and ensure Mallory cannot creep in the back door, the accounting rules must be protected from change, by the community, in perpetuity.

Getting more specific:

A manifesto would go a long way towards cultivating a psychological immune system. This strikes me as a Herculean effort to get right, but that should not stop us from trying

Yeah, I don’t mean a 100 page “manifesto”. Something more like the Declaration of Independence or Barlow’s “A Declaration of the Independence of Cyberspace”. Basically a clear and concise exposition of our motivations, principles, expectations. To make “founders intent” crystal clear. I would be happy to write up a draft for consideration.

In terms of contract between devs/users, that’s more to do with any period before the code becomes ossified and defining the process by which it will becomes ossified. For Neptune, it could be as simple as “The expectation is that the Neptune consensus rules will not change after Dec 31, 2025 when the founding company is dissolved. The Neptune developers will not consider any consensus changes made after that time to be Neptune, and would strongly encourage the community to reject any and all changes. The neptune consensus rules as of Dec 31, 2025 IS Neptune. Nothing else. Ever.”.

When I made the OP I was thinking more in terms of defining metrics of stability, security, privacy, etc, etc. But that gets complicated super fast and I rather prefer the simplicity, concreteness, and predictability of a statement like the above. Kind of a Mic drop. And it goes together very nicely with the promise to dissolve the company at a specific date, which I really dig by the way, bravo!

But it could certainly be a weaker version as well, such as some sort of community decision/vote, that might help early adopters feel more empowered. Administering such then becomes the challenge.

There are other ways to approach the changeover as well. I think the important thing is that it should be as clearly defined as possible, so it is easy for community members to tell if the pledge is being kept or not, and so that people understand what they are buying into.

Something I’m a bit torn on is the relative importance of a formal protocol specification. It seems that in an ideal world, the entire consensus protocol would be run through something like Isabelle/HOL or perhaps a SNARK to verify correctness and validate conforming implementations. But I’m unsure of the feasibility of that. A lesser, but still useful step would be a formally written spec. Related would be a comprehensive test suite. And of course the last option would be the code implementation itself as of “ossification day”. Now, it can be strongly argued that once the code is ossified, any kind of formal spec is redundant at best, and might be in conflict at worst. But then without it, are we tied to a single implementation, or how do we most clearly define the consensus rules that are ossified?

This was more long-winded than intended. whoops. ;-)


danda    2023-10-09 👍 👎 [op]

oh, and one more consideration.

Things like address serializations and bip32 style derivation paths are not part of the consensus rules. Yet when we think about storing money across long periods of time, it is important that software 50 years from now when Joe dies can read the address Joe made today, so that Joe’s children can have their inheritance.

Well, only 10 years have passed since I first was using bitcoin and there have been several types of addresses and even more bip32-esque path schemes, multisig schemes, and many wallet implementations going by the wayside. It can be challenging even for a developer like myself to regain access to old funds.

So that’s a bit tricky because it is nice and clean to say “the consensus rules” are ossified but everything else at the wallet level can continue to innovate. But a few years later Grandma “upgrades” her phone and now she can’t access her funds….

I don’t pretend to know the right answer about this. open to ideas….


i2pZ7812HTZV69    2023-11-08 👍 👎

just have a small tail emission and get rid of all pre-mines ICO coins and let market decide and protocol will last for long