Welcome to Coagulator!

A Permissioned Consortium Blockchain for the Medical Supply Chain
powered by Hyperledger Sawtooth


For the sake of our public health safety, there are many regulatory restrictions with donated blood must address. In addition, there are meticulous reporting and custody requirements for each step of blood collection and transfer between organizations, which is often accomplished through bureaucratic paperwork.

For one, although technology significantly extends the analysis capabilities of regulators and participants, the data generated is only as good as the people who check on them. Signatures, licensing, and second opinions form the basis of regulation, with paperwork and bureaucracy utilized to ensure compliance and provenance. And it is people that generate these certifications (of visual inspections, sensor) with their honor, livelihood, and reputations on the line.

What it does

Our system: The Coagulator, a permissioned blockchain produced with Hyperledger Sawtooth, aims to significantly reduce the latency involved in regulations that still depend strongly on paper.

Before each blood handling entity can join the blood supply chain, they must apply for a license and comply with regulations from the FDA, under Title 21, CFR, Part 607. In our system, we consider the regulator to certify licensees, where licensees then get the right to deploy a Hyperledger Sawtooth node using docker to join the network. Employees of the licensees then use the webapp interface to their local node to interact with the blockchain.

  • User friendly web application
  • Permissioned Private Blockchain built with Hyperledger Sawtooth
  • Uses Proof-of-elapsed-time consensus algorithm
  • RESTful API integration with IoT extensibility
  • Website deployed with AWS server
  • Docker container

How I built it

Pizzas, Coffee and pure passion.

Challenges I ran into

Both of us are experienced Solidity developers and we have only dealt with Ethereum. The process of learning Hyperledger was difficult, and we had to deal with many bugs. However, we have discovered many advantages of Hyperledger, and we believe its extensibility and modularity makes it unique and more competitive in enterprise level applications.

Accomplishments that I'm proud of

Built a nice responsive front end and researched a lot about the regulation issues involved with medical supply chain.

What I learned

Hyperledger and a lot of facts about medical supply chain

Built With

Share this project:


posted an update

Hyperledger Sawtooth

Hyperledger’s Sawtooth is an "enterprise" blockchain platform for decentralized ledger applications (DApps) and their associated smart contracts, focusing on modularity, extensibility, privacy, and security to be flexible enough for all sorts of business needs.

Like Ethereum, Sawtooth maintains the core blockchain system so that applications built on top can simply specify the relevant business rules in the smart contracts, without needing to fully grasp or maintain the underlying blockchain code.

Sawtooth’s motivations for adapting the Blockchain for enterprise needs are to streamline business processes between companies, allow records to be kept in sync without trusted centralized third parties/manual reconciliation processes, and facilitate entirely new ways of doing business.

Sawtooth smart contracts (or state transition functions) can be programmed in multiple familiar and mature programming languages, from the interpreted languages (Python, Javascript), compiled languages (Rust, C++, Go), and virtual machines (Java, C#). A future Seth compatibility layer for the Ethereum Virtual Machine would add support for existing Ethereum smart contracts in Solidity and Serpent. Future work on Sawtooth would increase throughput and transaction privacy.

Sawtooth aims to adapt the blockchain to the varying needs and changing goals of permissioned blockchains in enterprises.

Sawtooth Consensus Algorithms

Various consensus algorithms have been pitched to apply to the Byzantine Generals Problem, each with their pros and cons. Instead of choosing a single consensus to fit all problems, Sawtooth provides applications with the ability to choose the type that fits their use case, and allows nodes to vote on changing it in the future as necessary.

Two main consensus algorithms are pitched from two categories: "lottery" consensus, and "voting" consensus.

"Lottery" consensus is also known as "Nakamoto" consensus, because Bitcoin’s Proof-of-Work consensus was the first example of it. Through some process, such as calculating a nonce by brute-forcing a hash algorithm, a node is randomly chosen to lead the consensus by proposing the next block to extend the chain of blocks previously agreed upon .

Sawtooth provides the Proof-of-Elapsed-Time algorithm as their "lottery" consensus algorithm to "support large network populations that include byzantine actors" . Much like Hal Finney’s original proposal for a cryptocurrency using Hashcash and b-money concepts in 2005 , Proof-of-Elapsed-Time relies on Intel SGX Trusted Computing chips which have become significantly more prevalent since their introduction with the Intel Skylake platform in 2015.

"Voting" consensus is influenced by classic "Byzantine fault tolerance" algorithms descended from those proposed by , where the nodes explicitly vote according to some process to build consensus. These consensus algorithms tend to consume significantly less electricity for higher throughput than "lottery" consensus .

Sawtooth provides the RAFT consensus algorithm (which is still under development) for "high-throughput, low-latency transactions" .

Sawtooth provides methods for authorized nodes (perhaps managers of each corporation in the consortium) to vote to modify network settings even after the blockchain is deployed, such as access permissions, transaction rules or types (UTXO like Bitcoin, or Ethereum-style states), consensus algorithm modifications or changes, or token inflation rate adjustments. Such changes are common practicalities in enterprises that are tremendously difficult on permissionless decentralized chains.

Log in or sign up for Devpost to join the conversation.

posted an update

We consider there to be two categories of products in the supply chain: Inert Produce and Fresh Produce. These two product categories demand different urgencies in delivery and data reporting, since an expensive temperature gauge may not be worth it for paper cups, but is crucial to detect refrigeration problems in fruits and vegetables that could spoil the product.

Inert Produce is Simple to inspect visually or through a process in the supply chain. The Expiration date is far in the future or can be considered indefinite, so urgency is not as great of a concern. Inert produce can typically be commoditized, whereby

  • Disposable Cups, Forks and Spoons - Can be made of any type of material, (when was the last time you thought about paper vs plastic cups?) quality is not as much of a major concern, its commoditized in terms of price.
  • Solid Pharmemutical Chemicals and Drugs - Tends to be inert powder or pills. There is an expiration date, but it is far to the future.
    • Fresh Produce - Suffers from fast expiration where wasted products must be trashed at someone's expense, and requires rush delivery. Requires real-time validation by IoT sensors at every point of transfer, by IoT devices certified by multiple parties monthly or weekly, with products that fail quality checks or go outside of a certain temperature range to be tossed. Also might require more complex validation processes for expiration.
  • Fruit and Vegetables - Fresh produce must be certified as organic or non
  • Blood -
  • Organs -
  • Bubble Assets - The hot new toy for Christmas has a significant jump in value starting from or before Black Friday, and supply needs to be carefully managed to maximize profit while ensuring availability. The toy can be considered to be "spoiled" if it is not delivered in time, since it would only be saleable at market rate or even discount rate rather than a higher rate, since demand ebbs off.

Log in or sign up for Devpost to join the conversation.