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

Plutus and Marlowe in the spotlight at WyoHackathon 2019

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

IOHK brings Plutus to Wyoming's hackathon

Cardano engineers introduce next phase of the smart contract platform to the Cowboy State

12 September 2019 Eric Czuleger 3 mins read

IOHK brings Plutus to Wyoming's hackathon

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

Taking the next step on the road to Cardano Shelley

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. 

Secure smart contracts with the Plutus ebook

Q&A with the IOHK Education team authors

31 July 2019 Alejandro Garcia 6 mins read

Secure smart contracts with the Plutus ebook

The IOHK education team this month released the first edition of their new Plutus ebook: Plutus: Writing reliable smart contracts. Available on Amazon and LeanPub, it's a comprehensive introductory guide to Plutus, IOHK's Haskell-based smart contract language. Haskell is a functional programming language, which means it's easier to test and less prone to human error, so anything written in Haskell -- and by extension Plutus -- is more likely to be reliable and secure. Plutus can also be used for both on and off-chain code, simplifying the development experience and eliminating errors commonly introduced in the transition between languages on and off-chain.

The new Plutus ebook covers everything from how smart contracts interact with the blockchain down to working code examples with line-by-line explanations. I spoke to Lars Brünjes and Polina Vinogradova, the main authors of the book, for more details about the book and the future plans of the education team.

Please introduce yourselves!

Lars: I am the director of education at IOHK, which means I run all our educational activities, such as Haskell courses, community videos, workshops, hackathons, books, and internal training. It's a deeply rewarding role: education is an extremely important part of our mission to bring financial services to the three billion people who don't have them. Teaching Haskell to bright young women in Ethiopia and running a Marlowe workshop in Mongolia have been unforgettable experiences for me, and I feel like I'm making a difference.        

Polina: I'm a formal methods software developer at IOHK. I've worked on the formal specifications of the Cardano ledger and the wallet, but I've been doing a lot of education things recently as well. I was the teaching assistant for the Haskell course in Ethiopia, and I'm looking forward to being part of other initiatives. IOHK takes education very seriously, and I've personally reaped the benefits of that when taking internal training courses this year -- I learned a lot about testing and formal specification, and could immediately apply it to my work.

What have you been up to recently?

Polina: As the co-instructor on the Haskell course in Ethiopia, I wrote and delivered several of the lectures. It was a unique experience, and it felt like I was really helping people to change their lives. After that, I took an IOHK internal training course and taught on Marlowe workshops in Mongolia and Israel. I've been writing the Plutus ebook with Lars as well. Last year, I worked on formal methods tasks, the Shelley ledger and the wallet, but because of all the traveling and writing, I haven't had much time to work on those this year.

Lars: I've helped set up the three-month Haskell course for Ethiopian and Ugandan women in Addis Ababa, run a Marlowe workshop in Ulaanbaatar, Mongolia (and rode a camel and fell off a horse in the process) and another workshop in Tel Aviv, Israel. I've been working on the ebook with Polina, as well as developing IOHK's education strategy and working on our incentives research stream, writing Haskell simulations to illustrate and support our theoretical results.

What was the inspiration for the ebook?

Lars: The idea was to make it easier for people interested in writing high-assurance smart contracts to get started with Plutus. We tried to strike a balance between theory and practice, between background information and working code examples, to give interested readers the foundations to get started quickly. At IOHK we already know Plutus is great and we hope the book will help convince everyone else!

Polina: Besides a comprehensive step-by-step explanation of how to write Plutus smart contracts, the book also provides an overview of how accounting works in Cardano, what the benefits, goals, and challenges of smart contracts are, and where smart contracts fit into the Cardano architecture. We wrote -- and will be continuously improving and maintaining -- this book to give readers the tools not only to write the contracts but to come up with creative ways of using them.

Who is the ebook for and what will they learn from it?

Lars: The book is aimed at software developers generally and smart contract developers in particular. Plutus is basically Haskell, so familiarity with Haskell or a willingness to learn the language is important. Plutus has been created as a safer and more secure way of creating smart contracts. So everybody dreaming of writing correct and reliable smart contracts is definitely in the target audience and should have a look at Plutus!

Polina: This is not just a book for developers with Haskell experience. It's also a good read for anyone interested in alternatives to relying on third parties, such as banks or the legal system, to make sure a contract is being adhered to. Plutus offers such an alternative, where trust is instead placed on high assurance, tested and documented code. If this sounds too good to be true, check out the details in the book!

What is your favorite part of the ebook?

Lars: Hard to say -- I think the best aspect is the balance between the book's parts: theory and foundations on the one hand, easy-to-follow code examples on the other.

Polina: I would have to agree about the balance: the book includes both high-level explanations of how smart contracts work on the blockchain, as well as concrete examples of how to develop the code, with explanations at each line.

What's the next step for someone who's read the ebook?

