Category

Blog

Developer showcase series: Brian Wu, Coding Bootcamps

By | Blog, Developer Showcase

Back to our Developer Showcase Series to learn what developers in the real world are doing with Hyperledger technologies. Next up is Brian Wu of Coding Bootcamps

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

To start your career in this space, you should spend as much time as you can reading blockchain news, white papers and books. Understand the basic blockchain concept from examples like Bitcoin, Ethereum and Hyperledger Fabric. Read Nakamoto’s Bitcoin white paper and Hyperledger blockchain books, visit Ethereum.org website and watch youtube videos. You also need to run some examples, so start to write a smart contract to get some hands-on experience.

Give a bit of background on what you’re working on, and let us know what was it that made you want to get into blockchain?

I am a software architect with 17 years of experience working on blockchain, big data, cloud and other emerging technologies. I am currently working on a large blockchain project in the finance industry.

In today’s technologically advanced world, blockchain is a cutting-edge and revolutionary technology. The decentralized P2P features give it the potential to influence every aspect of the global economy. Decentralized applications are becoming more popular. However, we are still in the early stage of blockchain evolution so now is an excellent opportunity to get involved in this space.

What are the main differences between teaching Hyperledger to students and developing Hyperledger applications?


While teaching at Coding Bootcamps, I often get questions from students that help me view blockchain development differently. For example, during the class we follow recipes that are small models of actual, larger scale projects from my daily work. Thus, teaching concepts help me refresh my knowledge and skills that are essential in my everyday job.

What do you think is most important for Hyperledger to focus on in the next year?

Hyperledger Fabric FabToken with EVM integration.

Tell us briefly about your books on Hyperledger? What Hyperledger technology they cover and what inspired you to write your books?

Hyperledger Cookbook helps developers plan, design, and create a full-fledged enterprise decentralized application using Hyperledger technologies. The book explores the entire Hyperledger blockchain family, including frameworks, such as Fabric, Sawtooth, Indy, Burrow, and Iroha, and tools, such as Composer, Explorer, and Caliper. It is also packed with problem-solution-based recipes to tackle pain areas in the blockchain development cycle.

There are few (if any) books currently on the market that discuss the entire range of Hyperledger projects as they are mostly focus on Fabric and Composer technologies. I think reading a good hands-on Hyperledger book can help readers to get more knowledge and insights by working on practical examples and recipes. Practical resources are great for preparing you to start developing and deploying these technologies.

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?

Hyperledger recently added two projects to its family – Hyperledger Aries and Hyperledger Ursa – that focus on digital cryptographic security. The zero-knowledge proofs have become quite popular in blockchain today. Expect to see more use cases for applying these technologies.

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

Performance

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

In next 5-10 years, a lot of industries will start embrace blockchain, leading to a range of career opportunities:

  1. Most  finance companies will leveraging blockchain technology on their payment system and other finance service.
  2. National cryptocurrencies will emerge.
  3. Blockchain will tightly integrate with  the most popular technologies such as AI, big data, cloud and IoT.  
  4. Web 3.0 will be powered by blockchain technology.

What is the best training advice for those who want to build a career in blockchain or Hyperledger?

Learning blockchain is different than learning one single coding language like Java or Python. Before you start coding blockchain, you have to know lots of concepts such as cryptography, decentralized networks, etc. After learning these concepts, you need to learn a coding language like JavaScript, C++, Python or Java. Currently, the easiest and most popular programming language for building Hyperledger applications is JavaScript (for instance, frameworks like Node.JS and React.js are common). Also, you need to know how to design a database. MongoDB is the most popular database for Hyperledger blockchain applications.

Learning blockchain via online free resources is slightly difficult and lengthy but not impossible. Since blockchain is relatively new, you may not get as much community support from other developers compared to more popular coding languages like PHP, HTML, etc. Thus, it is a good idea to take hands-on training classes to learn it fast and thoroughly.

My last piece of advice is that you should align your learning with an industry-recognized certification like Certified Hyperledger Fabric Administrator. Gaining a reputable certification adds lots of credibility to your resume and credentials.  

What is the best piece of career advice you have for blockchain beginners?

First of all, I welcome you to the world of blockchain. You should be patient as there are lots of things you need to learn and master. Second of all, follow my advice on training, especially gaining an industry-recognized certification. The next step for securing a high paid career as a blockchain consultant or developer is to build your portfolio by contributing to blockchain projects or creating new ones. Improve your soft skills like communication, networking, etc.

Last, but not least, make sure to polish your resume to reflect your passion, knowledge and expertise in blockchain development by listing technologies like Hyperledger or blockchain coding languages and projects that you’ve done.

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

Never stop learning

What technology could you not live without?

Internet

Sawtooth PBFT, Part 2: Extensions and Changes

By | Blog, Hyperledger Sawtooth

The upcoming release of Hyperledger Sawtooth 1.2 includes Sawtooth PBFT—a new, Cargill-sponsored, production-ready consensus algorithm. Sawtooth PBFT is much more than a basic implementation of the PBFT consensus algorithm that was originally defined in 1999. Sawtooth PBFT has all the core features of the original definition—it provides the same safety and liveness guarantees—but we have adapted the algorithm to take advantage of features unique to blockchains, and extended it to provide more flexibility and robust guarantees.

In two earlier blog posts, Making Dynamic Consensus More Dynamic and Introduction to Sawtooth PBFT, we introduced Sawtooth’s dynamic consensus interface and explained how the PBFT consensus algorithm works from a high level. In this post, I’ll describe the adaptations and enhancements that helped us bring a robust PBFT consensus algorithm to Hyperledger Sawtooth:

  • Sequence number simplications (no more watermarks)
  • An idle timeout to guarantee more liveness
  • Regular view changes for fairness
  • A consensus seal as proof of commit
  • No checkpoints for garbage collection
  • A catch-up procedure for slow and new nodes
  • Membership changes

Sequence Number == Block Number

In traditional PBFT, the primary node assigns a sequence number for each request when it broadcasts a pre-prepare message for the request. In Sawtooth PBFT, the “requests” are actually blocks that are created by a Sawtooth validator. Blocks in Sawtooth are ordered; we can take advantage of this ordering to simplify the sequence numbering in PBFT. Instead of assigning a sequence number for each block, the primary node will just use the block number as the sequence number.

