Forking is Freedom

Matthew Campbell
Loom Network
Published in
7 min readDec 21, 2017

--

What do blockchains, video games, and operating systems have in common?

When the creators of a video game change the rules of the game, the users usually can’t do anything about it. But in Ultima Online, the users decided to take it into their own hands and created their own game server. When Android set out to make a new operating system, they didn’t start from scratch, they forked Linux. Bitcoin has a large number of followers, but the community couldn’t agree on how to scale transactions, so groups like Bitcoin Cash have sprung up to add new features that the core community didn’t agree with.

Forking is the fundamental mechanism that allows users to break free from tyranny and start their own community. Forking is when a group disagrees with the centralized control structure and decides to break off and go their own way.

Whenever something is controlled by a single entity, the centralization of power ultimately hurts the users.

Ethereum creator Vitalik Buterin cried himself to sleep the night “World of Warcraft” maker Blizzard Entertainment altered his “beloved warlock’s Siphon Life spell.” After that he realized the horrors of centralized services and decided to quit.

Famous Forks

Asheron’s Call

Final moment of Asheron’s Call

Asheron’s Call was a long running online RPG, and it closed its doors in early 2017. The game lasted for over 12 years, and at the end, there was still a strong community.

When the studio forcefully shut the game down, a group got together and started to record all the game packets. They captured over 131 million packets containing over 224 million total game messages. They had to painstakingly recreate the game server from this data. Its like trying to recreate the ancient Egyptian language from just the writing on walls.

If this was run on the blockchain, the community could have forked the data, and as long as the community still existed the game would still exist.

The community captured over 131 million packets containing over 224 million total game messages to recreate the game.

Ultima Online

Dread Lord — Ultima Online

Ultima Online is an online multi-player RPG (MMORPG) that’s still running from 1998. In the early days, they had Dread Lords, which were evil characters that terrorized normal players when you left towns.

Over time, they changed the game play aspects to gimp this, and players revolted and created their own legacy “shards”, or forks, of the game world.

However, since they had no access to the game server, just like with Asheron’s Call, they had to rebuild the entire game server from scratch. Luckily, they were able to reuse the client and game assets.

Linux

Linux has been forked more times than anything else imaginable. Even Android started out as a fork of linux. Linus Torvalds is the ultimate arbiter of the main linux chain, but there is nothing stopping Redhat having their own, or Ubuntu. This gives freedom to their users to continue running code for old outdated computers, or in the case of Android add experimental features that couldn’t come into the mainline.

Bitcoin

Bitcoin Fork

Bitcoin forks like Bitcoin Cash and Bitcoin Segwit2x are a clear indication there is not a strong consensus among the core players in the Bitcoin world. I think it’s extremely healthy for these forks to exist, as they allow new features to be experimented on within smaller environments, and they make it so a small group can’t just control the future of the blockchain.

Game Economies

One of the biggest problems with games is that game assets, such as gold, armor, and rare items are not fixed in supply. Even when they are rare, code changes and bugs could alter this rarity at any moment.

In Diablo 2 there was a valuable item called a “Stone of Jordan” that was used as currency because it was rare. However, someone found an item duplication bug and created tons of them. Developers can also simply change the algorithm that creates these items, and markets can be destroyed in moments.

The solution to this is running on a blockchain that can be forked. If there was a bug that changed the supply of Bitcoin, a fork would fix it as long as the community agrees. If the developers of Bitcoin wanted to mint more Bitcoins tomorrow, they would have to convince every single node to run their new software.

Furthermore, by putting these assets on a blockchain, we could track all the items in a game and allow them to be traded on ‘exchanges’ independent of the original authors of the game.

Right now the coins we get in games can be diluted forever. The armor we spent hours working to get, can be taken in a moment. Censorship happens frequently when it is run by a single company. If it becomes more profitable for them to mint new items, they will do it.

We need to put the power back into the hands of the users.

Anatomy of a Fork

Let’s start with a game. What elements are included in a fork?

  1. Game client
  2. Client visual assets, like artwork
  3. Client/Server Protocol
  4. Server Code
  5. Database of users and characters
  6. Collectible items: swords, shields, magic, etc.

When any of these is closed source, the users of the application have to rebuild the whole thing from scratch. Sometimes this is impossible.

One really extreme example of this was the Nintendo Satellaview games. Where they literally streamed video games over a Satellite and downloaded them to the memory of a cartridge. You could only play the game for 30 minutes, and then it was just lost to time.

Luckily, someone made a video of some of the playthroughs so others could recode the games. There were unique Legend of Zelda games that were just lost to the passage of time.

Depending on how motivated people are, they will recreate one or many more of the pieces listed above.

In the future we can compel game creators to store all of these assets on a blockchain for longevity.

Blockchain Games

Why the Blockchain Solves These Problems

Recently, CryptoKitties introduced unique items on Ethereum blockchain called ERC721 tokens. These tokens are unique and can’t be duplicated. Users can fork the blockchain and create their own copy. The full state of the game is inspectable for users to build add-ons for the game.

As another example, if we look at the Steemit blockchain, it’s basically a reddit clone that runs on top of a blockchain. Anyone can clone the entire blockchain with all the comments and posts in it, and then build interesting applications on top of it. No wonder there are more Steemit add-ons than other blockchain, despite being less popular.

What if we could make a copy of an entire game database in a game like World of Warcraft? We could build new quests. We could build guild management tools. We could nerd out for a decade customizing and growing the game, more than the original author ever could have imagined.

However, this is still not without issues. How can we possibly keep game assets that are in the 10s of gigabytes on the blockchain? Would it be with IPFS, BitTorrent, or would we just accept centralized solutions and store the hashes on the blockchain? We will explore this more in our future articles.

Conclusion

We have seen so many examples of companies abandoning their products when they stop being profitable, or sometimes they change the dynamics of how the game works to appease certain people. In the future, games will run on top of the blockchain, so users can experience the same kind of freedom as those who use Linux.

What will that look like? Will we store all the collectible items on Ethereum, or on sidechains? Can we possibly run a MMORPG on the blockchain? Future entries in this series of articles will explore the details of how that will work.

About the Author:

Matthew Campbell is the CEO of a blockchain startup called Loom Network, which is providing a way for people to build scalable sidechains for deploying Ethereum DApps. He is the author of a book called “Microservices in Go”, and has spoken at over 20 international conferences, including GothamGO, Hashicorp Conf, JS Conf, GO India, UK GOlang, MicroXchng, Prometheus Conf. You can see some videos of his previous talks on YouTube. In the past, he worked at Digital Ocean, Thomson Reuters, Bloomberg, Gucci, and Cartoon Network.

Loom Network is the blockchain platform of choice for serious dapp developers — the Universal Layer 2 that provides developers the tools they need to build functional user-facing dapps today.

New to Loom? Start here.

Want to stake your LOOM tokens and help secure Loom Network? Find out how.

Like what we’re doing here? Stay in the loop by signing up for our private mailing list.

--

--

Matthew Campbell
Loom Network

Cofounder https://loomx.io build scalable blockchain games and social apps on the Loom SDK.