Powering the IoT infrastructure of the fourth revolution.
If you are interested to receive funding from the Trusted IoT Alliance, please submit a proposal no longer than 500 words, describing:
Industry use case
Smart contract deliverable
In kind resources
Alliance members involved
Preference shall be given to projects with real industrial use cases where proposers have some in-kind contribution (either financial or POC access) and where the project is aligned with the overall roadmap. Projects involving multiple Alliance members shall also be weighted more heavily.submit your proposal
For blockchain integration, typically we recommend the use of IoT microchips containing a cryptographic identity with an asymmetric key pair. This is because we can register the public key of the asymmetric keypair to the blockchain without any risk of a counterfeiter using the information to create a clone or counterfeit chip. However, we can also work with serial numbers, UPC codes, bar codes, UIDs, and other insecure unique identifiers.
When we work with weak identifiers, oftentimes we register the cryptographic hash so that the plain text is inaccessible on the blockchain record, and using an approach to verification involving the comparison of the hash of the identifier to the hash stored on blockchain.
Our approach is to register identity and data of “things” as an immutable record under a Registrant, as a way of “giving birth” to a secure digital identity for a thing on blockchain.
We adopted the Uniform Resource Name convention to represent identities, including cryptographic identities, unique identifiers, and serial numbers. We also use JSON and ProtoBuf to capture data.
Each identity will be split by : into multiple sections, denoting more specific information about the identity after each subsequent colon. The last section denotes the actual identity of the Thing.
<category>[:SubCategory>[:<sub-subcategory> ... ]]:<id></id></sub-subcategory></category>
All cases are insensitive.
In the smart contract, all Things have identities. The Uniform Resource Name (URN) standard is flexible and easily readable. It allows for the support of a wide variety of identities, from cryptographic public keys to BLE & NFC device IDs.
It complies with current standards for representing products, books, electronics, etc., and can be used to identify literally anything without needing to specify any special schema. This extensibility is essential for building a universal and open platform for the Internet of Things.
Electronic Product Code: Serialized Global Trade Item Number
Elliptic Curve Public Key
RSA public key
Elliptic curve public key
RSA public key
Elliptic curve using verified random parameters
Full ECC URN
Smart contracts are modules of code that run on a blockchain, which, ideally perform one specific function. A single smart contract or several smart contracts running together to perform a business purpose, is oftentimes referred to as a distributed application, or D-App.
You can think of each smart contract like a lego brick. It is a module of code that can be combined with other modules of code to create a more advanced D-App. As new smart contracts are added to the reference architecture, the capacity to tackle more advanced business cases can grow at a compounding rate.
We are developing an open source reference architecture that supports multiple blockchains via a single API. We aim to establish interoperability across IoT devices and blockchains by defining a set of general-purpose protocol functions, including device registration/verification/transfer, firmware registrations/verification, and data ledger.
Our goal is to accelerate industry adoption of a blockchain backend for IoT solutions.
Therefore, we decided to license the open source under Apache 2.0, a business-friendly license. Anyone can host and operate the code that implements the reference architecture.
Based on pioneering work by Chronicled and SkuChain teams, developers can use smart contracts to register “thing” identities to Ethereum, Ethereum Enterprise, and Hyperledger blockchains.view github repository