This simplification makes the algorithm easier to understand. It also means that secondary nodes don’t need to check that the primary node picks reasonable sequence numbers. Originally, nodes would have to make sure that the sequence number was between a low and high watermark, in case the primary node picked a number that was so high that it exhausted all of the possible sequence numbers. Now that the sequence number is automatically determined by the block number, a secondary node only needs to check the pre-prepare message to make sure that the sequence number matches the block number of the block in the message. It’s as simple as that!

More Liveness with an Idle Timeout

One liveness problem that traditional PBFT does not solve is the “silent leader” problem. The leader is responsible for building and sharing blocks with the rest of the network to start a new round of consensus. Even if transactions are being submitted to the network, the leader could stay silent by never sharing a block with the network; this “silent leadership” would allow the leader to halt progress indefinitely.

To solve this problem, we implemented an idle timeout as a new way to trigger a view change. After a block is committed, each node starts its idle timer. The primary node must publish the next block and broadcast a pre-prepare message for the block before the timer expires. Otherwise, a secondary node will initiate a view change.

The idle timeout provides more robust liveness by ensuring that a faulty primary node can’t stall the network indefinitely. This timeout can lead to unnecessary view changes, though; if the network really is idle (no transactions are being submitted), then the primary node isn’t faulty when it doesn’t publish a block, since the Sawtooth validator does not publish a block when there are no transactions. The cost of these extra view changes is negligible, however; when the network is idle, a view change will not hinder the performance of the network.

Pseudo-Fairness with Regular View Changes

Determining if a leader is acting fairly is a very complex and challenging problem; there is still a lot of research being done to solve it.

To get us a step closer to fairness, we introduced a regular view change mechanism to Sawtooth PBFT. This mechanism is fairly simple: after every nth block is committed, the network will “force” a view change by incrementing its view by one. The number of blocks between forced view changes is called the forced view change interval, which is a configurable setting.

Regular view changes reduce unfairness by not allowing any node to control block publishing for too long; instead, every node gets a chance to be the leader for a period of time. While this doesn’t completely solve the fairness problem, it limits unfairness in a way similar to Tendermint and lottery-style consensus algorithms. This solution is also inexpensive: since the view change is “forced” (the view number is directly incremented) at a consistent point across the network, we don’t need the expensive view changing procedure.

Consensus Seal

The original PBFT algorithm does not define a reliable way to check if a block was committed validly (that is, when 2f + 1 nodes agreed to commit the block). The only way to check this would be to request each node’s commit messages and count them. The problem with this approach is that old messages might be unavailable if the messages were removed (garbage collected) or if a node is no longer part of the network.

To overcome this limitation, we implemented a consensus seal for each block that is committed. The consensus seal is a signed data structure that contains a block ID and 2f signed commit messages for that block ID. This seal proves that the network agreed to commit the block and that the block was committed validly.

The seal is stored on the blockchain itself, which means that the seal is immutable and can be checked at a later point. A seal can’t be inserted directly into the block that the seal is for, however, due to the way blocks are constructed by the Sawtooth validator. Instead, the seal is added to the next block that is committed to the blockchain; thus, each block contains the consensus seal for the previous block. This approach has a limitation—the most recently committed block can’t be validated using a consensus seal, since there isn’t a subsequent block yet. However, all previous blocks in the chain can be validated to ensure that they were committed validly, which is a useful guarantee.

Catching Up

In the real world, distributed networks face failures, segmentations, dropped messages, and many other hiccups. When these issues arise, nodes may fall behind, so they need a way to catch up to the rest of the network.

Sawtooth PBFT uses a special catch-up procedure that takes advantage of the consensus seal extension. The catch-up procedure is best illustrated by an example.

Let’s say the network as a whole has committed block 100, but a node has fallen behind and has only committed blocks up to block 90. When the slow node eventually gets block 91, it waits for a pre-prepare message from the primary node. Because the network has already moved past this block, though, the node never gets this old pre-prepare message. Instead, the slow node gets block 92, which contains a consensus seal for block 91. The node examines the seal from block 92 to make sure it’s valid, then commits block 91. Our node knows that it can skip the usual consensus procedure because the consensus seal in block 92 proves that the network agreed to commit block 91.

The node follows this procedure until it commits block 99. At this point, it needs to do something different. Because there is no block 101 yet, the node doesn’t have a seal for block 100. So the node broadcasts a request to the rest of the network for a consensus seal for block 100. If another node has already committed block 100, that node builds the seal and sends it directly to the node that requested it. When the node receives the seal, it will verify the seal and commit block 100. The node that fell behind is now up to date!

Who Needs Checkpoints?

As originally defined, PBFT uses a checkpoint procedure to perform garbage collection for each node’s log of consensus messages. In this procedure, the nodes exchange messages to come to consensus on the current version of state. When the nodes have agreed on the current state, they save these messages as proof of the agreement, then discard all previous consensus messages.

Sawtooth PBFT does not need this checkpoint procedure. Because each block contains a consensus seal that provides proof of the validity of the previous block, and each block is immutable and permanent by nature of a blockchain, every block contains a checkpoint that will be kept forever. This means that the nodes can clean up old log messages any time they wish, while the state can still be verified using the consensus seal.

Membership Changes

Another fact of the real world is that network membership can change. This happens for a variety of reasons: a node may need to be replaced or a new company might want to join a consortium’s network. The original PBFT algorithm does not define a procedure to change membership of a PBFT network, so we implemented our own.

In Sawtooth PBFT, membership in the network is determined by an on-chain Sawtooth setting, sawtooth.consensus.pbft.members, which is a list of the public keys of all nodes in the network. Since this list is on the blockchain itself, it’s shared and agreed on by the whole network, which makes changing membership easy.

An administrator can update the on-chain setting to add, remove, and reorder nodes by submitting the change as a transaction. Each time a block gets committed, all PBFT nodes check this setting to see if it changed because of a transaction in that block, then update their local state if necessary.

