Hyperledger Sawtooth

Bitagora: A Decentralized Voting Platform Built on Hyperledger Sawtooth

By | Blog, Hyperledger Sawtooth

Guest post: Ignasi Ribó (@seliestel)

On October 1 2017, Catalan citizens were called to the polls to decide whether they wanted to become an independent Republic or remain a region of Spain. This self-determination referendum had been promoted by the Catalan regional government with the support of civic organizations and a large part of the Catalan population. But there was one problem: the Spanish government was staunchly opposed to its celebration. As the day of the referendum approached, Spanish police and public prosecutors increased their repressive actions against Catalan citizens and institutions, including the seizure of websites, print houses, postal mail, and any other means by which the referendum could be carried out.

In spite of the repression, citizens occupied the polling stations days before the referendum in order to prevent the police from shutting them down. During October 1st, in an exemplary show of self-organization and resilience, thousands of people kept the polling stations open, defending ballot boxes with their bodies as policemen armed with riot gear tried to seize them by force. Hundreds were injured by the batons and rubber balls indiscriminately used by the police against peaceful voters. In spite of coordinated DDoS attacks throughout the day, anonymous citizens managed to sustain the computer systems used for voter registration. At the end, more than 2 million people were able to cast their ballot. But police brutality and the repressive actions of the Spanish state seriously disrupted the polling and managed to put into question the final results.

Inspired by these dramatic events, I began at the end of November 2017 to develop a blockchain application that would allow any concerned group of citizens to organize a referendum and deliver accurate and auditable results without having to rely on a central authority. The project aimed to strengthen grassroots democracy around the world and give people the ability to exercise their right to vote on any question they deemed relevant, whether central institutions and authorities approved the vote or not.

My interest in decentralized, direct democracy was not new. In my book Habitat: The Ecopolitical Nation I had already argued for the need to extend it as much as possible in order to achieve more sustainable and resilient commonwealths. But now I felt it was the time to work on a practical tool that could help to bring this ideal closer to reality.

Developing Bitagora

The first thing I needed to do was to devise a system for voter registration that would guarantee the anonymity of voters while ensuring that everyone casting a ballot was authorized to do so and that no one would be able to vote more than once in the same election. Centralized voting systems solve this problem by using official censuses and polling stations. For obvious reasons, a decentralized system could not rely on this machinery.

Fortunately, modern public-key cryptography offers the necessary tools to build systems that provide both anonymity and verifiability without relying on a central authority. In the Bitagora implementation, voters submit their identification to a fully automatic Certifier script that checks the validity of the information according to the requirements set by the promoters of the poll. If the identification is valid, the Certifier script generates a private key that is deterministically derived from the voter identification using a hashing function that would prevent an attacker from recovering the identification information of the voter even if he got hold of the private key. The Certifier also generates a token that includes the public key derived from the voter private key using the elliptic curve secp256k1 protocol, the same cryptographic cypher underlying Bitcoin. The Certifier signs this token with its own private key and sends the signature and the voter key back to the voter. With this key, the voter can then cast a ballot in the poll.

Enter Hyperledger Sawtooth

Once I had set up the registration system and a user interface (both mobile and web) that voters could use to register and cast their ballots, I still needed to develop the core functionality of the decentralized network of validators that had to sustain the trustless voting system (i.e., a blockchain).

One very attractive possibility was to build the voting system as a DApp running on the Ethereum Virtual Machine. But that would have required voters to interact with the network using a cryptocurrency. Without owning some amount of Ether, or some other fungible token, voters would not be able to pay for the transaction costs involved in executing the Bitagora smart contract. This didn’t look like a scalable, or even fair way of setting up a voting system that could be used by a large number of voters in a real election.

So I quickly discarded relying on any existing blockchain and opted instead for building my system using a private blockchain that would be sustained by volunteers and be completely free for voters. After reviewing several of the frameworks currently available to build such a system, I chose Hyperledger Sawtooth.

Unlike other frameworks, Hyperledger Sawtooth was meticulously documented, with exhaustive explanations and a wide range of examples and applications that worked right away without a flaw. It also provided a complete SDK in Javascript, the language I was already using to code my system. Moreover, the different modules were packaged in Docker containers, which greatly facilitated the installation and fit perfectly well in my strategy to make the Bitagora validator software easily deployable by a large number of nodes in various operating systems without having to go through messy installations.

As I started to work on developing the validator software using the Hyperledger Sawtooth framework, I also found that there was a very active community of engineers and developers exchanging information, ideas and support on the Hyperledger chat. Whenever I had a question I could not solve on my own, I would post it there and quickly receive valuable suggestions and advice from the Sawtooth team or from developers working on other projects. On some occasions, this chat was a lifesaver!

An open project

At the beginning of August, after months of development, I finally distributed the code of the different Bitagora modules through Github under an Apache 2 license. With the help of the Catalan Pirate Party, I had previously conducted several tests and the system performed really well, thanks in particular to the robust consensus mechanism employed by the Hyperledger Sawtooth network layer. The platform is now ready for anyone to set up and use in all sorts of elections.

Since I am not a professional developer, I don’t have the time or resources to sustain this project on my own beyond its current state. But I would be happy to work with other people interested in expanding and improving Bitagora in order to turn it into a fully functional and open-source tool that can enhance direct democracy and empower voters around the world.

If you’re interested in learning more about the project, you can do so at You can also help contribute code by visiting:

Hyperledger Fabric & Sawtooth Certification Exams Coming Soon!

By | Blog, Hyperledger Fabric, Hyperledger Sawtooth

