Custom Network / Crypto Thought Purge


About a week and a half ago I wrote about what I think the perfect crypto platform would be. I mentioned a few projects I like that come close in some aspects. Then a few days ago I wrote about Nimiq to give more detail. Then I talked about Xaya. Next I mostly ranted about Nano. Then came my clueless evaluation of EOS. IOTA was next. All that leaves from my list is Hive. Before I jump into the front runner I thought I'd talk about what a custom solution would entail.

A Little Introduction

Since I already explained, more or less, what I thought a platform needs and what I think the negatives to most of the current solutions are, I'm going to mostly talk about how I would go about building the network and the concepts/design I would try to implement. Then probably explain why I'm not going to do it.

Lets start with some thoughts and ideas. Keep in mind that is all this is. My technically knowledge is most likely lacking in areas, my terminology is always weak, and some things I say may not even make sense to people that know more than I do.

In terms of what already exists, I think a distributed consensus where everyone using the network is a participating node, like in Nimiq, but with a feeless DAG network like Nano/Iota would be an ideal starting point. I also think it would be cool to have many node types that serve specific purposes. Some node types would require more voluntary resource usage while others would be minimal and usable from just about anywhere. For example, if you dedicate hard drive space to the network, you'll be participating in that consensus. But if you're visiting a web site that sets up a node in your browser it may just be participating in a small verification for logins or something similar.

Before I get too technical, I've had some other high level thoughts. They range from simple arbitrary type things to global economic things.

Political/Economical Drivil

I do not like politics. Really do not like economics either. So hopefully I can describe this in a way that is not controversial. In terms of capitalism and communism, lets just say that capitalistic people want gains and believe people should earn what they have. Communistic people want equality in all ways, no matter how hard you work, but also no matter your station in life. I think it is pretty clear historically communism has failed often due to the human element. It inevitably becomes more of an authoritarian rule system where those making the decisions keep themselves above the rest of the people. There are many arguments against the ideas of communism. For example, I am sure everyone has been given the analogy of an authority figure coming and taking half your hard earned earnings to give to the person down the street that didn't work at all. Meanwhile with capitalism you get these inspiring stories of someone with nothing building a multimillion dollar business with hard work! There are opportunities but what they don't really like to advertise as much is the fact that many people are handed advantages for which they did not work. Some people just have way more opportunity than others.

Basically every existing cryptocurrency is heavily built upon capitalistic ideas. It is kind of awesome the opportunity it has provided people that were willing to risk or lucky enough to be in the right place, but ultimately if you have money already, you have major advantages in this space. It has basically become the stock market at this point only more volatile. A wealthy person can easily control smaller coins or economies and make huge gains while poor people have to either be an extremely early adopter or risk their savings just to try to get a little ahead.

So where am I going with this?

It seems to me, cryptocurrency has a real opportunity to implement a global communist-like economy that cannot be corrupted by humans. Even at the simplest level, a universal basic income idea could be implemented. Something that sets up a self balancing distribution of the currency to target a minimal amount of savings per user, seems completely doable. It also defeats the idea that in order for someone else to get the money they have to take something from the other person since it'll just be generated from the system.

The currency cannot have a maximum. I realize there are economical reasons most currencies have a maximum and do not just get distributed across users equally. Specifically the problem of inflation. If we're just handing the currency out daily to everyone at scale, how is it going to be worth anything? Basic supply and demand. Especially if the currency hasn't hit mass adoption.

However, limiting the currency is not the only way to stop infinite inflation. Really all you have to do is build in burning mechanisms. If you can burn as much as you distribute then the value of the currency will be stable.

Seems like all this could be achieved using simple math that self balances across the system.

Of course, people are never just going to be equal all the time and I don't think it should be pushed that far. But giving everyone an equal foundational platform seems like a good idea. Those without aspirations could still live their life. Others that want more and want to work can still do so as well. The system doesn't need to help those as much though.

I'm going to stop rambling about the economical ideas now... if this were to make it in the system, there would need to be some serious design sessions.

More Fun Stuff