Like forced view changes, a membership change is done at a consistent point across the network: when a block is committed. This consistency makes the local view of membership on each node easy to update in an atomic way. This approach to membership also makes it easy to check the historical membership throughout the life of a Sawtooth blockchain managed by PBFT consensus.

Summary

Sawtooth PBFT has a lot to offer. It not only includes all the functionality you would expect from PBFT, but it adds features and optimizations for real-world use. We’ve developed new solutions to overcome limitations of traditional PBFT. Plus, we’ve been able to take advantage of the properties of a blockchain, such as immutability and ordering, to make the algorithm more efficient and robust.

Want to Learn More?

These features are all new to PBFT, and some of the implementations are unique among published consensus algorithms. If you’re interested in learning more about our PBFT extensions, read the regular view changes RFC, consensus seal RFC, and PBFT catch up RFC. Also, check out the Sawtooth PBFT documentation and source code on GitHub.

Do you have questions? Do you have comments or concerns about how the extensions work? Let us know in the #sawtooth-consensus-dev channel on Hyperledger Chat!

Stay tuned for more news and info about the upcoming Sawtooth PBFT 1.0 release.


About the Author

Logan Seeley is a Software Engineer at Bitwise IO. He has been a part of the Hyperledger Sawtooth community since May 2018,


Hyperledger Kicks Off its 2019 Summer Mentorship Program

By | Blog

Today, Hyperledger kicks off its 2019 Summer Mentorship program, a hands-on, paid opportunity for students from around the world to gain real world experience advancing open source blockchain technologies. Now in its third year, the program welcomes 17 mentees from 12 countries. They will be paired with 25 mentors from 17 organizations, ranging from IBM to the Budapest University of Technology and Economics and from VMware to Técnico Lisboa and Soramitsu.

Together, they will tackle a line-up of projects that provides new developers exposure to Hyperledger open source development and entry to the technical community. The program, formerly known as the Hyperledger Summer Internship program, has grown in size and popularity, expanding from six projects in the first year to 17 this summer. More than 300 students from 36 different countries across Asia, North, Central and South America, Europe, Africa and Oceania applied this year.

Hyperledger renamed the program to put an emphasis on mentoring as a key path to growing the community for open source development and enterprise blockchain. Mentees will be tackling research and development projects key to advancing the Hyperledger ecosystem and enterprise blockchain. They will also get a leg up in building their networks and their resumes.

Hyperledger views its Summer Mentorship program as a win for the whole community as mentoring is key to career development at every stage. Open source communities thrive when there is ongoing learning and collaboration across markets, organizations, and experience levels. Bringing a new generation into the Hyperledger community is a growth opportunity for all.

We asked some of our mentors about the role mentorship has had in their career development and what they see as the benefits of this program for them, their mentees and their projects. Here’s what we learned:

Swetha Repakula, IBM Open Technology

From a young age, I have been fortunate enough to have mentors that have helped me find what I am interested in and guide me towards a path of success. In open source, I have found mentorship is very important, and I have had some great guidance from people inside IBM and outside. These people helped me find my voice and showed me how to navigate open source development to be a productive member in the community.

The mentorship program is a great focused way to introduce new developers to the Hyperledger community and more broadly open source development. I believe mentees will leave with skills that will help them throughout their career. As a mentor, I am looking forward to sharing the things I have been taught and passing on the lessons I have learned. Last year I really enjoyed working with our intern and being one of the first people to introduce her to the world of open source. This year, I am a co-mentor of a project that entails adding a new contract runtime option to Fabric that I am very excited about. I think there is a lot of potential, so I am looking forward to seeing what our intern creates.

David Huseby, Hyperledger, The Linux Foundation

I am always excited when the Hyperledger mentorship program gets going each year. During the process of developing enterprise blockchain platforms we always discover really interesting applications and integrations with the technology. The mentorship program gives our community the chance to explore the opportunities more. It’s the fun that we get to have after all of the hard work. I can’t help but be excited and this year is no exception.

For me, being a mentor keeps my perspective on the open source community fresh and gives me an opportunity to challenge my own assumptions. Fielding mentee questions and addressing their roadblocks gives me the chance to see our community through their eyes. That fresh look is valuable to me.

For me, the benefits are that I get to influence the open source culture by introducing mentees to it with the right set of assumptions and openness. The mentees get direct access and influence over core Hyperledger technology. It’s a great resume builder and the connections created are valuable. As for Hyperledger, we get to direct the mentees to explore the exciting opportunities that we discover while building the technology but don’t have time to do.

Laura Spinaci, Blockchain & Innovation Mentoring Lab

Mentorship is something that I always look for through online resources and groups.

40% of what I know and of the experience I have comes from meticulously following subject matter experts in fields I was interested to learn outside jobs I’ve held. The same holds true for blockchain. That’s why last year I founded the Blockchain & Innovation Mentoring Lab, where I give developers and blockchain professionals the opportunity to get hands-on, concrete experience with Hyperledger use case implementations.

Mentoring is based on a mutual exchange of knowledge, experience, and interests.

The best way to learn is to teach, plus I would like to find a way to model and scale the Hyperledger Mentorship program through my own mentoring program.

I believe that working from inside Hyperledger will give my mentee the opportunity to understand the genuine value of this community, which is sometimes misunderstood from the outside, and the training to use tools that the community offers freely to those looking to enhance their knowledge and experience in blockchain. He should also make connections that can be really beneficial for his future career.

We are working on SSI Identity applied to IoT devices in Telecom industry. Blockchain is the catalyst of IoT and will be the invisible technology that will allow IoT massive adoption.

It is key to overcoming the main IoT challenges (security, privacy, mobility, heterogeneity, etc) through standards (like DID and verifiable claims).

Telcom is in the early stages of its blockchain development, but the impact that SSI will have in this industry (and others) combined with IoT will be huge. I’m looking to expand the scope of this project outside the internship also through my mentorship program.

Rafael Belchior, Técnico Lisboa  

