We are proud to announce the latest release of the OriginTrail updated node code, v0.5a Ranger, which has been out and available on our GitHub since Monday, April 9th. Ranger is the third of eight official releases before our testnet launch in June and brings several improvements to the overall code. The purpose of this blog post is to explain updates of the payment mechanism, data structures, and network improvements.

Focusing on Documentation: Demonstrating Graph Data Structures

One of the goals we set for ourselves early on is to try to explain the inner workings of the protocol and its technical details through extensive documentation. So far, we have published a number of documents, most notably the integration instructions, incentive model documentation and data structure guidelines. The purpose of this documentation is to keep interested stakeholders — supply chain service providers, developers, and the community — informed as to how they can utilize, and contribute to, the protocol development process. At the same time, we are also looking to collect as much feedback as possible early on. This will enable us to quickly implement the feedback in the development process and empower users to onboard their technical teams when adopting the protocol. That is precisely why we are now releasing the generalized graph structure, which is the basis of the OriginTrail data layer.

Data in graph form is part of the OriginTrail Decentralized Network

The short paper about the generalized graph structure combines insights gathered from previous work on supply chain transparency projects and outlines an approach that handles meaning, rather than “language,” in the data exchange. The focus is on maximizing interoperability. The ultimate goal of this generalization is for the protocol to be able to support the integration of many different data standards, both existing and potentially emerging (with a strong foundation in the GS1 standards), allowing for easier and broader adoption and integration of the protocol around the globe.

A simplified example demonstration of the data structure. See the full example here.

System Improvements: Compensation Mechanism and Network Layer Updates; Code Rewrite

When it comes to code, we have accomplished quite a few improvements over the last couple of weeks. One of the main changes is an improved version of the payment mechanism which is now more efficient and ready to support the bidding mechanism to be built in the coming months.

We also performed a major rewrite of the network layer, mainly by implementing a new version of Kademlia (the distributed hash table used for decentralized peer-to-peer networking in ODN) to mitigate potential attacks, fixing the network address translator (NAT) traversal problem we previously experienced and introducing cryptographic identities. This improvement has also lead us to join two servers that previously ran simultaneously, solving the deprecation problem we had with the previous Kademlia implementation in the process.

The overall code has been restructured to provide for a more scalable and testable architecture, with many implemented fixes, removed deprecations, and improved logging. Finally, we documented as much code as we could with docblocks, have increased the test coverage, and will continue with these best practices for the coming versions.

We are excitedly looking forward to the next releases in which two major functionalities are going to see the light of day — the first version of the bidding mechanism as well as the initial implementation of the zero knowledge layer. These present major components of the system which we expect to quickly iterate upon, based on the measurements we obtain from simulations, as well as from how they perform with actual data coming from the use cases. Trace our progress!

GitHub Improvements Proposal Repository Published

We are receiving great feedback and constructive suggestions from our community members for improvements in the code and additional features of the protocol through Telegram, Rocket.Chat, and other channels. To streamline the process and make sure that our development team can properly review all of them, we launched the Improvements Proposals repository on GitHub. We will be happy to see your input there!

Finally, our development team has been growing in the past weeks, and with strong additions of senior developers focused on the protocol, we are more confident than ever in our mission to build a decentralized and scalable solution for any supply chain. More forces are joining OriginTrail soon. Stay tuned for updates on our channels!