Quotes for Credentials with the KILT Protocol

Image for post
Image for post

With the KILT Protocol, a Quote enables Attesters to build structured contracts for the service of an Attestation. Users can request Quotes from Attesters to see what a digital Credential for any type of Claim would look like, how much it would cost, and how long the attestation process would take.

KILT is a blockchain-based protocol for issuing self-sovereign, verifiable, revocable, anonymous Credentials. It provides an infrastructure for a trust market economy by enabling new business models for Attesters to profit from the trust garnered by their work. Requesting a Quote is one of the many notable features of the KILT Protocol which enables a fair playing field in a lucrative market of trust.

Issuing Credentials is a business and businesses working with blockchains or cryptocurrencies must comply with real-world regulation. It’s crucial for a proper business to write quotes for their clients, to stipulate tax and to record the whole transaction process of quotation, acceptance and payment for their bookkeeping.

How to request a Quote for the attestation of a Claim on the KILT Protocol

A Claimer (i.e. anyone who wants a Credential) selects a CTYPE (claimType) on the KILT Protocol and requests Terms for a Claim from an Attester (i.e. any trusted entity that grants Credentials).

Image for post
Image for post
1.The Claimer selects a CTYPE (claimType) and sends a request for Terms to an Attester.

The Attester reads the Claim request and sends back a Quote. A Quote includes information about the specifications of the Credential, the process of the attestation, and what it would cost.

Image for post
Image for post
2. The Attester returns a Quote for an attestation of a Claim, indicating the specifications of the attestation process, terms & conditions, costs including taxes and other relevant information.

The Claimer then accepts the Quote (initiating a contract between Claimer and Attester) and pays the attestation fee. The Attester receives the signed Quote and payment, processes the Claim and — upon a successful attestation — grants a Credential to the Claimer.

Image for post
Image for post
3. The Claimer pays the service fee (in KILT Coins) and sends the Claim to the Attester.

The Credential is stored by the Claimer on their own local storage (i.e. a digital wallet) and the Attester writes a hash of the Credential on the KILT Blockchain.

Image for post
Image for post
4 The Attester validates the Claim and grants a Credential (which is now signed by both the Attester and the Claimer). The Attester also writes a hash of the claim on the KILT Blockchain.

If an Attester cannot attest to the Claim due to the Claimer’s failure to meet the required criteria for the Credential, they inform the Claimer with a notice and will not grant a Credential.

Quotes are crucial for a good buisness

For commercial use, it is necessary to have an invoice which includes the price and VAT on that price as well as other information such as the data of both parties, a tax number, a date of issuance and an invoice number. With the full functionality of the Quote and Credential, a proper invoice can be generated automatically — as required by German law and many other legal systems.

Quotes incentivise best practices among Attesters competing for Claimers’ business. Credentials from different Attesters will differ in a variety of ways depending on the attestation process, the cost of the attestation, the time it remains valid, the speed at which the Credential is granted and who delegated the power of attestation (another unique feature of the KILT Protocol).

Notice, the compensation that is sent with the Quote is essentially paying for the work that the Attester does in order to test whether a Claim is valid — not just for issuing a Credential (the Attester only issues a Credential to the Claimer if the attestation process can verify that the Claim meets the required criteria).

With the KILT Protocol, the work of the Attester is always paid upfront. This prevents the Claimer from exerting pressure to get the Credentials by threatening not to pay in case of refusal. On the other hand, if the Attester accepts payment without performing the attestation service, then the Claimer will warn other Claimers and that Attester will lose credibility in the market. Therefore, Attesters need to stay trustworthy, or they’ll quickly be out of business.

Details about Quotes from the KILT White Paper

The Quote allows Attesters to structure a Claim according to certain requirements and prerequisites (i.e. prior Credentials that a Claimer must have in order to request a specific CTYPE) as part of the service contract between the Claimer and the Attester.

The Attester provides their public address to carry out the attestation of the Claim (with CTYPE: cTypeHash) specified within the Quote structure in order to communicate how much the attestation of a specific type of Credential will cost. A Quote has versioning for different specs for Attesters and Claimers to reference changes within the Quote from anything to ‘cost’ and ‘termsAndConditions’ which change the version of the Quote.

You can take a look at the code here.

Secure and Self-Sovereign Data

The identity of the Claimer is always protected — when requesting a Quote for a Claim and when receiving a Credential — because the Claim includes a claimhashtree which generates a claimHash for each Claim. The claimHashTree includes a nonce (also called “salt”) and a hash for every property of the Claim. For every part of an attested Claim (e.g. Claim fields/data), a nonce (or salt) is created, and the contents of the specific part (together with its nonce) is hashed using the blake2b hashing algorithm. This process is done by using string concatenation of the nonce and the JSON-converted and normalised value of the corresponding Credential field. The nonce is created to prevent predictable hashes for a given datum (like true/false fields). Then, all hashes are combined together and are hashed to build the claimHash. The claimHash is what makes an attested claim unique and immutable, as it is generated from the hashed Claim properties.

Quotes for digital Credentials that are transparent, private and openly accessible can drive the growth of a healthy, efficient and fair ecosystem of actors in a market of trust.

If you are interested in collaborating with us in working to develop decentralised Web 3.0 infrastructure, click here to read more about how to become a KILT Certified Integrator.

TL;DR

  • Quotes give Claimer’s the opportunity to shop around for the Attester that can grant them the Credential best suited to their needs.
  • KILT Protocol enables a transparent contract to be communicated between a Claimer and an Attester, including a proper invoice of the service, all the while keeping Claims and Credentials private and self-sovereign.

Written by

KILT is a blockchain protocol for issuing self-sovereign verifiable, revocable, anonymous credentials and enabling trust market business models in the Web 3.0.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store