Mentorship has the potential to completely change the course of a career. One of the secrets of success is to find a dedicated mentor that can help remove blockades and indicate the right direction. As a student, mentorship propelled me to explore my skills and strengthen them, while developing myself as a person. As a mentor, I have the chance to not only help someone improve but also myself. Mentorship is a great way to learn about ourselves and learn how to teach. Helping and teaching others allow us to discover new skills and, conversely, find out what we need to work on.   

The Hyperledger Summer Mentorship provides a unique opportunity to get involved with the fantastic open-source community behind Hyperledger projects while working on a project valuable to society. My mentee will have great networking opportunities while having a unique learning experience: the possibility to tune skills related to blockchain theoretical and practical concepts. Furthermore, she will have access to valuable feedback and guidance.

Our project, Hyperledger Fabric-Based Access Control, will leverage Hyperledger Fabric to store access control components (for instance, user attributes, or variables linked to a context) to be used on different use cases. This allows a system (for instance, a healthcare system) to delegate its access control processes to the blockchain. Chaincode can be used for enforcing access requests, to take advantage of different blockchain properties, namely auditability, traceability and decentralization. This project can help decentralizing trust relative to access control, being an attractive solution to multi-enterprise scenarios or public administration.

Salman Baset, security and blockchain guy

Mentorship has played an important role throughout my career. I have tried to seek mentors that provide me with a diverse perspective, which can open my eyes to the unknown horizons.

Interacting with students is always refreshing allows one to see things from a fresh perspective. My hope is that my mentee will become an active contributor or user of open source projects. The ultimate goal of the project I am mentoring this summer is to make it super easy to analyze the provenance of data stored in a Hyperledger Fabric-based network. My wish is for this project to transition into a Hyperledger Lab, and ultimately, an incubation project for analyzing data stored within a Fabric-network.

Attila Klenik, Budapest University of Technology and Economics

A good mentor-mentee relationship is an immense help in getting a grip on a complex domain, such as blockchain technologies. Even with expert guidance, blockchain-based projects have a steep learning curve.

I was also a Hyperledger Intern in 2016, and I found the open-source Hyperledger umbrella a little bit intimidating at first. But my mentor helped me to break down the problems and challenges into manageable chunks. He taught me to proceed in small increments with my solution. This was the first valuable takeaway for me as an intern, and I intend to use the same approach now, as a mentor.

The second takeaway I’d like to emphasize is that mentoring shows its true potential when applied on the community level. You cannot be an expert at everything, so you must learn to reach out to the community. Especially when working on a project (e.g., Hyperledger Caliper) that requires a broader understanding of multiple other projects.

My first Hyperledger Hackfest event played an important part in connecting with the community (and several project maintainers), which put me on the way to later becoming a project maintainer myself, and now a mentor in this program. So I would encourage the mentees to jump into the community waters and explore the different projects (including the other internship projects).

Being a mentor in an international program will definitely be a useful and new experience for me. I expect that consulting someone new to the Caliper project will also help sharpen my skills with the community as a project maintainer.

Caliper is still under active development, moreover, it interacts with multiple other projects as well. Thus the mentee will have an opportunity to closely work together with the project contributors, as well as the Hyperledger community, and not just with his mentors.

The mentorship project will be an integral part of Caliper, enhancing its usability and easing its adoption throughout its users. I have great hopes that this collaboration will benefit everyone, and further increases the momentum of Caliper.

Jiahao Chen, VMware

I have had several mentorship experiences in my career so far, and each of them was memorable. Mentorship helps me make improvements, not only in programming skills but also in the skill of how to ask questions. Proper communications can make people closer and drive them to put more enthusiasm into their work.

The benefits of this program for me will be to communicate and get feedback from the mentee and make progress together.

Our mentee can improve his skills and expand his horizon with assistance from mentors like Baohua, Haitao, Litong and me.

This mentorship program could also help improve the quantity and user experience of our project.

Featured image: Photo by NESA by Makers on Unsplash

Hyperledger Launches New Supply Chain Special Interest Group

By | Blog, Special Interest Group

Hyperledger has launched its sixth cross-industry Special Interest Group (SIG), the Hyperledger Supply Chain SIG, to facilitate focused technical and business-level conversations related to appropriate use cases for blockchain technology across Supply Chain management. The new group will cover a broad range of topics, including logistics, provenance, authentication, track-n-trace, related IoT utilization, and similar inter-related areas of interest. SIG participants will also contribute requirements to Hyperledger’s supply chain project, Grid. Hyperledger Grid intends to provide reference implementations of supply chain-centric data types, data models, and smart contract based business logic – all anchored on existing, open standards and industry best practices.

The distributed ledger of blockchain is already enhancing collaboration among shippers, carriers, and forwarders as well as producers and manufacturers, who themselves represent every industry imaginable. Blockchain is taking on a growing role in ensuring reliable tracking of goods in Logistics and Supply Chain and has the potential to help reduce delays caused by manual, often “paper-based” cross-border, settlement, tracking, and regulatory processes.

There are many challenges to overcome before blockchain elements like DLT and smart contracts can be deployed widely in the logistics and supply chain industry. According to DHL’s research, “Likely the biggest challenge will be achieving successful industry adoption through collaboration and even co-opetition between diverse Logistics and Supply Chain stakeholders that have legacy processes and varying interests.”

The new Hyperledger Supply Chain SIG, led by chair Jay Chugh, Senior Director, Oracle Cloud, and vice chair Joshua Q. Satten, Senior Director of Blockchain (North America), Wipro Limited, is designed to address some of these challenges by bringing the collective wisdom of the community in a vendor-neutral, open source manner, using the various available components of the overall Hyperledger open-source blockchain framework.

This SIG will serve as a platform for the community to share knowledge and build collaborative efforts, learning from each other’s experiences, successes, and challenges. The potential for blockchain in Logistics and Supply Chain will be predicated by moving from concepts and pilot applications to viable deployable solutions, built on lessons learned via open collaboration.

“Blockchain is a game changer for Supply Chain transparency and efficiency. Hyperledger’s Supply Chain SIG aims to harness the collective wisdom of experts in blockchain and supply chain to collaboratively bridge the gap between real world and theory, and advance the adoption of Hyperledger blockchain in supply chain.” – Sarabjeet (Jay) Chugh, Senior Director, Oracle Blockchain, and SC-SIG Chair