Polina: I would suggest that if the reader feels confident about their Plutus skills, they need to think big -- what problem could this technology be used to solve? Perhaps there is some new functionality they wish was available as part of the Cardano system, and they could work on that? For example, the book mentions two Plutus use cases: introducing special kinds of (non-fungible) tokens onto the blockchain, and a custom policy for signing off on spending -- ideas like these.

Lars: I firmly believe that to learn something you have to actually use it and -- ideally -- teach it. So the next step should be to use Plutus, to work on an exciting project and implement a couple of smart contracts yourself. Then go one step further and try to explain Plutus to others, at a meetup, for example.

What other education initiatives are going on at IOHK?

Lars and Polina: We are preparing the next Plutus and Marlowe workshops, as well as the next Haskell course and working on turning that into a MOOC. We're already thinking about the next book, and how to expand our department to be able to deliver more educational content worldwide.

Kuva symphony update: more events and a 3D blockchain transaction tracker

Kuva discusses Symphony project updates

16 July 2019 Helen Broadbridge 5 mins read

Kuva symphony update: more events and a 3D blockchain transaction tracker

Symphony is an experience unlike any other. We’ve talked about it as an interactive, audio-visual exploration of the Bitcoin blockchain, but it’s becoming much more. Not just because we’re not stopping with Bitcoin – soon, Ethereum, then any blockchain thereafter – but because we’re continually optimizing and upgrading the experience, allowing the user to dive deeper into the blockchain through mixed-reality encounters. Part of what we wanted to create is a better way to absorb information. People aren’t sponges. Abstract concepts don’t always stick, and unfamiliarity breaks the narrative thread we need to engage with an idea. But when we can create that experience visually, interactively, we’re able to ground the abstract into an unforgettable experience that is, ultimately, fun: a living story.

About Kuva

Kuva is an interactive design and creative technology studio based in Bristol, UK. We’re a collection of artists, technologists, and engineers working with companies to blend art and technology into online and physical experiences. We’ve worked with IOHK on Symphony since the launch of the award-winning Symphony website in January 2018.

Our first gallery installation for Symphony was this year, in April, at the Arnolfini in Bristol and, soon after, we were in Miami for the IOHK summit. Since then, the teams at Kuva and IOHK have gone down slightly different paths, exploring different ways to expand the experience. You can learn more about IOHK’s work in this blog post. Here, I’ll go through what Kuva has been up to, and what the future holds for Symphony.

The Symphony art exhibition at the Arnolfini
The Symphony art exhibition at the Arnolfini

Project Updates

We have a global tour planned for Symphony to introduce the blockchain to more people. For the most part, the blockchain is known in uncertain terms (the cryptocurrency market has led to a few erroneous perceptions, which we’d love to correct). Elsewhere, it’s barely known at all. If it’s going to underpin the future – which we believe it is – then we have a responsibility to start education as soon as possible. And at Kuva, we believe the best way to educate is through experiential storytelling.

Augmented reality posters are used to explain blockchain concepts
Augmented reality posters are used to explain blockchain concepts

This starts with our virtual reality (VR) and augmented reality (AR) projects. These experiences, which are demonstrated in this video, are designed as educational pieces that use different approaches (such as our AR posters) to explain how the blockchain works. We take some of the most complex components underpinning blockchains and break them down into easy-to-digest, understandable elements. We want to show the usefulness of blockchains and, by extension, cryptocurrencies, by illustrating them in ways people can relate to.

But the blockchain doesn’t start and end with Bitcoin. We’re also working on bringing an Ethereum chapter to these events, to demonstrate the evolution of cryptocurrencies and the technology as a whole. We’ll be able to explain and illustrate smart contracts, and show how blockchains can be used for more than financial transactions. Then, in the future, we’ll start looking at Cardano as a third-generation blockchain: how it’s different, and what it’s capable of achieving over others.

Mobile App

The most exciting update is about our mobile app, soon to be available on Android, and later on iOS. This contains a data visualization of the Bitcoin mempool in 3D and augmented reality, to show you the congestion and health of the Bitcoin blockchain at any time.

The Symphony transaction tracker mobile app
The Symphony transaction tracker mobile app

Using the app, you’ll be able to see whether it’s a good time to send a transaction. Visually, the busier the mempool is – ie, the more red lines it has swirling about it – the busier the network is, which means a higher fee. The average fee is precisely detailed in the app.

Like our other VR and AR work, we’ll soon be creating the same experience for the Ethereum and Cardano blockchains, to help users evaluate and compare fees and network traffic. We want users to have consistently up-to-date information about how best to use their cryptocurrencies – bridging the gap between interest and understanding starts with clear, interactive representations of key concepts and components.

We’re really excited about this app. It’ll not only be an easy way to grasp what’s happening on a blockchain at any moment, but a functional tool that provides transaction data in real-time. The app is already available on Android and an augmented reality iOS version will be released this summer. We’ll also soon be announcing updates for our world tour – so stay tuned, and get ready to discover the blockchain anew.

To find out more about the world tour, or to see how you can play a part, contact Kuva today.