OpenTHC :: P2P

A Peer to Peer Network for Cannabis Software

The Problem:

Isolated systems make data-exchange difficult which in turn slows business operations. Manual data entry is both error prone and tedious. It distracts from the main-line of business.

The centralized regulatory systems (eg: Franwell/METRC, LeafData) also do not convey all of the business relevant data. Even in these environments (eg: Colorado, Oregon, Washington) there is considerable manual work when moving materials between businesses.

A Solution Proposal

A peer-to-peer network between software providers will facilitate data exchange and improve business flow.

The Business Case

Reliability and Stability of the line-of-business software for this industry is critical.

I believe the way forward is through a decentralized, peer-to-peer communications protocol between the software providers and their respective customers. When the software communicates it makes it easier for the businesses to communicate -- by which I mean transact business.

We have a dozen software providers in Washington State, there are almost 100 nation-wide. The common problem is that all these softwares talk to each other through a central regulatory engine -- a BioTrack, METRC or LeafData system. Many times this engine does not accomplish the goals of the software-service, which are goals outlined by our paying customers -- YOU. A peer-to-peer network enables the software to bring about your business needs with more efficiency, reliability and stability.

For many months we (OpenTHC) have been working to bring the software providers together around some standards. Multiple one-on-one meetings, phone calls, emails and one face-to-face group meeting have shown that nearly all of the providers agree, to some extent, this is the way forward. To that end we have posted some API specifications, protocol specifications and reference implementation to a public repository for comment, inspection and usage by all other software vendors. This is a system we could all begin implementing today.

Peer-to-Peer creates an environment where systems can communicate through a trusted secure channel, that is SoftwareA and SoftwareB establish their own trust. And the combination of SoftwareA+LicenseC and SoftwareB+LicenseD are their own trust channel -- not just software trusting software but one business trusting another. Once the trust level is established the necessary data can flow freely -- between businesses (via software) -- sharing the necessary details with each other. Imagine never having to re-key data because it was transmitted seamlessly. Imagine being able to transmit, regardless of the status of LeafData (or whatever vendor comes next) the product details, order details and other necessary data. What would you when things are working better? How would you grow your business if you weren't wasting so much time?

We need more reliability and stability to operate our respective businesses successfully. A decentralized, distributed, peer-to-peer software solution would create that environment for us. The beta version of this system is ready to go, some software vendors appear to be on-board.

How do we build the future we want?

How It Works

Each node joins the network, by connecting to at least one known node.

Each node shares a secret key with each of the other nodes they peer with.

A node responds to object queries from other nodes, and a node issues object-queries to other nodes.

Nodes share data using a common data model.

A reference implementation of a peer-node is also available.

A Node Diagram