A more fun idea, less important, is user names. Most blockchains give you ridiculously long keys to save. This is important and really don't see this changing. Even here on Hive we may have a simple username but we also have all those keys that make us secure. There are a few systems that have usernames. I think it would be cool to have a triple username. I've always disliked trying to sign up somewhere only to realize my username is taken. When I played Guild Wars for the first time they had you create a first and last name for your character. This was pretty cool to me. It made it feel more real. Instead of trying to think of a witty username, you had more option. Sure names can still be taken, but it is much less likely. And you could also mix things up a bit if needed to still get a similar name. So if there are 3 names, first, middle, last, then you have even better chances to get what you want or some variation. Without having to put a bunch of numbers on it.

Built in messaging. Given that it is essentially a network at its core, it should be pretty easy to build a messaging system into the network. It would basically turn the network into an instant messaging service as well. It wouldn't need to take the place of Discord, Telegram, etc... but it would be cool to be able to directly contact someone via username. This would probably need more work than I'd imagine. To keep spam out mostly.

Lets Get Technical

Alright alright. Enough theorizing and brainstorming. How would things get built? To be honest, if I knew the answer to that I'd probably have already done it, or made significant progress on it.

I understand a decent amount of how blockchains, DAGs, and crypto in general works. Probably more than most. But that's not saying much considering most people have no clue how they work! 😅 I have built a few basic projects based on tutorials. I've jumped into the code a bit on some existing projects. I've also done a fair amount of work on network design in other contexts. But a project like this would be a massive undertaking. I do not have the expertise to build the security needed for sure. There are also many other aspects that I'm not exactly an expert with. I'm kind of a 'jack of all trades' software engineer. I have a basic foundation in a lot of areas and can learn as I go for the most part. But I struggle in some areas.

The only part I've really worked on is a self proliferating socket based network that I intended to be a portable basis for the network itself, which I didn't really get working very well.

Then I was going to build the crypto system itself. I was going to use either nano or iota as the basis for the core consensus mechanism, because the network would be structured more like a DAG than a blockchain. Knotted threads is what I was calling it.

On top of this I was planning to implement a p2p torrent-like system for sharing resources. And this was going to be the first part of the system. Ideally, the more you share the higher your rewards would be. I think BTT does something similar, but not sure. But the idea would be to use this as a way to truly decentralize what we currently use servers for. Ideally, we could even distribute a node's resources. So instead of a single node downloading GBs of data, maybe 100 nodes will act as a single node and have MBs of data. Making it possible to have consensus participating nodes that fit on mobile phones or other small devices. Of course you could dedicate as much resources as you can spare, so full nodes could still exist. But instead of having more power on the network, they'd just get compensated more from the currency rewards.

There would obviously need to be a whole lot more than this, but aside from the theoretical and this small bit of technical ideas, I didn't get much further. I clearly still think a lot about it though. I just think it really is possible to build an all encompassing system that could solve a lot of problems all at once. It could be a decentralized internet, making servers obsolete. It could be a stable world-wide income for everyone to not have to worry about essentials anymore. It could also provide a more equal opportunity for everyone to build something bigger.

It could also just be nonsense. And it is an insurmountable amount of work either way.

Okay Then, Now What?

With all that said, I highly doubt I'll be working on this. I think when someone asked I said there was a 70% chance I'd build on Hive, 20% custom, 10% Iota. I may have given custom a higher chance than it really has. I really would love to do it. But it is just unlikely at this point. A lot of my ideas may not be completely feasible. The amount of work involved would require a team of more than just me and given the landscape of the space, it is still unlikely to gain a lot of traction. Even if it was built and working well.

It would be cool to develop some world changing tech that lives on for a long time and enriches the lives of billions of people but... in the end I just want to build cool stuff. This is why I will most likely be doing anything I do on top of Hive. Which I'll probably be writing about tomorrow.

I have a few ideas for NFT based platforms and of course I've mentioned the game I'm trying to build. It may not be as noble as providing a basic income to millions of people but it is much more feasible. Perhaps I could even one day implement some of my ideas as a second layer to Hive. Maybe. I don't know. I still have plenty to learn before I really do anything.