J-Spring 2018: Emond Papegaaij – Hyperledger Fabric and Java

In this video

Blockchain is the hype of the moment. Seemingly everything gets better with blockchain and company values skyrocket when including blockchain in their name. Although many of these stories may have to be taken with a grain of salt, blockchain technology itself is a very interesting development. To find out more about the possibilities, we decided to go on a journey of exploration in this strange world. This journey led us from certificate authorities, peers, orderers, experimental builds, endorsement policies to even more strange places with which it will be hard to impress anyone in your social life. Still, I would like to take you with me in this story about Hyperledger Fabric and Java.
Hyperledger is part of the Linux Foundation and houses and promotes various open source blockchain initiatives. Fabric is a blockchain framework developed by IBM and with its 1.1 release it is one of the more mature projects within Hyperledger. It has a very flexible architecture where you can write smart contracts in Go, Javascript, and for the bravest among us, also in Java. The latter is not officially supported and requires an experimental build. Which of course provides more fun to play with as a real techie. Thanks to the Java SDK for client applications, you can do cool things with blockchain without leaving the comfort zone of Java. The learning curve is quite steep and includes a wild jungle of terms such as endorsement policies, shims and orderers. Fortunately, you can now attend a presentation about all this.
A blockchain application is not your average CRUD application. Interaction with a blockchain is very different from interaction with a (No)SQL database. You have to continuously consider endorsement policies (there’s that term again) and the possibility that different peers do not share their opinion about a certain transaction. Also the code that runs within the blockchain, the Chaincode, is special. The environment in which Chaincode operates is very limited in its interactions with the outside world. Messages come in, answers go out and you have access to the world state. You will therefore have to think carefully about the structure of these three components. In addition, the deployment model is very different from what we are used to in the Java world. Especially upgrading the Chaincode and the permissions and policies certainly deserve some special attention.
Since there is plenty to tell about Hyperledger Fabric and Chaincode, I will not introduce blockchain itself. You do not have to be an expert in this field, but I do expect you to be familiar with the principles. If you have any doubts about this, read the IBM E-Book Blockchain for Dummies briefly. That should provide enough foundation to attend the presentation.
Bio Emond: Emond Papegaaij is een Plain Old Java Ontwikkelaar bij Topicus Security en de grondlegger van de Identity & Access Management oplossing Topicus KeyHub. Ook is hij een actief lid van de open source community, waar hij onder andere committer is op Apache Wicket. Al sinds zijn studie Technische Informatica aan de Universiteit Twente heeft hij al een voorliefde voor wiskunde. Cryptografie, waar blockchain zwaar op steunt, valt dus helemaal in zijn straatje.

You might be interested in