We strongly believe in helping organizations and developers overcome obstacles to blockchain adoption by investing in training and certification courses for Hyperledger. That’s why we’re thrilled to announce that Certified Hyperledger Fabric Administrator and Certified Hyperledger Sawtooth Administrator exams will be released later this year!

Below is more information on the certification exams:

Certified Hyperledger Fabric Administrator

The Certified Hyperledger Fabric Administrator (CHFA) can effectively build a secure Hyperledger Fabric network for commercial deployment. To pass the exam, professionals must demonstrate the ability to install, configure, operate, manage, and troubleshoot the nodes on that network. Completion of LFD271 may help serve as preparation for the CHFA exam, but is not required.

Exam sections will include:

  • Application Lifecycle Management
  • Installing and Configuring the Network
  • Diagnostics and Troubleshooting
  • Membership Service Provision
  • Network Maintenance and Operations

View the full list of domains and competencies for CHFA.

Certified Hyperledger Sawtooth Administrator

The Certified Hyperledger Sawtooth Administrator (CHSA) can effectively build a secure Hyperledger Sawtooth network for commercial deployment. To pass the exam, professionals must demonstrate the ability to install, configure, operate, manage, and troubleshoot the nodes on that network.

Exam sections will include:

  • Installation
  • Configuration
  • Permissioning, Identity Management & Security
  • Lifecycle
  • Troubleshooting

View the full list of domains and competencies for CHSA.

The certification exams were made possible thanks to generous help from the community. Specifically, we’d like to call out and thank the participating individuals for the time they contributed to shape the content for these certifications:

Hyperledger Fabric

  • David Gorman, IBM
  • Dinesh Kumar, Oracle
  • Ernesto Lee, Blockchain Training Alliance
  • Greg Skerry, Altoros
  • Manu Varghese, Greenstream Technology
  • Yaoguo Jiang, Huawei
  • Naresh Thumma and Bhasker Nallapothula, Biarca
  • Ry Jones, Hyperledger,
  • Liz Kline, The Linux Foundation
  • Clyde Seepersad, The Linux Foundation
  • Toki Winter, The Linux Foundation

Hyperledger Sawtooth

  • Dan Middleton, Intel
  • Tom Barnes, Intel
  • Richard Berg, Bitwise IO
  • Ryan Beck-Buysse, Bitwise IO
  • Val Reid, PokitDok
  • Anthony Adkins, PokitDok
  • Gregory Skerry, Altoros
  • Neeraj Srivastava, DLT Labs
  • Jovan Maric, DLT Labs
  • Chris Spanton, T-Mobile
  • Ernesto Lee, Blockchain Training Alliance
  • Tracy Kuhrt, Hyperledger
  • Ry Jones, Hyperledger
  • Wallace Judd, Authentic Testing
  • Toki Winter, The Linux Foundation
  • Liz Kline, The Linux Foundation

Both the CHFA and CHSA exams will be available to take before the end of the year. As with all Linux Foundation certification exams, the exams are completed remotely from virtually any location with a stable internet connection and webcam. Those who fail to pass the exam on their first attempt can retake the exam one additional time at no cost.

But the certifications are not the only thing to be excited about – you can now enroll in a new LFD271 – Hyperledger Fabric Fundamentals training course, which was also announced by The Linux Foundation today. LFD271 is designed for developers. They will learn how business logic is implemented in Hyperledger Fabric through chaincode (Hyperledger Fabric’s smart contracts) and review the various transaction types used to read from and write to the distributed ledger.

The LFD271 course instructor, Jonathan Levi is the founder of HACERA, and one of the early contributors to Hyperledger Fabric. He helped shape the Membership Services (the permissioning layer of Hyperledger Fabric) and was the official release manager of Hyperledger Fabric 1.0. He has built several large-scale mission critical systems that had to be highly available, secure and fault-tolerant.

Be on the lookout for these certifications as well as a beta tester program where we will invite members of the community to take the exams. If someone completes the beta exam with a passing grade, they will become one of the first Certified Hyperledger Fabric or Sawtooth Administrators upon launch of the program.

We hope you join us in contributing to Hyperledger projects. As always, you can keep up with what’s new with Hyperledger on Twitter or email us with any questions:

From XOs to Crypto Assets

By | Blog, Hyperledger Sawtooth

Guest post: Jonatan Alava

Hyperledger Sawtooth 1.0 has been widely available since January 2018. This is the second Hyperledger product to get to 1.0 and become widely available. The project in its current iteration employs a more familiar DLT implementation when contrasted with Hyperledger Fabric for developers that have worked on some of the other popular blockchain projects. Its simple architecture not only enables a very small learning curve, but makes it real easy to setup a network and implement custom applications. It’s also great that the product comes with a rich SDK and documentation as well as boasts an active community that will help you answer questions on Hyperledger chat or live calls setup to support all developers working with Sawtooth. Let’s dig a bit deeper into the modularity and flexibility of the product while at the same time provide a simple introduction to Sawtooth development.

Separation of concerns redux — Application vs. Core System

Before digging into code, let’s cover what we have found to be the cornerstone behind Sawtooth’s design, a clear separation of concerns. This makes Sawtooth an easy to use framework. Any use case can be implemented without having to touch core network elements. Transaction families can be developed to process any logic needed within the network and multiple families can be deployed on the same network. Here we cover two extremes in a sample spectrum of transaction families to display the flexible range of implementations while at the same time show the practicality of the framework for solutions with real uses.

To read more about its architecture & design details please see the docs here.

Games Hyperledger Plays

As part of robust documentation, Sawtooth comes packed with a set of pre-defined transaction families. The one that caught my attention right away was the XO family.

