Unboxing the blockchain – the Shelley testnet making its network debut
After a successful test run in London, the networked testnet is now available to the community
26 September 2019 Tim Harrison 5 mins read
Last week, a team from IOHK, along with Cardano ambassadors and representatives from the Cardano Foundation, met up at a co-working space in London. After a quick presentation, laptops were switched on and a few Rock Pi computers were booted up. An hour later, we had them all connected in a peer-to-peer network of nodes. It was the first instance of the new networked Shelley testnet, available for the community to join as of today.
A recent post about the Shelley testnet covered the journey from the self-node phase of the testnet until now. This new phase is the first decentralized implementation of the Ouroboros Genesis consensus algorithm. While it’s still early days, this is an important milestone for the Shelley era of Cardano.
The networked testnet phase allows IOHK – and more importantly, the community – to test the behavior of an Ouroboros-based decentralized network before making changes to mainnet. The current Cardano mainnet operates on a federated model, with all nodes in the network controlled by either the Cardano Foundation, IOHK, or EMURGO. As a project, the ultimate goal is complete decentralization, with the majority of nodes run by the community. Not only does that goal pose an engineering challenge, but the change must be sustainable for the network to flourish in the long term, so it has to be achieved in an incremental way.
After less than a year of development, debugging, and troubleshooting, the project is close to realizing complete network decentralization – but it can’t happen all at once. Steps are being taken to ensure this is done correctly. The 'private' network we initially set up in London allowed us to see the networked testnet operating in real-time, and to capture crucial information about its behavior in a live context.
This network is being built for the real world, but the real world is unpredictable. By testing the network capabilities in different scenarios, it’s possible to learn more and account for a broader set of variables. To derive understanding from real-world scenarios, wider community participation is required.
That’s where you come in. With the release of the networked testnet, we're inviting the community to help Cardano take things to the next level by running your own nodes and participating in the network. We encourage everyone to take part, and to help, we've made documentation and instructions available to you.
We've already seen a brilliant response from the community during the self-node phase of the testnet. From today, we are inviting anyone who is interested to download and install the latest version of the testnet node and connect to the networked testnet.
We want to collect performance data in all circumstances and multiple use cases. So try to run a node from your local coffee shop, see if it works with their proxy. Try it from the free hotel Wi-Fi. Check out how it reacts with the firewall. All this ‘real world’ data is useful and the more communication we get from our community, the better. We are not expecting full stability at this point; by putting the network through its paces, we can get there, faster.
The Cardano ecosystem is built to be a community-focused decentralized network. As Shelley approaches, the ambassadors and supporters are integral to working through upcoming challenges, alongside technical support from the IOHK team. We expect instability in any testnet. There will be outages and lag in the network at the beginning, but that is inherent to all new platforms. With every iteration, we lay a stronger foundation for the future.
There will continue to be regular updates in the Jörmungandr GitHub repository, where you can download the latest release of the testnet code. This codebase will be iterated on and improved over time based on bug reports and user feedback, with the goal of making the network as robust as possible before we move towards phase three of the rollout later this year: the incentivized testnet.
We’ll be keeping a close eye on how the network behaves over the next few days. The focus, for now, is on stabilization, so you can expect to see some ups and downs. Please make sure you continue to log issues in the dedicated GitHub repository and we’ll get to them. As this phase progresses, we’ll start sharing further documentation and content which will walk you through more advanced functionality, and set some tasks you can experiment with.
Launching the first private decentralized testnet was like rolling a small snowball down a mountain. It’s only going to get bigger from here. Cardano is growing, picking up speed, and moving closer to IOHK’s vision of a decentralized future. We want you to become a part of that growth. Click here to launch your own node and join us.
Plutus and Marlowe in the spotlight at WyoHackathon 2019
Plutus and Marlowe, IOHK's smart contract programming languages, will have their next generations released at the 2019 WyoHackathon
20 September 2019 Eric Czuleger 4 mins read
The Cardano network was engineered to be the best possible foundation for the future of decentralized technology – but a foundation is only as good as what can be built upon it. Smart contracts are one of the most powerful ways a distributed network can generate value, allowing individuals and organizations to agree to conditions and automatically execute exchanges of information and wealth, all in a trustless way without relying on third parties. But smart contracts are still code, which means that the languages and tools they’re written with make a difference to their final level of security, efficiency, and reliability.
That said, understanding the potential of smart contracts is different from realizing their integration and adoption. Existing smart contract languages provide the basis for a solution, but are not the final answer. Current smart contracts are complex and difficult to program, partly because they’re built with languages created at the emergence of distributed technologies, and are vulnerable to malicious actors. Blockchain technology has changed drastically since it first emerged, and the conditions that underpinned the first languages are no longer true. The first answer to a problem is rarely the best, and any enterprise-focused solution cannot be gated by complexity or threaten network security.
Bringing functional programming to smart contracts with Plutus
We’re big fans of functional programming here at IOHK and are proud to be able to say that the code underpinning the Cardano network is written in Haskell, the world’s foremost functional programming language. Plutus is no different. Compared to their object-oriented counterparts, functional programming languages are less prone to ambiguity and human error – always a good thing – as well as being easier to verify and test. By using Plutus to write smart contracts on the Cardano network, developers benefit from all of the above, as well as the ability to use the same language for both on and off-chain code.
While developers will have to wait for the Goguen era to launch smart contracts on the Cardano network, they can begin testing their smart contract skills in the Plutus Playground. IOHK has also created a Plutus ebook and Udemy course to help developers hit the ground running once Plutus is available on the Cardano mainnet.
And bringing Plutus to everyone with Marlowe
The problem with smart contracts, however, is that sometimes the people who know how to write the code don’t have the industry expertise to know how to structure the contracts themselves. Enter Marlowe, IOHK’s domain-specific language (DSL). Marlowe is designed for use by anyone that wants to write a financial smart contract without the programming skills to implement it. Users can try out Marlowe via the Marlowe Playground, a web utility with a user-friendly GUI and drag and drop components, where they can create financial smart contracts which, when complete, will generate fully-functional, implementation-ready Plutus code.
Marlowe gives anyone the ability to gain familiarity with smart contracts while protecting them from unexpected outcomes. It also protects the developer and the system by ensuring that ill-formed smart contracts cannot be run. Finally, Marlowe focuses on commitment-of-funds and time-outs. These make certain that both parties have dedicated funds in the agreement while ensuring that money will not be left in the system after a contract has concluded.
Laying solid foundations
Plutus, Marlowe, and the Cardano ecosystem continue to evolve to provide the safest and most efficient conditions to build decentralized applications. The next generations of Plutus and Marlowe will be announced at the WyoHackathon at the University of Wyoming on September 20, ahead of their release on mainnet at the start of the Goguen era. Marlowe advances include a high-fidelity development system that aids the writing of executable contracts and the new iteration of Plutus will allow users to access their contracts from web or mobile applications. To get the latest news from the event, you can follow the WyoHackathon’s Twitter feed.
At IOHK, we're focused on creating the safest, most efficient platform for the building of decentralized applications. Plutus and Marlowe will be the first building blocks to be placed on the foundation which is the Cardano network – and they won't be the last. With this new suite of accessible, inclusive tools, Cardano becomes more capable of serving the diverse audiences that stand to benefit from a secure, decentralized network platform.
Artwork, Stephen Walker
The state of Wyoming is famous for being part of the American frontier, but it has also established a new reputation, with blockchain pioneers blazing trails in the Cowboy State. But why Wyoming?
The blockchain revolution in Wyoming is the result of a series of laws and regulations passed within its borders. These key pieces of legislation include exemptions from money transmitting laws for virtual assets, as well as a blockchain ‘sandbox’ bill that would allow decentralized businesses to operate free from the red tape encountered elsewhere in the US. The state is also home to the Wyoming Blockchain Coalition, headed by former Wall Street corporate financier Caitlin Long, which has worked to make Wyoming the standard-bearer of blockchain in the country.
In 2018, IOHK relocated its headquarters to Wyoming to take advantage of the state’s legislative embracing of distributed ledger technology, making it the biggest decentralized company in the state. As a result, IOHK has become a nexus for developers, crypto enthusiasts, businesses, and government officials in the area. Events like the 2019 WyoHackathon bring these groups together to advance the cutting edge of blockchain innovation.
‘We’re thrilled to welcome the Cardano community to this special event in IOHK’s home state,’ says Caitlin Long. The event has also inspired a group of high school students from a remote part of Wyoming to make the journey to participate in the hackathon and meet IOHK CEO, Charles Hoskinson. ‘There is something special building between the University of Wyoming computer science department and Cardano!’ she adds.
The hackathon will see hundreds of developers participating in workshops, presenting papers, and acquainting themselves with new technology. Charles Hoskinson and Cardano’s senior product manager David Esser will be among the speakers at the event, alongside prominent leaders in the blockchain industry such as Jesse Powell of Kraken and Anthony Pompliano of Morgan Creek Digital. September marks the second anniversary of the Cardano project and is a milestone for IOHK, with several major advances to Cardano being delivered. Plutus engineers Jann Müller and Michael Peyton Jones will be at the event to explain how work on Cardano is progressing to create the ideal environment for smart contract development and execution.
Last but certainly not least, the next iteration of the Plutus framework will be released during the hackathon. Plutus is a functional programming language and smart contract platform that allows developers of all kinds to launch smart contracts on the Cardano network. While Ethereum paved the way for programmable blockchains, it also has some significant barriers to entry. IOHK aims to bring greater scalability, sustainability, and interoperability to the crypto sphere by allowing anyone to build on a distributed ledger. Ultimately, it is developers that will build the businesses which will solve local and international problems. Plutus was created to enable those developers, and is supported by an IOHK-created [programming book](https://www.amazon.com/Plutus-Writing-reliable-smart-contracts-ebook/dp/B07V46LWTW "Plutus ebook on Amazon, amazon.com").
Both Wyoming and IOHK have aligned their interests in supporting the next generation of thinkers in distributed ledger technology. Events like the hackathon help to inspire and elevate those who will build the decentralized infrastructure of the future. We hope that the 2019 WyoHackathon will be another pioneering step on the road towards better, more comprehensive adoption and use of both blockchain and crypto technology.
To find out more, check out the [WyoHackathon 2019 website](https://wyohackathon.io/ "WyoHackathon 2019 website, wyohackathon.io").
Taking the next step on the road to Cardano Shelley
Networking coming to Jörmungandr testnet in September, paving the way for stake delegation and real ada incentives later this year. Piece written in collaboration with Eric Czuleger and Tim Harrison.
6 September 2019 Nicolas Di Prima 4 mins read
Imagine a blockchain that can connect the world, yet doesn’t need to consume the same amount of energy as Denmark. A currency where the bookkeepers are also the users. A cryptocurrency that is truly decentralized. Jörmungandr is not only a big mean serpent, but also the serpent that in ancient myth holds the waters of the world together. It is global, and it surrounds the earth and every one of its inhabitants. Similarly, the Shelley testnet program and its Rust node (codenamed Jörmungandr) has been designed to connect people from all around the world.
In June, we delivered the first testnet build of Jörmungandr. This ‘self-node’ phase was focused on the single instance implementation, to refine the codebase and ensure that it was robust. It was important to get non-network functionality right before starting the next phase, but we also wanted to provide some of the core network protocols in that early code (hence calling it ‘blockchain in a box’). We’ve had some excellent support from the community, especially the folks on the Stakepool Telegram channel. Every piece of feedback has helped us improve the protocol, the ledger, and the node itself.
It was also a good opportunity for people to test and experiment with the interfaces and the software development kit (SDK). We released the first version at the end of last month and thanks to your feedback and contribution, it is continuously being improved, adding in more features than ever. We will soon be adding new working examples to showcase what can be done with the SDK. We believe these can provide important starting points for great community-driven projects.
Joining up the network
As Charles outlined in his recent AMA, we will soon enter Phase 2 of the testnet rollout: network implementation. Now that the node is more stable, we can challenge the network stack to see how it holds up and check how our predictions on its behavior measure up. And that means more experimentation with the community, with you.
Throughout this testnet program, the approach has been steady and methodical. Similarly, networking rollout will start gradually, working closely with the stake pool task force to identify and address any initial bugs or code irregularities. Meanwhile, we’ll be creating some documentation to help everyone get involved. As ever, you’ll be able to track our progress via GitHub and download early code if you'd like. Once we have established a network of nodes stable enough for open experimentation, we’ll encourage everyone to join in.
Again, the goal here is to test and iterate until we are confident we have a stable network. Your support and feedback during this process will be invaluable – whether you are there from the beginning or choose to join the network phase later on.
Adding incentives to the testnet
When Phase 2 is complete, we will have a stable network: a decentralized testnet platform running across multiple nodes. Then we will commence the third and final phase, the incentivized testnet.
In reality, this is more than a testnet. Instead, it will effectively be a replica of the Cardano mainnet. We will take a UTXO snapshot of the mainnet state and migrate it to the testnet, offering Shelley era functionality within a controlled, sandboxed environment. This will be different from a typical testnet, however, since it will offer real rewards for delegating your ada stake. Jörmungandr will be decentralized, and users will be able to create stake pools or delegate their stake to a stake pool and collect their rewards. We’ll be sure to bring you further details of how this will all work a little further down the line.
Once we are happy the protocol is stable enough to survive the harsh competition of the real world, we will merge the incentivized testnet rewards back into the Cardano mainnet. All the rewards generated during the Jörmungandr incentivized testnet will become real, live, spendable ada on the Cardano mainnet (so don't lose the mnemonics of your stake keys!). Doing it this way will give us a realistic test of how the incentives model drives stakeholder and stake pool behavior, not to mention that stakeholders will be able to start getting rewards for holding their ada.
Cardano has a very exciting few months ahead – we’re looking forward to you joining us on the journey.
If you are interested in running a stake pool and would like to get the very latest news on the testnet program, you can sign up for our weekly report newsletter by visiting the form here. Or just visit the Cardano Forum where you’ll find progress updates every week.