SIP: 3

 Layer: Core

 Title: Transaction Certification

 Author: Brian Burrell 

 Comments-Summary: No comments yet.


 Status: Final

 Type: Standards Track

 Created: 2018-12-29

 License: PD

This SIP defines a new structure called a "certificate" that is committed to blocks as an extended transaction.

The certificate extended transaction provides a means to certify credentials.

The certification of auxilliary information provides a method to track identity association and provide credentials to third-party software.

The Certification of a transaction is performed by creating chains of extended transactions which utilitize an "Ident" structure or a "Certificate" structure (see below).

Several other extended transactions utilize the "Ident" or "Certificate" extended transaction structure as a base.

The "Ident" extended structure consists of the following;

	/* A geodetic location. */

	shgeo_t geo;

	/* A coin address key. */

	cbuff vAddr;

	/* A mode indicator. */

	unsigned int nType;


The "Certificate" extended structure is a extension of the "Ident" structure which includes the following;


	/* A reference to a parent record. */

	uint160 hashIssuer;

	/* A signature generated from the underlying transaction. */

	CSign signature;

	/* A free-form data pay-load. */

	cbuff vContext;

	/* The fee charged to derive this certificate. */

	int64 nFee;

	/* An attribute modifier. */

	int nFlag;


An "Ident" by itself can be embedded into a "transfer funds" operation as part of a certified send or by "stamping" some auxilliary information.

The "Certificate" structure is used by certificates, licenses, and assets. Typically, a chain authority certificate is generated and then derived certificates are assigned for auxilliary purposes. A license differs, in that, it can be derived from a suitable certificate, with a optional fee, without the consent of the owner.

An asset is derived from a certificate, and provides a 4k payload of information referencing a tangible asset.

This document is placed in the public domain.