The Hyperledger Supply Chain Special Interest Group

The Hyperledger Supply Chain Special Interest Group (SC-SIG) represents a global membership of logistics and supply chain professionals united in advancing the state of the supply chain industry through the implementation of enterprise-grade technology solutions utilizing the Hyperledger greenhouse of business blockchain frameworks and tools.

The activities of the Supply Chain SIG will include:

  • Identifying related reference architectures (for example  business and integration architecture, technical and infrastructure architecture), frameworks such as Hyperledger Grid, and models (OSI), use cases, current pilots and proofs of concept, and production case studies;
  • Sharing stories of successes, failures, opportunities and challenges;
  • Exploring and addressing cross-cutting architectural principles, options and decisions  like performance and scalability, security, identity management and privacy, and identity in logistic contexts;
  • Identifying existing or needed common critical software, middleware, and hardware components that would serve the particular needs of supply chain.
  • Working towards proposing solutions to the problems identified;
  • Identifying conferences or other opportunities to connect face to face, as well as submit talks or present as a group at an event;
  • Identifying the business community and building an inclusive platform for early adopters to contribute with their experiences;
  • Identifying all different protocols across supply chain to build standardization across the different parties and efforts; and
  • Supply Chain best practices, awareness of and working in accordance with such rules as customs & import export regulations.

“Addressing distributed & decentralized frameworks for enterprise and cross-industry Supply Chain management is a truly unique need that will be addressed through this new Hyperledger SIG. What makes this special is the confluence of players coming together to advance standardization and adoption including those from transportation, logistics, and major companies from just about every major industry you could think of; whether you’re in consumer goods, technology, aviation, commodities, or just about any other non-virtual business, a company’s supply chain is something that exists as the core of both of its current profitability and its future desired operating model.” – Joshua Q. Satten, Senior Director of Blockchain (North America), Wipro Limited, and SC-SIG Vice Chair

How to get involved in Hyperledger Special Interest Groups

SIGs gather community members from an industry segment to work on domain-specific problems and create an environment for open discussion, document co-creation and solution proposals. SIGs help specific vertical markets in their efforts to address problems specific to that particular community. Hyperledger now has six SIGs, including ones focused on healthcare, telecom and social impact.

Participation in any SIG is open to everyone in the community. Each group has an open e-mail list, a Chat channel, and a wiki page. Live meetings are also held regularly via web teleconference. When needed, a task force can also be created within the SIG and have working sessions to discuss specific work items.

If you’re interested in joining the Supply Chain SIG, please subscribe to the mailing list and join the Chat channel where meeting details will be announced. You also can visit https://wiki.hyperledger.org/display/SCSIG or find a list of other community meetings on the Hyperledger Community calendar. We look forward to your participation and contributions!

Developer showcase series: Nadeem Bhati, High School Technology Services

By | Blog, Developer Showcase

Back to our Developer Showcase Series to learn what developers in the real world are doing with Hyperledger technologies. Next up is Nadeem Bhati of High School Technology Services.

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

Blockchain is fairly new technology. You won’t find experts with 10+ years of experience. Everybody is learning and growing together, which makes this field very enjoyable onceyou get into it. Having a level playing field helps new entrants get confidence quickly. Some great way of getting started include enrolling in a certification program, attending community meet-ups and participating in hackathons. You meet new people, share ideas and learn from each other, which makes this journey more enjoyable.

Give a bit of background on what you’re working on, and let us know what was it that made you want to get into blockchain?

Working on blockchain is working on the cutting edge of technology right now.There are very passionate people backing blockchain technology because they are confident that it has the potential to start a revolution. From decentralized currency to business transaction between parties in a trustless environment, blockchain has a varied range of use cases.

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

I am currently working on a pharma-trading platform that resolves the issue of drug counterfeiting using Hyperledger Fabric. Previously, I worked on platforms for energy distribution on Hyperledger Fabric  in which group of households, or group of societies, connected by a power-grid form a network of nodes. These nodes can buy/sell energy generated by non-conventional ways such as solar. I have also worked on stocks-bonds trading proof of concept, on Hyperledger Fabric as part of my exploration of blockchain use cases. Many of my proofs of concept  are either in development or have seen their 1.0 releases.

What are the main differences between teaching Hyperledger to students and developing Hyperledger applications?

While teaching at High School Technology Services, I often get lots of questions from students that help me in looking at blockchain development differently. For example, in-depth discussions on sovereign identities, asynchronous cryptography and consensus algorithms have widened my perspective on how layman and new entrants as well as experts feel when they think of blockchain. This has helped me in my personal research into blockchain and making my developed platforms more user friendly.

What do you think is most important for Hyperledger to focus on in the next year?

Recently, FabToken was introduced in the latest release of Hyperledger Fabric. Further inclusion and improvement to make fabric more versatile should be expected.

I would personally like to see Hyperledger Composer development to be taken up again as it is a tool that has motivated many individuals, including me, to head towards Hyperledger

Other things on my wish list include pluggable interfaces and documentation.

Also, it would be interesting to see when we are able to easily integrate crypto-currencies into Hyperledger Fabric blockchains natively.

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

I have a list:

  • Sovereign Identity and inclusion of better identity solutions in current web infrastructure.
  • All sorts of registries published on chain for security and easy verifiability.
  • Cryptoeconomics, micropayment schemes to reward publishers of good content.
  • Testing ground for new market designs like frequent batch auctions, combinatorial auctions and automated market makers.

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

Blockchain is a revolution that promotes transparency. You build peer-to-peer self-sustaining applications that can stand its ground. From destabilized governments to supply chain vendors, use cases of blockchain are endless. Control over personal information is vital and can be successfully addressed using blockchain.

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

I have another list:

  • Many dapps replacing centralized applications.
  • Peer-to-peer marketplace for internet connections/incentivized mesh networks.
  • Identity, reputation and credit systems for those that currently have few resources such as refugees.
  • Decentralized DNS alternatives like ens.domains .
  • Blockchain flourishing in production environments across a range of use cases.

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

