Data Sharing Across Cannabis Industry
In the Cannabis space, many (most) of the businesses in the USA are using some Government run technology platform such as BioTrack or Metrc. One of the benefits of these systems is that data can be magically shipped from one license to another. This makes the business-to-business sales much easier for all parties.
An early approach to this data-sharing problem is the one taken by BioTrack since at least 2012. They have their own propritary data-sharing process. Not a novel approach, when you control the software at both sides of the transaction (supply & retail). We know that other software vendors have their own closed/private data-sharing methods for their own "in-group".
In Washington the Government (WSLCB) has implemented CCRS which does away on these systems. One of the things OpenTHC predicted in 2015 is coming true (good job team) that is: the government is doing less in the regulatory space and the industry needs to step up. This also means the electronic data-transfers need to be accomplished manually.
Some of you may remember our P2P project from 2017 which worked to solve problems in this space using a shared pub/sub like process. This proposal fell on deaf ears as a) none of our competitors wanted to work together at that time and b) the existing systems (BioTrack, Metrc) were "good enough". And our P2P process sorta worked -- but it was a little too open and required a little too much trust. At this point (c2020) we started work on PUB to change the way these data-messages are handled.
In Washington (2021q4) a group called [WCIA]() was formed to also to work on this process (OpenTHC along with Cultivera & GrowFlow were early catylist for this group high-fives all around). As of April 2022 this group has adopted the data-link-trading method (initially suggested by yours truly). This link-trading has users of various softwares copy-pasting links-to-JSON to each other. It's a little cumbersome for the cannabis licensees however, it's easy for software vendors to implement and doesn't require them to really work together too much or trust each other. This in-turn allows WCIA participants to continue to chase their closed-source, walled-garden dreams w/o consideration of cooperation.
An Open Approach
OpenTHC believes in protocols over programs. The first-principles of Protocols are interoperability: data-sharing. A side-effect of this principle is that the unique value of individual programs is diminished (that's not good for the strictly capital-class type business). For licensees however, protocols are the basis of choice.
The PUB project, very much like our P2B project, operates in a very similar way. However, this service now enables software adversaries to communicate directly for business partners. That is, SoftwareA with LicenseA can communicate with SoftwareB at BusinesssB.
P2P required each vendor to implement some moderately complicated infrastructure to interface with their systems in real-time. PUB is simply publishing encrypted messages (in the OpenTHC API format) to a known end-point. Much easier; Lookup a License Public Key; encrypt and publish.
To establish relationship the business would simply share their public key and incoming message location. After this one time exchange everyone can easily share one-to-one signed/encrypted (E2E) communications.
Today we have completed a process of cleaning up some internal code, publishing it as well as the specifications. We are also providing an open hub at https://openthc.pub/ to facilitate this message passing.
curl -X POST https://openthc.pub/SOURCE_PUBLIC_KEY 201 curl -X POST https://openthc.pub/SOURCE_PUBLIC_KEY/TARGET_PUBLIC_KEY --data '$DATA' 201 curl -X GET https://openthc.pub/SOURCE_PUBLIC_KEY [ "link", "link", "link" ]