The XO transaction family enables your DLT network to support games of Tic Tac Toe between two registered users. All those users need are valid credentials and access to the network.

Tic Tac Toe

The “thrill” of playing Tic Tac Toe on a robust DLT powered network alone is worth some level of analysis. The XO transaction family includes a very specific set of functions, which are great for demystifying the capabilities of Hyperledger Sawtooth. All the business logic is implemented within the TransactionHandler and its apply method. Below I’ll go over some highlights of the transaction family implementation using the Javascript SDK.

Let’s start by how simple the file structure is:

Each one of those .js files implements one of the key components of a transaction family; A transaction handler (xo_handler.js), the family’s state (xo_state.js) and the payload (xo_payload.js) to be obfuscated simply to avoid shallow inspection.

Creating a game simply checks for uniqueness by name and then defines a new Game containing, Name, Players, State and Board. The code in JS is as simple as its description:

if (game !== undefined) {
throw new InvalidTransaction(‘Invalid Action: Game already exists.’)
let createdGame = {
board: ‘ — — — — -’,
state: ‘P1-NEXT’,
player1: ‘’,
player2: ‘’

And once that object is created, it just gets saved to State.

return xoState.setGame(, createdGame)

Similar to Create, there is a Delete game action. This simply looks up a game by name and if found deletes it from state. As a side note, if you are wondering what it truly means to fetch a game from State, it is also implemented within the transaction family specification. An XOState includes all games serialized, and in order to fetch a particular game by name, the list gets deserialized and a simple search is applied on the list.

return this._loadGames(name).then((games) => games.get(name))

Finally, the most interesting action is Take. Take is called by game participants taking their turn. It starts by fetching a game by name, then validating a valid position on the board being taken and ensuring the right user is taking this turn. Once the turn is taken, the action checks for a winner.

if (_isWin(game.board, ‘X’)) {
game.state = ‘P1-WIN’
} else if (_isWin(game.board, ‘O’)) {
game.state = ‘P2-WIN’
else if (‘-’) === -1) {
game.state = ‘TIE’

The _isWin function is very simple to read, since it hard codes all permutations a player can win on Tic Tac Toe and iterates through them. In case you are wondering, this is what those winning positions look like:

let wins = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
[1, 5, 9],
[3, 5, 7] ]

Setting up an XO DLT

As described earlier; documentation is also very robust and easy to follow in order to set up your own test or development network. Using the docker compose file provided you can stand up your development network right away. Validators and transaction processors are part of the default configuration and transaction processors will have all sample families pre-loaded. If the right transaction family is not loaded you can run the following:


sawset proposal create — url http://rest-api:8008
— key /root/.sawtooth/keys/my_key.priv
sawtooth.validator.transaction_families=’[{“family”: “xo”, “version”: “1.0”},
{“family”:”sawtooth_settings”, “version”:”1.0"}]’


Once you start up your network and ensure your transaction processors have the XO family included all you have to do is register users and start playing. As explained on the transaction family overview, the game can be played through the CLI without having to write any extra lines of code and simply using the pre-defined operations.

Is this the future?

Running this example does not feel like an accomplishment at all, but it is one of the best ways to clearly explain DLT to a friend that has never heard about Blockchain. (Similar article here) The immediate question after this is; how powerful and transformative can DLT be right now? After all, we just ran through a command line controlled example of Tic Tac Toe. It’s hard to see this as a game changer.

So, let’s go back to the basics of software development. The game changer is the ability to so easily implement Tic Tac Toe as a DLT application without needing to architect the underlying network. The built in separation of concerns allows a single file Tic Tac Toe implementation to run on such a powerful infrastructure and to leverage all the core features of DLT. This is what makes this Hyperledger project so powerful.

Hyperledger Sawtooth solves asset transfers

We started with Tic Tac Toe; other solutions can only get better and the community aspects of Hyperledger inspire collaboration. A company called Pokitdok defined a more interesting transaction family and shared its overall design with the world. You can read about it here. To quickly summarize, they have defined a new transaction family which supports their in-ledger asset and created it as an integral component of their operation by batching transactions from their application specific families with coin transactions. You can read more specifics about cross family transaction batching here.

What is interesting is the fact that this solution allows an existing network, to add accounting and asset transfers on a DLT without changing any of its core structure. Just like with our initial example, the power of Sawtooth lies in its clear separation of concerns.

Setting up a DLT to move assets around

We keep mentioning how great this separation of concerns is, but how different do two DLT applications need to really be and how much should the underlying network change to support these two extremes in a complexity spectrum? Setup is exactly the same for these two implementations. You could even use the development ready docker composer files provided by the Sawtooth team. The only change that will need to be applied is to run a new transaction family create command to add the newly defined asset management transaction family. It would look something like this:


sawset proposal create — url http://rest-api:8008 
— key /root/.sawtooth/keys/my_key.priv
sawtooth.validator.transaction_families=’[{“family”: “assets”, “version”: “1.0”},
{“family”:”sawtooth_settings”, “version”:”1.0"}]’


Now this is more like it; with all the talk of DLT and how it’s going to change the face of software forever, it’s refreshing to see how simple it can be to run a full fledged crypto asset management network.

Putting it all together

These examples were not meant to prove the validity of DLT, rather to illustrate the simplicity and practicality of Hyperledger Sawtooth. To demystify the utility and complexity of DLT powered solutions and create a simple path towards more meaningful implementations and uses of the technology. The Hyperledger Sawtooth framework allows you to easily implement your application’s logic as a transaction family and have it running on a scalable DLT network within minutes.

Sawtooth is built for performance and decent scalability and as mentioned earlier has a simple network structure that allows for very large deployments without a lot of specialized software components. At its core, its focus on separation of concerns empowers developers to create any transaction family you can think of. The asset management example also allows us to see how incredibly powerful composition through reuse could become.

The project also shows great promise for extensibility for larger & open, not just permissioned solutions. Finally, the addition of yet another really powerful transaction family called SETH extends Sawtooth to process Ethereum smart contracts. With some minor changes, any Sawtooth network that includes SETH would be able to run any solidity contract. Our team is currently working on migrating one of our Ethereum powered solutions into our own Sawtooth network and hopefully soon we will share it on another blog post.


Hyperledger Sawtooth, Seth and Truffle 101

By | Blog, Hyperledger Burrow, Hyperledger Sawtooth

Guest post: Nathan Aw

I develop on both Hyperledger Fabric/Sawtooth and Ethereum (to be specified, Quorum) so I am familiar with the languages available on both platform — chaincode (Go) and smart contract (Solidity). Often I am asked this question: “Which platform is better?” To which I will answer, this question is a false choice as with Hyperledger Sawtooth Seth, you can build your smart contracts in Solidity and deploy the same smart contract in Hyperledger Sawtooth — Pretty cool isn’t it? 😉

Before we get to the technical section, we need to get a handle on the basic terminology first.

What is Hyperledger Sawtooth?

Hyperledger Sawtooth is an enterprise blockchain platform for building distributed ledger applications and networks. The design philosophy targets keeping ledgers distributed and making smart contracts safe, particularly for enterprise use.

Sawtooth simplifies blockchain application development by separating the core system from the application domain. Application developers can specify the business rules appropriate for their application, using the language of their choice, without needing to know the underlying design of the core system.

Sawtooth is also highly modular. This modularity enables enterprises and consortia to make policy decisions that they are best equipped to make. Sawtooth’s core design allows applications to choose the transaction rules, permissioning, and consensus algorithms that support their unique business needs.

What is Hyperledger Sawtooth Seth?

The primary goal of the Sawtooth-Ethereum integration project, which is also known as “Seth” is to add support for running Ethereum Virtual Machine Smart Contracts to the Hyperledger Sawtooth Platform.

Ethereum Virtual Machine (EVM) Smart Contracts can be deployed to Sawtooth using the Seth Transaction family. The Seth Transaction Family enables the creation and execution of smart contracts. It integrates the Hyperledger Burrow implementation of the EVM into the Hyperledger Sawtooth Framework using the Sawtooth Transaction Processor SDK.

For those familiar with Ethereum Geth (Go-Ethereum) client, you will find out that Sawtooth Seth client replicates the Ethereum JSON RPC API.

Seth is composed of three components

  1. Seth Client
  2. Seth-TP Transaction Processor
  3. Seth-RPC Server

For more details on JSON RPC API, check out

Do note that Seth is not a complete Ethereum implementation. The Sawtooth platform has made fundamental design decisions that differ from those made by the Ethereum platform. The specified differences can be found under Sources/References

What is Truffle?

Truffle is often considered the most popular Ethereum development framework. Truffle does a lot of things for the developer. It is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. We won’t be going through Truffle. Point of introducing Truffle is to share with you that one can build smart contracts with Solidity and enjoy Truffle and its related capabilities and yet deploy the end product (i.e., your Smart Contract) onto Hyperledger Sawtooth — this to me is pretty awesome! For more information on truffle, please check out

Step by Step Setup Guide

I am using Ubuntu 16.04. You will need git and Docker installed.  

  1. Do a git clone of sawtooth-seth

2. Build the Sawtooth Seth

This process will take 10 – 15 minutes.

  1. Run Sawtooth Seth

docker run -v $(pwd)/docs:/project/sawtooth-seth/docs seth-build-docs

  1. Verify if the components are running correctly  


curl -d ‘{“jsonrpc”: “2.0”, “id”: 1, “method”: “eth_blockNumber”}’ -H “Content-Type: application/json”

  1. Creating an Account. Generating a Key Pair

In order to interact with Seth, we need to create an external account on the network. Creating an account is equivalent to generating a new private key that Seth can understand. Seth accepts secp256k1 private keys

docker exec -it seth bash

openssl ecparam -genkey -name secp256k1 | openssl ec -out mykey.pem -aes128

Now we are ready to set up the account on the network. To do this, we need to use the seth command. From the prompt where you generated the key, run:

seth account import mykey.pem myalias

seth account create myalias –wait

seth show account {address}

  1. Write the Smart Contract

Once you have an account created, you can use it to deploy EVM smart contracts. To demonstrate how to deploy and call contracts, we will be using the following Solidity contract, which is based loosely on the IntegerKey Transaction Family. Solidity is a high-level language for defining contracts that compiles to EVM byte code for deployment. To follow along with this guide, you should create a new file with this contract:

pragma solidity ^0.4.0;

contract intkey {

 mapping (uint => uint) intmap;

 event Set(uint key, uint value);

function set(uint key, uint value) {

   intmap[key] = value;

   Set(key, value);


 function inc(uint key){

   intmap[key] = intmap[key] + 1;


 function dec(uint key){

   intmap[key] = intmap[key] – 1;


 function get(uint key) constant returns (uint retVal) {

   return intmap[key];



Save this contract in a file called “contract.sol” in your working directory. If you are working with the development environment described in :doc`./getting_started` you should save this file in the sawtooth-core/ directory on your host so that it is available within the seth container.

Before we can deploy this contract, we have to compile it. The seth client expects that the contract will be passed as a hex-encoded byte array. We can use the Solidity compiler solc to create it. If you followed the Getting Started instructions, this tool is already installed in the seth container we created earlier. Connect to the seth container as explained there. If not, we assume you have it installed locally.

$ solc –bin contract.sol

======= contract.sol:intkey =======


…byte array here…

In place of {contract} you should insert the blob of hex that you saved from earlier. This will create a new contract creation transaction and submit it to the validator.

If everything works, a new contract account will be created and the client will print the address of the newly created contract account along with some additional execution information. To confirm the contract was deployed, you can run:

seth show account {address}

  1. Calling Contracts

To call the deployed contract we need the address where the contract is deployed and the input data for the contract call. The address was printed when the contract was deployed. Constructing the input for the contract is a little harder.

Solidity uses an Application Binary Interface or ABI to determine which function in your contract to run and what the function call’s arguments are. There are many tools available for abstracting the creation of the input data for a contract call. One option for generating the input data that is compatible with the seth client is the ethereumjs-abi library. If you are using the development environment described earlier, this is already installed in the seth docker container.

To use this library to call a function in contract, you can use the simpleEncode. The following shows how to call the set() function in the contract we deployed earlier with arguments 19 and 42:

$ node

> var abi = require(‘ethereumjs-abi’)

> abi.simpleEncode(“set(uint,uint)”, “0x13”, “0x2a”).toString(“hex”)

…byte array here…

To call our contract and run set(19,42), run:

seth contract call –wait {address} {input}

In place of {input} you should insert the blob of hex formatted according to the contract’s ABI that we created above. If everything works, the client will state that transaction was succesful and print the transaction id. To verify that the message call was successful, you can do:

seth show receipt {transaction-id}

seth contract create –wait myalias {contract}


Imagine having the best of both worlds — building smart contracts with Solidity, originally intended for EVM — and deploying it onto Hyperledger Sawtooth. Portability is the key differentiator here which explains why I love building smart contracts with Solidity and deploying it onto Sawtooth via Seth.  

I am happy to answer any questions you might have on Hyperledger Sawtooth and Solidity or any blockchain related questions. Drop me a line at and/or connect with me on Linkedin at


(7.3.18) Forbes: Big Blockchain: The 50 Largest Public Companies Exploring Blockchain

By | Hyperledger Fabric, Hyperledger Sawtooth, News

There’s more than one way to gain exposure to blockchain innovation. Beyond buying over-the-counter products or investing directly in blockchain startups some of the largest public companies in the world are already dabbling in the tech. In fact, a closer look at this year’s Forbes Global 2000 list of the largest public companies in the world reveals that not only are all ten of the largest public companies in the world exploring blockchain, but at least 50 of the biggest names on the list have all made their own mark on technology first inspired by bitcoin.

More here.

Developer Showcase Series: Zac Delventhal, Bitwise IO

By | Blog, Hyperledger Sawtooth

Image: Zac Delventhal, software engineer, Bitwise IO

Our Developer Showcase blog series returns! This time, we chatted with Zac Delventhal, a software engineer at Bitwise IO about his interest in blockchain and Hyperledger. A quick reminder that this blog series serves to highlight the work and motivations of developers, users and researchers collaborating on Hyperledger’s incubated projects. Let’s see what Zac had to say!

What advice would you offer other technologists or developers interested in getting started working on blockchain? 

The blockchain space is extremely young. The concept didn’t even exist a decade ago, and we’re only just starting to see stable platforms emerge. Most of us aren’t even exactly sure what blockchains will be used for yet. That’s profoundly exciting on one hand. The field is wide open for people to innovate.

But for a new learner it can be intimidating. There are no authoritative sources on the subject, and toolsets you learn today might be obsolete tomorrow. My best advice would be to start with some fundamentals about how a blockchain works, preferably from two or three sources. Then just dive in and build something on one of the platforms out there like Ethereum or Hyperledger Sawtooth. It will be a mess, but then you’ll have the foundation you need to build the next thing.

What project in Hyperledger are you working on? Any new developments to share? Can you sum up your experience with Hyperledger?

I am one of the maintainers on Hyperledger Sawtooth, working primarily on developer tools like the REST API and SDKs, as well as developing a number of distributed applications on the platform myself. It is actually a pretty exciting time for Sawtooth, as a 1.0 release was announced. The APIs are stable and now we just have a few technical issues to work out. As things have matured, it has allowed me personally to build much more sophisticated proof-of-concepts, so I am really excited to see what the community starts coming up with as we move into this new phase.

As Hyperledger’s incubated projects start maturing and hit 1.0s and beyond, what are the most interesting technologies, apps, or use cases coming out as a result from your perspective?

I am really curious to see what Pokitdok comes up with. They’re working on a distributed healthcare application that will let patients use the blockchain to give doctors and hospitals permission to view their medical records. This is exactly the sort of off-the-wall use I want to see more of as blockchains move past just being used for currency and other assets. There is so much potential to totally upend existing industries and give people more control over fundamental aspects of their lives.

What’s the one issue or problem you hope blockchain can solve?

There isn’t any particular problem I want to throw blockchains at, but I am excited by the potential for the technology to take power away from centralized authorities like big corporations and governments and give it back to individuals. Can we use a blockchain to give consumers more information about what’s in their food?

To give people more control over how their personal data is used by advertisers? Could we use a blockchain to circumvent censorship? I don’t foresee anything revolutionary on the immediate horizon, but as the technology matures the potential for it to be used in novel and disruptive ways is very exciting.

Where do you hope to see Hyperledger and/or blockchain in 5 years?

Established. I hope in five years there are a few major commercial applications built on Hyperledger, a host of Stack Overflow questions answered, and an O’Reilly book or two. I want the technology to be mature enough that junior developers can pick it up easily and play around with the possibilities. They’re the ones who are going to come up the really interesting stuff I would never have thought of.

What is the best piece of developer advice you’ve ever received?

git rebase -i

No. I don’t know. That’s such a tough question. I do use interactive rebases constantly, but I guess some advice that really stuck with me was when one of my mentors explained the difference between a Scribe and a Conjurer. The Scribe has to understand the intricacies of everything they are doing. They will pour over documentation, pull apart source code, and generally make sure they understand how their project works from end to end. The Conjurer on the other hand is clueless. They say some magic words they found on Google and a working application appears. They ask no more questions and move on with their lives.

The reason my mentor explained this concept was to talk me out of being a Scribe all the time. I’m very detail oriented, as I think a lot of engineers are, and I could probably spend weeks working out the absolute perfect way to solve any given problem. But time is precious. Being given permission to sometimes say “screw it, it works, move on” was very powerful for me.

(6.27.18) New York Times: A Guide to Travels in the Blockchain World

By | Hyperledger Fabric, Hyperledger Sawtooth, News

The original blockchain created by Bitcoin has inspired thousands of other attempts to record information in the distinctive fashion the cryptocurrency pioneered.

While there’s a hot debate about how to define a blockchain, most projects using the term try to create a single database that is shared and maintained by a group of people or institutions.

More here.

(6.27.18) New York Times: The People Leading the Blockchain Revolution

By | Hyperledger Fabric, Hyperledger Sawtooth, News

By Nathaniel Popper

The blockchain is a technology that is supposed to be all about distributing power and information away from central authorities. But many individuals have been crucial in pushing the technology forward. Here is a look at some of the most influential people in the industry today.

Amber Baldet

While the JPMorgan Chase chief executive Jamie Dimon was bashing Bitcoin as a fraud, his employee Amber Baldet put the bank at the front of Wall Street’s efforts to harness the blockchain. Ms. Baldet, 35 and until recently the head of the bank’s blockchain lab, led a project to create a bank-friendly version of the Ethereum software, known as Quorum.

Quorum has since become one of the most popular places for corporations and governments to start building blockchain projects. But Ms. Baldet, who never stopped being an outspoken advocate for hackers and privacy on Twitter, always seemed too big a personality for an old-fashioned bank.

Earlier this year, she broke away and created her own start-up, Clovyr, which she is building with a partner from her days at JPMorgan. She has compared Clovyr to an app store for blockchains, open to the many competing approaches to blockchains today. It illustrates her unusual ability to bring together the corporate and hacker camps working on the technology.

Brian Behlendorf

Brian Behlendorf was a prominent name in the tech world long before his rather late arrival on the blockchain scene. In the early 1990s, he started one of the first companies that built websites, which led him to create the Apache software that is still used by many web servers.

His work on open source software was driven in part by his interest in alternative culture, which also made him an early player at the Burning Man festival. In 2016, he was brought in by the Linux Foundation to lead a nonprofit known as Hyperledger that aims to create standard blockchain software that anyone can use.

While the project was initially led by IBM, Mr. Behlendorf, 45, has helped bring in other big names who are helping to make Hyperledger the focus of much of the corporate and governmental interest in blockchains today. Hyperledger now oversees several different blockchain projects, but its biggest product is Fabric, which is being used by everyone from Walmart to the Centers for Disease Control and Prevention.

Mr. Behlendorf, meanwhile, has tried to make sure the technology has kept its open-source soul even as it has begun to go mainstream.

Vitalik Buterin

Aside from the blockchain inventor known as Satoshi Nakamoto, no name in the cryptocurrency world is more recognizable than that of Vitalik Buterin, the 24-year-old inventor of Ethereum. Mr. Buterin came up with the idea for Ethereum after dropping out of college, when he was only 19, and few imagined the awkward teenager could make it work.

His creation, though, is now home to the second most valuable cryptocurrency after Bitcoin. Beyond that, Ethereum has pioneered a future direction for the blockchain — serving as a new kind of shared global computing network. That has drawn in thousands of developers who are building on top of Ethereum.

The system has been buggy, and provided an opening for lots of bad actors. But Mr. Buterin’s ideas have also been popular among many corporations and government agencies, who are now experimenting on their own versions of Ethereum. Many competitors have also raised money to build systems aimed at improving on the basic concepts laid out by Ethereum, but Mr. Buterin’s soft-spoken leadership has so far kept Ethereum ahead.

Chris Dixon

There are few greater marks of prestige in the blockchain world than an investment from the venture capital firm Andreessen Horowitz. While it is the firm’s co-founder Marc Andreessen who has gotten the most attention for his backing of the industry, it is Chris Dixon who is leading the firm’s work in the area.

Mr. Dixon, who created start-ups that were acquired by eBay and McAfee before becoming a venture capitalist, was responsible for Andreessen’s first big Bitcoin bet in 2013, when the firm became a lead investor in the Bitcoin brokerage Coinbase. That has ended up looking smart as Coinbase has risen to become the multibillion-dollar giant of the industry, with more customers than Charles Schwab and eTrade.

Since then, Mr. Dixon has spread the firm’s money to a wide array of smaller projects in the industry, and recently created a $300 million fund that will focus exclusively on digital tokens. Mr. Dixon has also taken to Medium to pen essays explaining and advocating for the bigger ideas behind blockchain-based technologies — most notably, the ability to create new decentralized computer protocols that can be governed by communities instead of companies.

Daniel Larimer

Daniel Larimer’s libertarian politics drew him to Bitcoin in the early years. But the Virginia Tech graduate has made his name, and his fortune, by building new kinds of cryptocurrencies with more wide-ranging functions than Bitcoin.

This began with an exchange that was supposed to make it easier totrade Bitcoin, and that relied on its own internal currency, known as BitShares. He left that project before it took off to create Steemit, a new kind of social network, powered by its own, eponymous token.

Steemit is still working today, but Mr. Larimer’s biggest success has come with his latest creation,, and its digital token, EOS, which is set to compete with Ethereum., where Mr. Larimer, 35, is the chief technology officer, raised more than $4 billion from investors to build EOS, making it the most successful cryptocurrency fund-raising project by a good margin.

The start of the EOS currency was recently plagued by delays and technical snags. That, and Mr. Larimer’s history of leaving projects unfinished, have drawn many skeptics. But if nothing else, Mr. Larimer and should have enough money to turn EOS into a contender in the crowded world of cryptocurrencies.

Jed McCaleb

Each one of the three things that Jed McCaleb has created in the last decade would be, on its own, enough to make him one of the most well-known and controversial figures in the cryptocurrency universe.

The soft-spoken native of Arkansas began in 2011 by acting on something of a whim and throwing together the website for Mt. Gox, the infamous Bitcoin exchange that became the largest in the world before imploding in 2014. Mr. McCaleb had gotten out of Mt. Gox relatively early and emerged mostly unscathed, allowing him to create Ripple, a cryptocurrency that was aimed at improving on Bitcoin by eliminating the arduous process of mining, among other things.

Ripple has become the third most valuable cryptocurrency in the world, and the one with the most links to the traditional financial world. Mr. McCaleb, 43, left Ripple before its most recent successes, after a falling out with his co-founders. But that has allowed him to create yet another new digital token, known as Stellar, that he envisioned as an upgrade of Ripple. It has already won partnerships with IBM and a number of Silicon Valley start-ups.

Michael Novogratz

While many on Wall Street have focused on the blockchain technology and dismissed cryptocurrencies, Michael Novogratz has led the camp — and made a fortune — betting that the real innovation is in Bitcoin and the other digital tokens it has spawned. In 2013, when he was at the private equity firm Fortress Capital, Mr. Novogratz — a former military pilot and Goldman Sachs partner — made the firm one of the first in the financial industry to actually purchase Bitcoins.

This bet gave Mr. Novogratz, 53, who was a wrestler at Princeton, a good shot at redemption after his big hedge fund at Fortress shut down. Last year, Mr. Novogratz started what he has described as a sort of full-service investment bank for cryptocurrency projects, called Galaxy Digital.

He had to reverse course on plans to open an enormous crypto hedge fund when the markets suddenly turned sour in December. But he is still putting his money where his mouth is, setting up what is likely to be the biggest institution selling Wall Street on the virtues of cryptocurrencies.

Elizabeth Stark

In the continuing struggle to get Bitcoin into mainstream use while staying true to its ideological roots, nobody is more crucial than Elizabeth Stark. Ms. Stark, a graduate of Harvard Law School, is the chief executive of Lightning Labs, a start-up that is building tools that can layer new capabilities — and new transaction channels — on top of the Bitcoin blockchain.

There is currently a hard limit on the number of transactions the Bitcoin blockchain can handle, which has led to significant battles between companies and developers over the best way to expand the network. Ms. Stark, who was already an advocate for a more open and egalitarian internet, became a leader of the camp that wanted to keep Bitcoin relatively small, true to its ideological roots as a decentralized network, with no one in control.

At the same time, she proposed and began building a method of adding layers on top of Bitcoin that can handle lots of new customers and transaction types. These “layer two solutions,” as she has called them, appear to be Bitcoin’s best chance of expanding to take on the world, and are already being rolled out. The work has turned Ms. Stark into a leading public face of a far-flung Bitcoin community that often defies organization.

Valerie A. Szczepanik

As the cryptocurrency industry has looked for clarity on what the regulators will allow, no agency has been more important than the Securities and Exchange Commission, and no person at the S.E.C. has been more central than Valerie A. Szczepanik. A former patent lawyer who joined the S.E.C. in 1997, she was recently appointed to be the agency’s senior adviser on digital assets and innovation.

But Szczepanik has been involved in the S.E.C.’s work in the area since early on. She worked on several enforcement actions against fraudulent cryptocurrency projects and has served as the co-head of the agency’s Dark Web Working group. In addition to punishing bad actors, Ms. Szczepanik has led the agency’s effort to define the boundaries that will determine what form legal cryptocurrency and blockchain projects can take.

The speeches she has given have been cheered by some in the industry because they have shown that she understands the technological nuances of the projects out there.

When her group decided that the second most valuable digital token, Ether, would not fall under the agency’s purview, it set off a big rally in the markets. But that decision only cleared up a bit of the regulatory uncertainty in the sector. Industry players are still following Ms. Szczepanik’s every word for an indication of where the industry will be allowed to go.

Jihan Wu

Jihan Wu, a 32-year-old graduate of Peking University, has become one of the more unlikely leaders in the cryptocurrency universe. Bitmain, the company that Mr. Wu built with his technical co-founder, Micree Zhan, manufactures the machines that crunch through lots of computations to mine new Bitcoins and other cryptocurrencies.

Bitmain used its proximity and connections to the computer manufacturing hubs in China to build machines that were more efficient and profitable than any competitor. Today, most estimates indicate that over 75 percent of the computers mining Bitcoins — and a similarly large number of the machines mining other cryptocurrencies — come from Bitmain. That has turned out to be an important position to occupy because it is the computers mining Bitcoins that get to vote on updates to the Bitcoin software.

Mr. Wu has been at the center of the battles over how to expand Bitcoin’s capacity. The fights, and a cryptocurrency crackdown by the Chinese government, have not stopped Mr. Wu from growing Bitmain into one of the most valuable companies in the industry, and a crucial player in any conversation about the shape of the computer networks that stand behind most of the cryptocurrencies in existence.

Full article here.

One Year Later: Interoperability & Standardization Shine at Consensus

By | Blog, Events, Hyperledger Burrow, Hyperledger Fabric, Hyperledger Quilt, Hyperledger Sawtooth

Image: The Hyperledger booth at Consensus 2018

Interoperability and standardization took center stage (literally) last week in New York at Consensus, when organizations like FedEx explained that both Ethereum and Hyperledger technology power their logistics solution and that it was a goal of theirs to be agnostic when choosing ledger technologies. Then there was the Enterprise Ethereum Alliance, which announced their 1.0 specification that many blockchain developer communities, including Hyperledger Sawtooth, plan to be compatible with in the near future.

It seems as though our hard work at Hyperledger has been paying off and Executive Director, Brian Behlendorf believes we’re now seeing evolution beyond the basic technology questions to more involved discussions about scale, interoperability and governance. In fact, he met with Steven Norton of The Wall Street Journal during Consensus to discuss just that. Brian told Steven:

“Now that we have running systems and there is real value on these different networks, figuring out how to wire them together is a greater priority now than it was a few years ago. But even outside the blockchain space, interoperability is always a process, never a destination. People are starting to finally ask how do we get out of a simplistic mode of saying everyone should all be on the same public ledger, and instead get to a more sophisticated set of questions, like what does interoperability actually mean. It might mean wiring these things together with common software underneath. It might also mean common software on top.”

The discussions around interoperability were a significant contrast to what we saw one year ago at Consensus, when many were just trying to wrap their minds around the technology capabilities and experimentation was in full swing. The idea of different blockchains interacting with one another still seemed like several years away. At that time, we only saw a glimpse of potential possibilities for interoperability when the HACERA team created a fun chess game called Dutchess at the Building Blocks Hackathon that used a combination of technologies like Ethereum, Solidity, Quorum, and Hyperledger Sawtooth.

Jonathan Levi from HACERA explaining different technologies powering Dutchess

At Hyperledger, we envision a world of many chains, some public like the crypto-currencies and some permissioned like you will see in healthcare settings. That’s why we focus on developing the common frameworks for building all kinds of chains. Our diverse developer communities remain diligent in helping the industry advance interoperability above the layer of the DLT, and are on constant look out for simple and open cross-blockchain approaches. An early example of this was the integration between the Hyperledger Sawtooth and Hyperledger Burrow projects last year. As a result of that integration, simple EVM smart contracts can be deployed to Hyperledger Sawtooth using the “Seth” (Sawtooth Ethereum) Transaction Family.

“This integration validates that positioning and establishes a strong upstream-downstream relationship between the Sawtooth and Burrow projects. Successful open source endeavours are community driven, collaborative efforts and this linkage between the Hyperledger Sawtooth and Hyperledger Burrow teams reinforces that ethos.” – Adam Ludvik, Bitwise IO & Casey Kuhlman, Monax  

Building on that development, the Hyperledger Sawtooth community released a feature called Dynamic Consensus, which goes beyond pluggable consensus to allow networks to change consensus on the fly. Hyperledger Sawtooth supports three consensus protocols right now and two more are in development. Also in development, is a change to the Sawtooth consensus API that will allow consensus providers written in a variety of languages. This follows a similar pattern to Sawtooth’s support for smart contracts in a variety of languages. This expands the breadth of possible consensus algorithm andprotocols that can be easily coupled to Sawtooth. A more recent example is the Hyperledger Fabric community, which has been working hard to create a bridge to the Ethereum community, so that developers can write EVM smart contracts on Fabric. The hope is that our community will continue to tighten integration and interoperability across Hyperledger projects and beyond, allowing a greater number of available options for developers. We hope that even more developers can start to think out of the box, connecting blockchains, and doing it securely. The problem of working with more than one technology stack is no longer a technical one.  

Community Architect, Tracy Kuhrt presenting at the Hyperledger NYC Meetup after Consensus

Hyperledger was established to bring together related, and even competing, technologies with the expectation that the common governance will lead to interoperability and gradual consolidation. Interoperability will be essential to the widespread adoption of blockchain technology because that is what will help the blockchain business ecosystem standardize and thrive. As Brian mentioned to The Wall Street Journal, standards are hard, but getting everyone to agree will end up being the bigger challenge:

“I think the tech is ready for the volume of transactions people want to throw at it and the flexibility of programming models that they want. It’s really the governance. It’s hard enough for one organization to launch any new product. Getting multiple parties to agree on anything — like a time of day for a meeting, let alone a common application — will end up being a bigger challenge. Standards are hard. These things are alive and humming like a benzene ring. They depend upon everybody running the right thing at all times. That I think operationally will be the big challenge.” – Brian Behlendorf

We look forward to the rest of 2018 and all the progress to be made with interoperability. We hope you join us in the effort by contributing to Hyperledger projects.

You can plug into the Hyperledger community at github, Rocket.Chat the wiki or our mailing list. As always, you can keep up with what’s new with Hyperledger on Twitter or email us with any questions: