INTRODUCTION TO TOKEN STANDARDS FOR ETHEREUM : PART 4 — Identity and Security Standards

Deepti Nagarkar
Coinmonks
5 min readNov 24, 2022

--

Photo by Vadim Bogulov on Unsplash

This is the concluding article of a 4 part series on token standards. Here I am going to introduce token standards for identity and securities on the blockchain.

To know more about token standards for Extensions & Foundations for the ERC20/721 refer to my previous post in this series.

Token Standards for General key-value store and execution : ERC 725

Photo by Michael Dziedzic on Unsplash

The ERC 725 is astandard interface for a smart contract based account with attachable key value store. This standard will enable machines, objects, groups, and individuals to be defined and managed with ERC-725 allowing individuals to own and control their identity. ERC-725 would enable a portable and open identity standard, allowing individuals to take their identity and use it through multiple apps and platforms, in a fully open, transparent, scalable, and decentralized manner.

Standardizing a minimal interface for a smart contract based account allows any interface to operate through these account types. Smart contact based accounts following this standard have the following advantages:

  • can hold any asset (native token, e.g. ERC20 like tokens)
  • can execute any smart contract and deploy smart contracts
  • have upgradeable security (through owner change, e.g. to a gnosis safe)
  • are basic enough to work for for a long time
  • are extensible though additional standardisation of the key/value data.
  • can function as an owner/controller or proxy of other smart contracts

Features of the ERC 725

  • Describes standard functions for a unique smart contract based account that can be used by humans, groups, organizations, objects and machines.
  • This standard requires ERC173
  • The standard is divided into two sub standards — :

ERC725X: Can execute arbitrary smart contracts and deploy other smart contracts.

ERC725Y: Can hold arbitrary data through a generic key/value store.

Specification for ERC 725

ERC725X

Functions → execute : Executes a call on any other smart contracts, transfers the blockchains native token, or deploys a new smart contract

Events :-

  • ContractCreated
  • Executed

ERC725Y

Functions :-

  • setData/getData : Set/Get data as bytes in the storage for a single key
  • setData(array)/getData(array) : Sets array of data at multiple keys. Gets data set for given key

Events :-

  • DataChanged

Token Standards Stock Tokenization: ERC 884

ERC 884 introduces a standard for Stock Tokens and is specific to Delaware State of US. Implementing ERC 884 requires an off-chain database for various ‘Know Your Customer’ (KYC) requirements. It’s still a draft proposal, and extends the ERC 20

Functions ERC-884 defines:

  • It will designate each token as a share of a corporation incorporated in the Delaware state.
  • Identity verification and mandatory whitelisting of token holders;
  • The corporation can prepare a list of shareholders according to the regulatory requirements
  • Recording of information regulators mandate
  • Record transfer of shares according to regulatory requirements
  • Only whole value of tokens, i.e., no partial value

Specification of ERC 884

An implementation of this token standard SHOULD provide the following:

  • function addVerified(address addr, bytes32 hash) public;
  • function removeVerified(address addr) public;
  • function updateVerified(address addr, bytes32 hash) public;
  • function cancelAndReissue(address original, address replacement) public;

Events :-

  • VerifiedAddressAdded
  • VerifiedAddressRemoved
  • VerifiedAddressUpdated
  • VerifiedAddressSuperseded

Security Token Standards : ERC 1400

Standards for security token on Ethereum. It is a Suite of standard interfaces for issuing / redeeming security tokens, ownership management and transfer restrictions. Under many jurisdictions, whether a party is able to receive and send security tokens depends on the characteristics of the party’s identity. For example, most jurisdictions require some level of KYC / AML process before a party is eligible to purchase or sell a particular security. Additionally, a party may be categorized into an investor qualification category (e.g. accredited investor, qualified purchaser), and their citizenship may also inform restrictions associated with their securities.

Features of ERC 1400

  • Provide transparency to token holders on how different subsets of their token balance behave with respect to transfer restrictions, rights and obligations.
  • ERC-1400 defines rules for document management, error signalling, gate keeper (operator) access control, off-chain data injection, issuance / redemption semantics
  • Expose partially fungible subsets of a token holders balance.
  • This standard references ERC-1410, ERC-1594, ERC-1643 and ERC-1655 as an underlying library of security token standards, each covering a different aspect of security token functionality.

ERC-1400 defines rules for :

  • document management
  • error signalling
  • gate keeper (operator) access control
  • off-chain data injection
  • issuance / redemption semantics
  • expose partially fungible subsets of a token holders balance.

Events ERC-1400 defines :

  • Transfer event on controller token transfer
  • Redemption event on controller token redeem

Specification of ERC 1400

The following sections lists the functions and events in short. For further reading, please refer to the full specification.

Functions

Document Management

  • getDocument/setDocument

Token Information

  • balanceOfByPartition
  • partitionsOf

Transfers

  • transferWithData
  • transferFromWithData

Transfer Validity

  • canTransfer/canTransferFrom
  • canTransferByPartition

Controller Operation

  • isontrollerTransfer
  • controllerRedeem

Operator Management

  • authorizeOperator
  • revokeOperator

Operator Information

  • isOperator

Token Issuance/Redemption

  • isIssuable
  • Issue
  • Redeem/redeemFrom/redeemByPartition

Transfer Validity

  • canTransfer/canTransferFrom(

Events :-

  • ControllerTransfer/ControllerRedemption
  • Document
  • TransferByPartition/ChangedPartition
  • AuthorizedOperator/ RevokedOperator/ AuthorizedOperatorByPartition/ RevokedOperatorByPartition
  • Issued/RedeemedIssuedByPartition/RedeemedByPartition

Token Standards for Simple Restricted Token : ERC 1404

The ERC-1404 introduces a standard for Simple Restricted Token

  • A simple and interoperable standard for issuing tokens with transfer restrictions.
  • Token issuers need a way to restrict transfers of ERC-20 tokens to be compliant with securities laws and other contractual obligations.
  • The ERC-1404 standard builds on ERC-20’s interface, adding two functions
  • Provide a pattern by which human-readable messages may be returned when token transfers are reverted. Transparency as to why a token’s transfer was reverted is of equal importance to the successful enforcement of the transfer restriction

Specification for ERC 1404

The logic of detectTransferRestriction and messageForTransferRestriction are left up to the issuer.

The only requirement is that detectTransferRestriction must be evaluated inside a token’s transfer and transferFrom methods.

If, inside these transfer methods, detectTransferRestriction returns a value other than 0, the transaction should be reverted.

Functions :

  • detectTransferRestriction
  • messageForTransferRestriction

Token Standards for Gas Fee in Tokens : ERC 865

ERC 865 helps the Beginners in the Crypto World. It enables users to pay transfers in tokens instead of gas, in one transaction. It has one standard function that a token contract can implement to allow a user to delegate transfer of tokens to a third party. The third party pays for the gas, and takes a fee in tokens.

Specification

Functions :

  • transferPreSignedHashing
  • transferPreSigned

Events :-

  • TransferPreSigned

Summary

In this 4 part series, I covered important and popular token standards that are widely used. THere are many more EIPs that are in various stages. There are a few like the vault standard which I will cover in a separate article. To list a few of the important standards and an attempt at classifying then, I created an infographic below —

Token Standards of today

Did you find this Token standards series informative? Do leave a comment to let me know what you think!

Thanks for reading !

New to trading? Try crypto trading bots or copy trading

--

--