The Internet Computer’s Evolution From Copper to Sodium

DFINITY
The Internet Computer Review
6 min readSep 24, 2020

--

If each of the network’s prior releases rebuilt earlier eras of computing in decentralized form, Sodium represents the future.

“The Network Nervous System (NNS) now means the Internet Computer is feature complete. It represents a seminal moment in the history of the internet. For the first time, internet services will be governed in a completely independent, decentralized manner. It is the technical solution to the systemic problems Big Tech has created with its monopoly over the internet, a public utility that should be completely open — bringing back the concept of the programmable web. The NNS is the catalyst for the open internet we were promised in the 1990s, and it ensures that the future of the internet remains open and free.”
Dominic Williams, DFINITY Founder and Chief Scientist

With the coming release of Sodium at a special event on Sept. 30, the Internet Computer is fast approaching its public launch later this year. By running an advanced blockchain computer protocol across a network of independent data centers, the DFINITY Foundation has created the world’s first web-speed, internet-scale public blockchain, which enables canister smart contracts to securely serve interactive web content directly into the browsers of end users.

The DFINITY Foundation initiated the Internet Computer launch series during SF Blockchain Week last November, when the Copper release introduced the DFINITY Canister SDK and Motoko programming language to the public. This was followed by our release of the Bronze demonstration network at the World Economic Forum in Davos earlier this year, and then by the release of the Tungsten Developer Network in June, which welcomed third-party developers to the Internet Computer for the first time.

Each of these prior releases can be seen as phases of rebuilding earlier eras of computing in decentralized form — terminal-based (Copper), desktop web (Bronze), and mobile (Tungsten).

Sodium, the fourth of five milestones, represents the future, introducing the open algorithmic governance system that will manage the network. Presentations will explore breakthroughs in cryptography, DeFi, and the token economics behind the Internet Computer.

To appreciate how far we’ve come, here’s a look at how we got to this point…

COPPER

Copper introduced the first public version of the DFINITY Canister SDK (V0.3.0) as well as Motoko, a new programming language that was optimized for creating tamper-proof software and open internet services for the Internet Computer using WebAssembly (Wasm). These tools equipped developers to:

  • Author canisters in Motoko and compile to Wasm.
  • Run a local instance or “node” of the Internet Computer — known as a replica — on their laptop.
  • Deploy compiled programs as standalone canisters.
  • Interact with the canisters using a command-line interface.

Developers could now begin building terminal-based apps. By downloading the SDK and creating a new project, they could access a template “Hello, World” program for constructing canisters in Motoko.

By design, Motoko helps developers write safer and more efficient code, compiles quickly, and communicates with Wasm modules written in other languages. It also enables developers to write sequential code even though Internet Computer canisters — code compiled into a Wasm module and ready to deploy onto the Internet Computer network — communicate with each other asynchronously.

A few key features of Motoko include:

  • Native support for software canisters, which are expressed as actors — autonomous objects that encapsulate their state;
  • The use of async and await syntax to enable asynchronous messaging as if it was synchronous processing; and…
  • Orthogonal persistence, which eliminates the need to maintain and manage external databases or storage volumes.

Using Motoko makes it easier to quickly develop applications on the Internet Computer, but it isn’t the only language developers can use. The Internet Computer uses a Wasm execution environment, meaning that any language that can be compiled to Wasm, such as Rust, can be run on the Internet Computer.

BRONZE

Unveiled at the World Economic Forum in Davos, Bronze demonstrated an example of a new class of open internet services that can be powered by the Internet Computer — in this case, a social network for professional profiles called LinkedUp (an open version of LinkedIn) that runs on the Internet Computer.

Bronze allowed the Internet Computer to jump from a terminal-based stage to desktop web app development:

  • Instead of one node running on a laptop, Bronze has a network of servers in an independent data center in Switzerland running full consensus and P2P/transport layers. In the design of our Bronze network, we ensured that apps built on the Internet Computer would provide a user experience comparable to centralized providers. We clocked 18-millisecond reads and two-second writes from and to the Internet Computer.
  • Instead of terminal-based apps, canisters built with Bronze store their own front-end, meaning apps can store their state, backend logic, and front-end directly in a canister. Indeed, we built a web app with modern JavaScript. This represents a new and drastically simplified way of building apps for developers, and the beginning of a paradigm shift that we aim to usher in through the Internet Computer.
  • Instead of canisters that can only be called from the terminal, canisters in Bronze can send messages to each other, exposing to developers the patterns for inter-canister messaging. This means that one canister can simply call, import, and access the methods of another canister — the first step toward building open and autonomous software.

TUNGSTEN

The release of Tungsten established that the Internet Computer is now running across multiple data centers worldwide and open to third-party developers who are building innovative applications and enterprise systems using the network’s expanding range of developer tools.

The Tungsten launch event provided a showcase of the Internet Computer blockchain. The presentations included a technical overview of the Internet Computer, demos in Motoko and Rust, and discussions about how decentralized computing architectures represent the next major stage of computer technology, making possible services and applications that create new engines of innovation free from platform risk.

DFINITY also demonstrated CanCan — an open version of TikTok that operates across distributed data centers, enabling it to quickly scale storage as needed — at the Tungsten launch event. CanCan was built with less than 1,000 lines of code to highlight the simplicity of building on the Internet Computer.

Tungsten represented the Internet Computer’s jump from desktop web app to mobile development, and challenged conventional assumptions about blockchain computers. The fact that CanCan is running on the Internet Computer across multiple data centers marks the Internet Computer as a new type of blockchain computer with infinite capacity and performance that rivals the traditional cloud.

SODIUM

Sodium unveils the Network Nervous System (NNS), an open algorithmic governance system that controls the Internet Computer. The NNS oversees participation in the network, and is responsible for inducting and rewarding data centers. The Sodium launch event will detail how the NNS manages the token economics behind the Internet Computer and explain how ICP tokens will be used for “cycles” and governance.

Cycles fuel the running of software canisters on the network. Software operators worldwide must acquire ICP tokens and burn them to create cycles, which also disappear when used as fuel for computation. ICP tokens will be purchased on financial markets in order to create cycles. As they are burned, their supply will fall.

ICP tokens can also be used to participate in governance. It will be possible to lock ICP tokens within the NNS to create “neurons” that allow you to vote on proposals that affect the network’s operation. The NNS generates new ICP tokens to reward nodes that are being run by data centers and neurons that are voting within the NNS. Sodium will show how these dynamics will create a stable store of value within the ecosystem for DeFi, which has been a major challenge besetting the emerging sector.

The Sodium event will also feature presentations and demos that detail the advanced cryptography and consensus algorithms of the Internet Computer, the building of open internet services to operate as autonomous software with tokenized governance, how software canisters are an evolution of smart contracts, and much more.

We invite you to come see what’s possible…

Register for access to the Internet Computer’s Sodium Developer Network at dfinity.org/sodium.

Join our developer community and start building at forum.dfinity.org.

--

--

DFINITY
The Internet Computer Review

The Internet Computer is a revolutionary blockchain that hosts unlimited data and computation on-chain. Build scalable Web3 dapps, DeFi, games, and more.