Introducing the Zebra-IOTA Edge SDK
Many business processes, particularly along supply chains, involve digital identities. A digital identity is composed of the attributes a system knows about a particular actor (person, organization device, and so on). Currently, identities are usually locked into specific systems and aren't portable. For instance, an organization trading in one country must be verified again before trading in another country.
As introduced in previous blog posts, DIDs and the IOTA Identity Framework allow for privacy, high scalability, and reduced time and costs when dealing with identities. For instance, claims already proofed against an identity issuer are not required to be proofed again against a different one (e.g. a company operating in a different country). In fact, the IOTA Identity Framework handles all the interactions with the IOTA Tangle, where the DID documents are published and anchored. In the context of verifiable credentials, the Tangle acts as the verifiable data registry. The IOTA Tangle is well-suited to this role as it provides guarantees of data integrity and immutability and, therefore, trust between participating parties, but without incurring fees.
The IOTA Identity Framework is at the heart of an exciting new release from IOTA. The Zebra-IOTA Edge Software Development Kit (SDK) is used to build and test decentralized solutions that leverage IOTA. The first public release includes an Identity Enabler that can be used to issue, verify and manage decentralized, interoperable identities (DIDs) for people, organizations, and devices.
The Zebra-IOTA Edge SDK overview
The Zebra-IOTA Edge SDK is developed by the IOTA Foundation in partnership with Zebra Technologies and is composed of different open source modules (or “enablers”) that facilitate the creation of applications that exploit IOTA’s distributed ledger technology capabilities on edge devices, in particular Zebra devices.
The figure below depicts our long-term vision for this SDK. Different Zebra-specific technologies can be plugged into IOTA and its frameworks through different open-source enablers, such as the Identity Enabler, the EPCIS enabler for anchoring EPCIS 2.0 business events, the GS1 Digital Link enabler for dealing with enriched barcodes, and others that may be discovered in the future. These edge enablers can work in tandem with cloud enablers, such as EPCIS repositories and the already-available sandbox version of the Track & Trace Ledger APIs (which can bridge RFID Data Services and the Tangle). On top of these architectural components, different applications can be developed by the community (ISV applications).
The first enabler described in this blog post and open for public feedback is the Identity Enabler, which corresponds to decentralized identities.
The SDK uses web technologies for the user interface. In particular, reference applications are coded in TypeScript using the Svelte Framework. A Capacitor Framework is used to package these web applications as Android applications. This means that you can run these applications in your favorite browser as web applications or in your Android device or emulator. The SDK also solves the problem of bridging Zebra DataWedge (barcode native scanner interface) and the web application code.
The Identity Enabler is composed of a set of reference applications that can be used as a scaffold or blueprint for developers, and as guidance on how to solve the most common problems around decentralized identity (such as credential issuance or verification) using the APIs offered by IOTA Identity.
These applications are integrated with the Zebra DataWedge technology and include:
- Holder Application, which defines the scaffold for creating applications for credential holders, whether people or organizations. As a result, credentials can be shared by way of data matrix codes ready to be scanned with Zebra devices.
- Verifier Application, which allows interoperable credential verification through the scanning capabilities provided by Zebra devices and the IOTA Identity Framework. The latter checks for tampering and authorship of both the presentation and the contained credential(s) using the embedded proof (digital signature).
- DeviceID Application, which offers a customizable wizard for onboarding devices on supply chains by generating a new identity and requesting verifiable credentials to the organization owning the device, which acts as an issuer. Afterward, the device can start reporting authenticated scan events (after having been previously registered to the Track & Trace Ledger APIs) that can be immutably recorded on the IOTA Tangle. Those events could later be transformed into EPCIS 2.0 events.
You can find a detailed tutorial about this SDK on our wiki.
The type of applications that can be built using the Zebra-IOTA Edge SDK (powered by IOTA Identity) include:
- Personal Information Management: Self-sovereign identities allow individuals to manage and present their identities (securely stored on their devices) without the intervention of a central authority or issuer. For instance, health credentials could be verified by a restaurant owner using a Zebra device powered by our SDK without interacting with a government service endpoint.
- Trade Certificates: Verifiable claims anchored to decentralized identities can be used to digitally represent different kinds of certificates associated with trade items, such as phytosanitary certificates, guarantee certificates, and compliance certificates issued by third-party auditors.
- Decentralized Identity (DID) for Organizations: The main application for organizations in global trade. For example, a trader from Kenya creates their decentralized digital identity (DID) and receives several credentials from Kenyan authorities after the requested verification processes. Some of these credentials are also accepted by the EU authorities when importing goods. These principles are being applied to the TLIP project, jointly developed by TradeMark East Africa and the IOTA Foundation.
- Decentralized Device Identity. Any device, such as a printer, scanner, or RFID reader used in supply chains, can be issued a decentralized identity and associated credentials by the organization that owns it. As a result, all interactions made with that device can be recorded and audited, increasing the level of traceability, accountability, security, and trust in the daily operations of an organization. The Zebra-IOTA SDK already includes a reference application (DeviceID Application) structured around a wizard that allows onboarding devices owned by an organization.
- Supply Chain Credentials. We can imagine a truck driver arriving at a warehouse, requesting to load/unload their pallets, and showing just a paper document with the transportation order. These kinds of processes involve identity, trust, and change of custody records between multiple parties, with each one holding its own decentralized identity: the warehouse manager, the truck driver, the logistics service provider, the supplier company, and the customer company.
The Identity Enabler of the Zebra-IOTA Edge SDK opens up a new world of business opportunities and applications, and the IOTA Foundation and Zebra Technologies will continue working on its development and improvement. In fact, 2022 will see the release of the EPCIS Enabler, which will focus on the capability to record GS1 EPCIS 2.0 events directly from Zebra devices. Those events can be stored on distributed datastores and anchored immutably to the IOTA Tangle.
If you want to learn more and experience an online demo with a real device, please watch this video. You can also reach out to us through Discord, and if you want to learn even more, we have a dedicated channel (#zebra-community-dev) to help developers to build their own solutions using this cool technology. For future developments, keep an eye on our GitHub repository.