Software development never stops evolving. It’s important that one always keeps learning and evolving. Get comfortable with being uncomfortable and adapt the growth mindset as this will ensure that you never stagnate.

What technology could you not live without?

The internet.

This global computer network providing a variety of information and communication facilities has deeply affected my life and learning.

Developer showcase series: Alishba Imran, The Knowledge Society

By | Blog, Developer Showcase

Back to our Developer Showcase Series to learn what developers in the real world are doing with Hyperledger technologies. Next up is Alishba Imran, a 15-year-old machine learning and blockchain developer and nanotech researcher at The Knowledge Society. She’s interested in leveraging these tech and sciences to solve some really important problems with human reproduction and healthcare.

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

I would highly recommend taking courses, replicating projects, and talking to industry leaders in blockchain. The blockchain community is still fairly new, but you’d be shocked to see that there are so many resources out there for youth to get started. There’s still lots of work to do, but resources like IBM’s cloud service built on Hyperledger Fabric are very helpful. I think the best way to start learning is by replicating work that has already been done by other people. Once you have enough knowledge and sophistication in the topic, you can move to start creating your own projects. In this stage, I would highly recommend speaking with companies that are working in the space and setting up meetings. People are always willing to help, so just take initiative and reach out. The blockchain community is a small group, but it’s also a very interesting technology that can be used to solve some really big problems in our world.

Give a bit of background on what you’re working on and how you got into blockchain?   

I’m a 15-year-old innovator from The Knowledge Society. I got introduced to blockchain through The Knowledge Society (TKS), which is a human accelerator program for youth where we are learning about emerging tech/sciences and leveraging them to solve really important problems in our world. Through this program, I got to learn about blockchain and the mindsets and skills to start making my own projects. One of my most recent initiatives is called Honestblocks, which is a clockchain platform I developed using Hyperledger Fabric/Hyerpledger Composer that allows people in developing countries to manage their healthcare data and track their products. A huge issue in these countries is counterfeit medicine. Around 30-40% of medicine in many markets is counterfeit. I wanted to solve this issue by tracking medicine in the supply chain before it reaches the consumer. I partnered with a doctor in India to help develop the pharma side of the project. The platform is set to be tested in a few clinics in India. I also won Youth Innovator for this project at the Enterprise Blockchain Awards (EBA) this year!

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

Let’s say you just immigrated to a new country. In today’s world you would have to go through a lengthy process and paperwork to get your passport and documents. Even after you get them, there’s a chance that any of the online form of identification can be manipulated/tampered with. But in the blockchain world, governments will give out identities. This will enable anyone to have their own blockchain identity. There will only be one per person, giving every person one tamper-proof way to  access to all the services. Then, when you need to go to the doctor, all your medical records will be stored on a blockchain. You can grant access to required information to hospitals, insurers, or your doctor. All your money transactions are completely done by cryptocurrencies. I imagine all companies and corporations would be decentralized. We would enter a self-sovereign society where you own all of your information. This is the type of world that is possible using blockchain. This is the future that excites me.

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

The best piece of advice I’ve ever received is to always keep pushing out content and moving forward. You need to be oriented for other people’s success. You can have the most knowledge in the world, but, if you aren’t building stuff and putting out useful content, no one would know. Drive and ambition are very important, but it’s vital to have a really good ratio between thinking and doing. My overall goal is to be the next female Musk or Jobs. I want to break down stereotypes that still exist for females in this industry and use technology to solve really important problems in our world.

Announcing Hyperledger Aries, infrastructure supporting interoperable identity solutions!

By | Blog, Hyperledger Aries

Identity is commonly cited as one of the most promising use-cases for distributed ledger technology. Initiatives and solutions focused on creating, transmitting and storing verifiable digital credentials will benefit from a shared, reusable, interoperable tool kit. Hyperledger Aries, the newest Hyperledger project (the13th!), is a shared infrastructure of tools that enables the exchange of blockchain-based data, supports peer-to-peer messaging in various scenarios, and facilitates interoperable interaction between different blockchains and other distributed ledger technologies (DLTs).

Hyperledger Aries intends to:

  • Provide code for peer-to-peer interaction, secrets management, verifiable information exchange, and secure messaging for different decentralized systems.
  • Foster practical interoperability in support of ongoing standards work and extend the applicability of technologies developed within Indy beyond its current community components from the Hyperledger stack into a single, effective business solution.

What is Aries?
Hyperledger Aries is infrastructure for blockchain-rooted, peer-to-peer interactions. It’s not a blockchain and it’s not an application.

It includes:

  • A blockchain interface layer (known as a resolver) for creating and signing blockchain transactions.
  • A cryptographic wallet for secure storage (the secure storage tech, not a UI) of cryptographic secrets and other information used to build blockchain clients.
  • An encrypted messaging system for off-ledger interactions between clients using multiple transport protocols.
  • An implementation of ZKP-capable W3C verifiable credentials using the ZKP primitives found in Ursa.
  • An implementation of the Decentralized Key Management System (DKMS) specification currently being incubated in Hyperledger Indy.
  • A mechanism to build higher-level protocols and API-like use cases based on the secure messaging functionality described earlier.

The generic interface of Aries will initially support the Hyperledger Indy resolver but is flexible enough so that someone could build a pluggable method using other DID method resolvers such as Hyperledger Fabric, Ethereum, or another DID method resolver they wish. These types of resolvers would support the resolving of transactions and other data on other ledgers.

Additionally, Hyperledger Aries will provide features and functionality outside of the scope of the Indy ledger to be planned and fully supported. We have reached out to other groups, including Ethereum-based decentralized identity efforts and others participating at the W3C to contribute to this code base.

With all of these capabilities, the open source community will now be able to build core message families that are necessary to facilitate interoperable interactions a wide variety of use cases involving blockchain-based identity.

Where did Aries come from?
Hyperledger Aries is related to both Hyperledger Indy, which provides a resolver implementation, and Hyperledger Ursa, which it uses for cryptographic functionality. Aries will consume the cryptographic support provided by Ursa to provide both secure secret management and hardware security modules support.

One of the main purposes of this project is to change the client layers in Hyperledger Indy to be interoperable with other identity projects. Hyperledger Indy has been incubating protocol work for peer interactions between identity owners for some time but as the development community has grown, it has become clear that the scope of that work extends beyond the functionality provided by Indy for support of other systems and networks.

With the main wallet and cryptographic code moving to its own project, it makes sense to move the pieces necessary to support that process with them in order to support a standards-driven approach and avoid cross dependencies between Indy and Aries.

What’s next for Aries?
The ultimate goal of Hyperledger Aries is to provide a dynamic set of capabilities to store and exchange data related to blockchain-based identity. These capabilities will range from the secured, secret storage of data such as private keys, up to the capability of globally accessible data that can be viewed and accessed by anyone. An example of such support is the creation of a secure storage solution similar to the wallet available in Hyperledger Indy today.

Other Aries functionality that would be in scope for a 1.0 project release would be a Decentralized Key Management Solution (DKMS) which would add key recovery, social recovery, and wallet backup and restore functionality. Using DKMS, clients will need a way to interact with one another peer to peer that is currently in development within Hyperledger Indy. Much of this work would be based on the DKMS documents outlined in the Indy-HIPE dkms design folder. This would be capable of storing verifiable credential data, private keys, relationship state data, and functionality that could perform operations with this data without having to extract this data.

We also hope to eventually have a scalable, searchable storage layer which is capable of storing other associated data necessary for identity maintenance. Examples of such data would be pictures, health records, or other personal information.

Who’s Involved?
The Sovrin Foundation has been the primary contributors to this initial initiative, but endorsements and possible contributions are in flight from several other organizations. Hyperledger has proven to be a collaborative and open environment for growing the community and has helped attract a variety of contributors. We are excited by the enthusiastic response from like-minded members of the community and look forward to collaborating further.

Want to Learn More?
If you’re interested in learning more about Aries, Indy, or Ursa, consider visiting https://wiki.hyperledger.org/display/HYP/Hyperledger+Aries+Proposal or #Aries on Hyperledger chat at https://chat.hyperledger.org/channel/aries

We welcome interest from all groups and organizations, including enterprises and standards organizations.  We are looking forward to hearing from you!

When Hyperledger Sawtooth Met Kubernetes – Simplifying Enterprise Blockchain Adoption

By | Blog, Hyperledger Sawtooth

Blockchain Technology Partners has teamed up with Digital Asset to deliver DAML Smart Contracts for Hyperledger Sawtooth deployed and managed on Kubernetes using its blockchain management platform Sextant.

One of the great things about being a member of the Linux Foundation is that you are part of a vibrant global community that is home to open source projects in a wide range of ecosystems and host to an impressive array of events worldwide.

  • A global community where you are actively encouraged to participate in meetups and events specific to your ecosystem as well as contribute to broader open source summits
  • A global community where there is the opportunity to collaborate not just within your own ecosystem but with ecosystems that complement yours – this is at the heart of the open source ethos

A case in point is Blockchain Technology Partners (BTP) which, like a number of our Hyperledger members, is also an active participant in the CNCF, aka Cloud Native Computing Foundation. Its founding team recognized early on that the only way to make blockchain technology more accessible and easier to adopt was to address the operational challenges that they could see lying in wait for enterprises. With their team’s  background in open source, operations and cloud, BTP quickly realised that CNCF’s Kubernetes was the perfect match for Hyperledger Sawtooth. This led to the creation of Sextant, their blockchain management platform that radically simplifies the development, deployment and ongoing management of blockchain-based enterprise applications.

The power of open source collaboration doesn’t end there as BTP have now teamed up with Digital Asset to bring DAML Smart Contracts to Hyperledger Sawtooth – integrating their open source DAML runtime with Sawtooth, similar to the way the Sawtooth Ethereum (SETH) project integrates the Burrow EVM with Sawtooth, and handling its deployment and management with Sextant.

For the full story behind the creation of Sextant to deploy and manage Hyperledger Sawtooth on Kubernetes and BTP’s collaboration with Digital Asset to bring DAML to Sawtooth, read our case study.

Welcome Hyperledger Iroha 1.0: Flattening the DLT learning curve

By | Blog, Hyperledger Iroha

My first experience running a blockchain was when I first launched a Bitcoin node about six years ago. I got into Bitcoin out of curiosity and because the idea of sending value as digital data across the Internet was a very compelling idea.

Since those early days of experimentation, blockchain and DLT have emerged and found its place in enterprise — companies, individuals, consortiums want to get rid of non-transparent resource allocation, corruption, and fraud. Today, diamonds are registered on a blockchain, insurance companies know if you registered your MacBook at several places, and cross-border payments can operate more efficiently.

While blockchain technology has passed its longevity test, the software in general is still far from being integrator-friendly, developer-oriented, and straightforward; specifically when it comes to using distributed ledger technology instead of a database. This is where Hyperledger Iroha is different. With Hyperledger Iroha, it took me about 10 minutes to start building a blockchain. And now the Hyperledger Iroha team is releasing its first production-ready version, offering a faster, less complex path to DLT deployment. Welcome Hyperledger Iroha v1.0!

When it comes to solutions for business, it is critical that the technology is fit for the task and easy to integrate. Moreover, it must be reliable and safe so a business can trust it. Hyperledger Iroha provides safety with its decentralized consensus algorithm and reliability with a tested set of commands and queries. With them you can be sure that the code will do exactly what it is supposed to do — whether you want to add information to, or get information from, the ledger.

For this release the team prepared a special set of improvements:

  • New native client libraries deliver cross-application support for desktop/server (on Java, Python, C++) or mobile (iOS, Android (Java)) applications. You only need to get an idea of the client application and you are ready to go! Take a look at desktop and mobile application examples: on Java or JS: https://github.com/soramitsu/iroha-wallet-js
  • Novel, asynchronous consensus algorithm supporting one step agreement on votes with vote collection optimizations included (Yet Another Consensus; YAC). This means that even if a node is faulty, your decentralised ledger will still be up and running correctly. You can now focus on implementing your business application, leaving the question of whether you can trust partners’ nodes to Hyperledger Iroha.
  • Multi-signature transactions, or as we call them, MST, are now ready for production use. What does it mean for your business? It means that you can set a quorum, such that transactions from your company’s wallet will need several signatories instead of just one — just like in traditional banking, but quicker and more secure. This can also be used to model complex business processes in a secure and automatic way.
  • New backwards-compatibility allows you to integrate Hyperledger Iroha into your business and be sure that no breaking changes will affect it.

Hyperledger Iroha is already gaining strong traction with the community and enterprises:

Alexander Yakovlev from Moscow Exchange Group’s National Settlement Depository is using Hyperledger Iroha in D3 Ledger, and he said: “Global business is always terrific, and we looked for a solution that fits our requirements and is 100% open-sourced and oriented for the specific needs of our task. Features such as Iroha’s account management and supportive community, in addition to Soramitsu’s KYC application, were key factors in our decision to use Iroha for D3 Ledger. Iroha’s existing adoption in several countries and the practical use case with the Cambodian central bank were additional benefits.”

Hyperledger Iroha is already used in asset management, identity management, and payment systems. From simple asset transfers to secure information exchange about customers, Hyperledger Iroha can be used to empower a multitude of use cases, all without the need to program custom smart contracts.

Last year, I wrote a paper about Sora Identity, an implementation of a self-sovereign identity protocol using Hyperledger Iroha. Since then, we have worked on expanding this app and now we have a working product for KYC, targeted towards financial institutions. We are now expanding this to be at the core of the Sora decentralized autonomous economy, an exciting new type of economic system, geared towards empowering the creation of new goods and services.

Try it – simplicity and friendly support from the community will surely help you find your own way of improving your project with Hyperledger Iroha blockchain. You can find the Hyperledger Iroha 1.0 documentation here: https://iroha.readthedocs.io/en/latest/. Follow the “Getting Started” guide to create your first Iroha network in 10 minutes.

An overview of Self-Sovereign Identity: the use case at the core of Hyperledger Indy

By | Blog, Hyperledger Indy

In the real world, most identity interactions are self-sovereign. We collect and hold various credentials that we keep in our possession and present at our discretion to prove things about ourselves. These could be collections of cards, certificates, or paperwork that prove various things about someone or something. Some credentials are obvious, like birth certificates, licenses to drive, employee ID cards, passports, university diplomas…the list goes on. We hold and present these to any anyone we want, without the permission of the organization who issued them. These credentials are kept and controlled by the holder, and only taken from her wallets and revealed with her expressed consent.

This is not what happens on the internet. Like the famous cartoon says – “On the Internet, nobody knows you’re a dog,” illustrating the very real issue with the lack of an easy, secure, standardized system for a person to collect, hold, and ultimately present trustworthy, verifiable credentials online.

Unfortunately, online identity is very clearly broken. This is due to the fact that the internet was created without any way to identify the people who used it. Initially, it was a fairly small network of machines. Internet protocols are designed to identify machines and services, not people. People used the Internet through some institution (usually their company or university) and were part of that institution’s administrative identity system. This can still be seen in the format of email addresses that identify both recipient and sender as someone@someplace.

As the internet grew to include people who weren’t formally associated with an institution, every website and service created its own administrative identity domain. The result is the fractured profusion of identifiers, policies, and user experiences that constitute digital identity in 2019. Where early internet users had a handful of credentials and logged in occasionally, modern internet users typically have dozens, even hundreds, of usernames and passwords. Security has made these harder to use by encouraging or even forcing users to use more cryptic passwords and not share them between sites. And now multi-factor authentication adds to the cognitive burden. And then there’s the inconvenience of supplying the same information to application after application, all the while suffering the dangers that they might lose it or expose it to hackers.

One attempt to solve this problem is single-source or ‘federated logins.’ Social login systems from Google, Facebook, and others expedite logging into various websites, but these systems are limited in the kinds of attributes they use and the trustworthiness of those attributes. As a result, they aren’t as widely used as one might hope. Many companies don’t or can’t use social login and so the system of fractured administrative identity systems remains.

Traditional, identity systems have a single identity provider (IdP) administering an identity system for their own purposes. The rights of the so-called “identity subject” are subordinate to those of the identity provider. These systems are siloed, meaning the attributes you’ve shared with one organization are difficult to use with another. Each company asks for the same information, like your name, credit card, address, and so on. Users are required to provide that information to use the service – whether they like it or not. This single entity determines what information will be collected, decides who can participate, and how their data is stored – and that data is only as secure as the company or organization that keeps it.

Consequently, until now, the internet has lacked a universally available digital identity system that lets individuals collect and hold trustworthy verifiable credentials and present them to whoever they want, whenever they want – without the reliance on a third-party managing access.

What is SSI

Self-sovereign identity (SSI) gives individuals or organizations agency to control their identity information. SSI acknowledges that identity is about much more than logging in. Identity can be expanded to other uses by using verifiable attestations, called credentials, to prove things about yourself. SSI uses verifiable, trustworthy credentials. Identity owners autonomously use those credentials wherever they want. Privacy is a critical feature of SSI because, without privacy, there is no control. In SSI, the identity owner must be in control of who sees what. This represents a monumental shift in how identity functions on the internet.

Credential issuers, holders, and verifiers are peers on an SSI network. Any person or organization can play any or all of the roles, creating a decentralized system for the exchange of trustworthy, digital credentials.

  • Credential issuers determine what credentials to issue, what the credential means, and how they’ll validate the information they put in the credential.
  • Credential holders determine what credentials they need and which they’ll employ in workflows to prove things about themselves.
  • Credential verifiers determine what credentials to accept, and which issuers to trust.


In SSI, players independently determine the role they’ll play, who they trust, and what they will believe. While credentials can be revoked individually, the identity owner still controls her own identity wallet and all the other credentials she has collected. The result is an internet identity system that is more flexible, more secure, more private, less burdensome, and less costly.

About the author: Dr. Windley, an expert in decentralized digital identity and IoT and event-driven systems, is Chair of the Board of Trustees, Sovrin Foundation. The Sovrin Foundation open sourced the codebase used to create the Sovrin Network and contributed the initial code for Hyperledger Indy to Hyperledger, a project dedicated to blockchain hosted by the Linux Foundation.