Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

 

Key Points

  1. different token types for different purposes ( security, utility, loyalty incentives etc ) ( see Token Taxonomy Framework )
  2. different jurisdictions have different legal definitions and regulations for different token types ( still evolving )
  3. security token - has a defined claim against assets ( like stock ) and issued via ICO or secondary sale
  4. utility token - used to incentivize participants on a platform, can be used to purchase goods on marketplace
  5. currency - tokens that can be bought and sold on open marketplaces - may have fixed or variable value ( Ethereum vs Stable coin )
  6. Fabric does not have a native token infrastructure yet in v2x



References

Reference_description_with_linked_URLs_______________________Notes______________________________________________________________
m Token Economy Examples: Tokenomics
m TOIP Trust Over IP
m SSI / DID - Self Sovereign Identity
m Hyperledger Indy
m Hyperledger Aries - identity, data management toolswallets and more

https://github.com/InterWorkAlliance/TokenTaxonomyFramework
/blob/main/token-taxonomy.md

_TTF-github-InterWorkAlliance TokenTaxonomyFramework.pdf

TTF overview page ***
https://github.com/interwork-alliance/TokenTaxonomyFrameworkTTF
https://interwork.org/Interwork Alliance
https://www.forbes.com/sites/vipinbharathan/2020/06/07/digital-assets
-ecosystem-will-be-powered-by-end-to-end-standards/#1b13be873fd8
Vipin on Interwork Alliance

https://defiprime.com/bonding-curve-explained

token-bonding-curves-defiprime.com-Bonding Curve Offering Explained

Token Bonding Curves explained 


https://etherisc.com/files/token_mechanics_1.0_en.pdfToken mechanics for insurance use case


https://bitscreener.com/news/zealeum-the-blockchain-based-health-and-wellness-
platform-announces-its-pre-sale
Zealeum wellness site and tokens


https://lists.hyperledger.org/g/fabric/message/6228FAB token design story
https://github.com/grepruby/ERC20-Token-On-HyperledgerFAB ERC-20 token wallet example - github
https://medium.com/deqode/erc20-tokens-on-hyperledger-b82399b4b969FAB ERC-20 token wallet example - medium
https://github.com/ethereum/eips/issues/1155ERC 1155 Multi-token wallet std 
 https://blog.enjin.io/erc-1155-token-standard-ethereum/ERC 1155 Multi-token wallet std  - good article
 https://github.com/ethereum/EIPs/issues/1155ERC 1155 Multi-token wallet std  - github




Token references


https://invao.org/token-classes-explained-coin-vs-utility-token-vs-security-token/Token Types

https://tokentaxonomy.org/

https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework

Token Taxonomy Framework
https://medium.com/deqode/erc20-tokens-on-hyperledger-b82399b4b969Sample token framework example for HLF and ERC20 wallets


https://blog.oceanprotocol.com/how-to-monetize-tokenize-data-8f860e405773Monetize and Tokenize data article 1 - ocean protocol
https://oceanprotocol.com/protocol/#papersOcean papers
https://docs.oceanprotocol.com/concepts/architecture/Ocean Architecture
https://github.com/oceanprotocol/OEPs/tree/master/10Ocean Protocol github
https://docs.oceanprotocol.com/concepts/wallets/Ocean Wallet basics
https://docs.oceanprotocol.com/tutorials/react-setup/custom React app to run Ocean protocol
https://metamask.io/plugin to run DApps in a browser


https://blog.sfox.com/what-are-utility-tokens-and-how-will-they-be-regulated-89cfb6bb2a45Potential regulation of utility tokens by SEC


Token Platforms
Use Stellar to Manage Asset Token Life cycle effectivelyUse Stellar to Manage Asset Token Life cycle effectively  ***
https://www.exodus.io/blog/stellar-vs-ripple/Stellar vs Ripple
https://www.bitdegree.org/tutorials/stellar-vs-ripple/Choose Stellar or Ripple?
Stellarfast, affordable service, more flexibility
https://www.stellar.org/developersStellar developers
https://developers.stellar.org/docs/anchoring-assets/anchor-platform/The Stellar Anchor Platform
accomplishes this by implementing the ecosystem's standardized APIs (SEPs) for wallets, exchanges, and other applications to consume, while offering a set of backend APIs for businesses to provide information specific to them, such as transaction fees, exchange rates, and off-chain transaction statuses.
https://developers.stellar.org/docs/anchoring-assets/enabling-cross-border-payments/

Stellar Cross Border Payments

Supporting cross-border payments of an asset through the Stellar network requires cooperation between a sending anchor (SA) and receiving anchor (RA). In this section, we'll only go over the steps necessary for building a SEP-31 receiving anchor, but documentation for building a sending anchor is in development.

https://developers.stellar.org/docs/run-core-node/

Run a Stellar Core Node ( if needed ) operate network

Stellar is a peer-to-peer network made up of nodes, which are computers that keep a common distributed ledger, and that communicate to validate and add transactions to it. Nodes use a program called Stellar Core — an implementation of the Stellar Consensus Protocol — to stay in sync as they work to agree on the validity of transaction sets and to apply them to the ledger. Generally, nodes reach consensus, apply a transaction set, and update the ledger every 3-5 seconds.

you need to set up to connect to the peer-to-peer network and store the state of the ledger in a SQL database.

https://developers.stellar.org/docs/run-api-server/

Run a Stellar Horizon API Server  ( if needed ) to access Stellar net by api

Horizon is responsible for providing an HTTP API to data in the Stellar network. It ingests and re-serves the data produced by the Stellar network in a form that is easier to consume by the average application relative to the performance-oriented data representations used by Stellar Core.

This guide describes how to administer a production Horizon 2.0+ instance 

we do not endorse running Horizon backed by a standalone Stellar Core instance, and especially not by a validating Stellar Core

Running Horizon within your own infrastructure provides a number of benefits. You can:

  • Disable request rate limiting for guaranteed network access
  • Have full operational control without dependency on the Stellar Development Foundation
  • Run multiple instances for redundancy and scalability
https://developers.stellar.org/docs/tools-and-sdks

Stellar Tools and SDKs and Wallets

Freighter - a non-custodial wallet given Stellar holds the asset tokens

SDF’s flagship non-custodial wallet extension that enables you to sign Stellar transactions via your browser.

Go monorepo

The two key libraries for interacting with Horizon are txnbuild, which enables the construction, signing, and encoding of Stellar transactions, and horizonclient, which provides a web client for interfacing with Horizon server REST endpoints to retrieve ledger information and submit transactions built with txnbuild.



https://www.stellar.org/developers/guides/Development guides
https://www.stellar.org/developers/guides/concepts/fees.htmlTransaction fees
https://www.stellar.org/developers/reference/

Stellar Client API  

supports Java, JS, GO



Ripple fast, affordable service
https://xrpl.org/Ripple developer site for XRP Ledger
https://xpring.io/

Xpring.io  - open money platform

Interledger connects other ledgers ( ILP )

Java, JS, Swift languages





Gamification references
https://www.forte.io/

Forte.io 

gaming economies on tokens, wallets, blockchains








Key Concepts



Token Types for different use cases

Design process can determine the need for different token types in the disbursement solution

Token Taxonomy Initiative defines a Token Taxonomy Framework 

https://github.com/interwork-alliance/TokenTaxonomyFramework

https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework

http://tokentaxonomy.org/wp-content/uploads/2019/11/TTF-Overview.pdf

Examples of tokens defined in version 1 specification 


Token Taxonomy Framework

https://github.com/interwork-alliance/TokenTaxonomyFramework

https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework

token-taxonomy-framework-github.pdf



Token Terms



The taxonomy is comprised of artifacts that are categorized into 5 basic types:

  • Base Types: the foundation of any token is its base token type.
  • Behaviors: capabilities or restrictions that can apply to a token.
  • Behavior Groups: a bundle of behaviors that are frequently used together.
  • Property Sets: a defined property or set of properties that - when applied to a token - can support a value that can be queried.
  • Token Templates: a composition of artifacts brought together to create a classification and detailed specification. There are 2 parts of a template, the formula and definition.



Hierarchy


TaxonomyModel



Token behaviors

A behavior may also include things like a sequence diagram to clearly define how a behavior is invoked and how the behavior responds using the defined control message definitions.

Sequence Diagram


Token formulas - token definition language

The formula uses brackets, braces and parentheses to combine the token parts and starts with the base token type:

Token Base TypeVisual FormatTooling Format
FungibleτFtF
Non-fungibleτNtN
Unique FungibleτF'tF'
Unique Non-fungibleτN'tN'
Hybrid – class in (,)

Non-fungible with a class of fungiblesτNF)[tN](tF)
Fungible with a class of non-fungiblesτFN)[tF](tN)
Fungible with a class of non-fungibles and fungiblesτFN, τF)[tF](tN,tF)
Non-fungible with a class of fungibles and non-fungiblesτNF, τN)tN](tF,tN)
Non-fungible with a class of fungibles and non-fungibles, with each child having formulasτN([τF], [τN)][tN]([tF],[tN])
etc.

Examples of formulas

A token formula uses the taxonomy symbols, which are references to artifacts, can be used to represent a token that is useful for tooling allowing grouping and structures to be represented. Some examples:


TokenTemplates


DefinitionToTemplate




Token Types

https://invao.org/token-classes-explained-coin-vs-utility-token-vs-security-token/

But it’s actually quite simple: Coins are a currency, utility tokens offer a right to use a product or service, and security tokens represent an investment product.

  1. Security token is an investment with a defined stake in assets ( eg company eps, fixed assets etc )
  2. Coin token is a digital currency ( an alternative to fiat currency )
    1. coins bought and sold through exchanges for a fee
    2. coins can have fluctuating value ( value store ) like Ethereum, Stellar etc
    3. coins can have stable values ( value transfer ) like USD coin etc
  3. Utilitiy tokens have specific value in a defined context ( eg buy a product or use a service in  online marketplace etc )
    1. To use a utility token outside the platform, it is normally redeemed for digital currency or fiat currency unless there is an ecosystem that accepts it
    2. Investors can buy these tokens and use them as a means of payment on the platform developed by the issuing company.
  4. Single Use tokens
    1. issued by party A to party B for party B to execute a transaction on A's blockchain using a smart contract one time only


What are utlity tokens

https://blog.sfox.com/what-are-utility-tokens-and-how-will-they-be-regulated-89cfb6bb2a45



Using Utility Tokens

A Uber token, for example, could be used to pay for a ride with a Uber car. But not for anything else. If you wanted to use the Uber token to buy another product or service, you would first have to exchange it against either fiat money or a crypto-coin such as bitcoin.



Token Classifications

https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework

The TTF classifies tokens using five characteristics they possess, allowing tokens that share the same characteristics to be classified together. These are foundational token concepts that can be applied to most tokens.

  • Token Type: Fungible or Non-Fungible. The difference between the two is clarified later in this document
  • Token Unit: Fractional, Whole or Singleton indicates if a token can be subdivided into smaller fractions, usually represented as decimals, or if there can be a quantity greater than 1. For example, a $1 bill can sub-divided to 2 decimal places and can be broken into four .25¢ coins (or a number of different variation of coins) and is thus Fractional. Whole means no subdivision allowed - just whole numbers quantities - and a Singleton has a quantity of 1 with no subdivision.
  • Value Type: Intrinsic or Reference indicates if the token itself is a value, like a crypto currency, or if it references a value elsewhere, like a property title.
  • Representation Type: Common or Unique. Common tokens share a single set of properties, are not distinct from one another, and balances are recorded in a central place. These tokens are simply represented as a balance or quantity attributed to an owner’s address where all the balances are recorded on the same balance sheet. A unique token has its own identity, can have unique properties, and be individually traced. Common tokens are like money in a bank account and Unique tokens are like money in your pocket.
  • Template Type: Single or Hybrid, covered later, but is an indication of any parent/child relationships or dependencies between tokens.


DefinitionStructure


Taxonomy Artifacts, Categories, and Templates

The taxonomy is comprised of artifacts that are categorized into 5 basic types:

  • Base Types: the foundation of any token is its base token type.
  • Behaviors: capabilities or restrictions that can apply to a token.
  • Behavior Groups: a bundle of behaviors that are frequently used together.
  • Property Sets: a defined property or set of properties that - when applied to a token - can support a value that can be queried.
  • Token Templates: a composition of artifacts brought together to create a classification and detailed specification. There are 2 parts of a template, the formula and definition.


Token transfer requests

https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework/blob/master/images/txfer-response.png

TransferResponse


Base Token Types


Fungible

Physical cash or a crypto currency is a good example of a fungible token. These tokens have interchangeable value with one another, where any quantity of them has the same value as another equal quantity if they are in the same class or series. A fungible token is identified by τF symbol.

Non-fungible

A non-fungible token is unique. Hence a non-fungible token is not interchangeable with other tokens of the same type as they typically have different values. A property title is a good example of a non-fungible token where the title to a broken-down shack is not of the same value as as the title to a mansion.

A fungible token is identified by τN.

Representation Type

Tokens can have either a common representation, sometimes called account or balance tokens, or unique representation, or UTXO (unspent transaction output). This distinction might seem subtle but is important when considering how tokens can be traced and if they can have isolated and unique properties.

Common tokens share a single set of properties, are not distinct from one another, and balances are recorded in a central place. These tokens are simply represented as a balance or quantity attributed to an owner address where all the balances are recorded on the same balance sheet. This balance sheet is distributed, not centralized, and rather simplified. Common tokens have the advantage of easily sharing a value like a "SKU" where the change in the value is immediately reflected for all tokens. Common tokens cannot be individually traced, only their balances between accounts can.

Bank accounts are an example of a common fungible token.

Unique tokens have their own identities and can be individually traced. Each unique token can carry unique properties that cannot be changed in one place and cascade to all and their balances must be summed. Bank notes and paper bills are interchangeable but have unique properties like a serial number and are therefore examples of unique fungible tokens.

A unique token is identified by following the type symbol, i.e. τF'.

Hybrids

Hybrid tokens combine a parent token and one or more child token(s) to model different use cases. Hybrids can get nested where a child token is also a parent for more complex scenarios. Here are some examples.

Shared Non-fungible Parent with Fungible classes

These tokens have a non-fungible parent or base token and can have multiple classes of child tokens. An example of this hybrid is a rock concert, where the parent token represents the specific date or showing of the concert with a fungible child for general admission and a non-fungible child for "reserved" section seating. Represented as τNF, τN).

The owner of an instance of this token will possess the child token that pulls along the parent and is presented at the concert gate for admission. If the parent token date matches the current date the token is valid for admission. If the child token that is owned is in the reserved seating section, the owner has the right to sit in the seat indicated by the token.

Fungible Parent class owns or has many non-fungible Children

A token can be the parent of any number of tokens to represent the compound value of the child tokens. For example, a τFN) is a fungible token parent that is the owner of one or more non-fungible tokens. An owner of an instance of this parent would own a percentage of the pool of non-fungible child tokens. A mortgage-backed security is a good example of this type of hybrid token.

Branches


DefinitionToTemplate


Token properties


Base Token



Token Behaviors


CommonBehaviors

Token Taxonomy Framework pdf from githun

https://drive.google.com/open?id=1CjNlFeoTMG9jH78Fgp5fcY8DXXipR3Aw


TokenSpecification



Sequence diagram shows process to mint token


Sequence Diagram


Token usage models





Reward systems



Reputation systems





Custom Tokens on HLF example 1 - for ERC20 wallet

https://medium.com/deqode/erc20-tokens-on-hyperledger-b82399b4b969

Sample token framework example for HLF and ERC20 wallets

Github links

https://github.com/grepruby/ERC20-Token-On-Hyperledger/tree/v1.0/chaincode/token_chaincode/node
https://github.com/grepruby/ERC20-Token-On-Hyperledger/tree/v1.0/chaincode/token_chaincode/node/tokens

it sets up a token network based on Fabric and shows the use of a smart contract for using ERC20 token (still a token and principles/functions of using it still apply etc...)



Issue custom tokens on the Stellar Network for use in HLF solutions

https://www.lumenauts.com/guides/how-to-issue-a-token-or-ico-on-stellar


How to Issue a Token or ICO on Stellar
  1. Issuing Account. Visit the Stellar Account Viewer and generate a new account. ...
  2. Distribution Account. In the Stellar Account Viewer, generate another account. ...
  3. Trust the Issuer. ...
  4. Change Trust. ...
  5. Complete Transaction. ...
  6. Generate Tokens. ...
  7. Why Limit the Supply. ...
  8. Limit Transaction.

tokens-lumenauts.com-How to Issue a Token or ICO on Stellar.pdf


Using custom tokens on HLF network solutions 


setup for the tokens

The custom tokens should be standard ERC20 tokens for wallets

Create users, identities, ERC20 wallets.


Using the tokens

Then distribute the tokens in the HLF app: sell or donate to users as rewards

Users can buy, sell, donate on the network using tokens

Burn the tokens - buy back the tokens from users at a fixed price or ??



Interwork Token Architecture

https://interwork.org/



The value exchange layered protocol for Interwork opens many doors 

https://www.forbes.com/sites/vipinbharathan/2020/06/07/digital-assets-ecosystem-will-be-powered-by-end-to-end-standards/#1b13be873fd8

Digital Assets Ecosystem Will Be Powered By End-To-End Standards 

Vipin

These tokens are often marooned in platforms with no way to interwork with other tokens or payment systems or existing financial market infrastructure. Releasing the tokens from their current prisons and allowing them to interoperate will unleash business value. IWA standards are meant to be platform and technology neutral and not limited to blockchain or distributed ledger technologies.

IWA focuses on the interoperation of value represented by tokens, by addressing three layers of the problem. Each layer is at a different level in the business stack. Starting from the base, 

  1. Layer 1 - it is the token definition itself,
  2. Layer 2 -  the creation of smart contracts for interworking,
  3. Layer 3 - final layer is the extraction of aggregated data using privacy preserving AI for regulatory reporting and business insights. 


Token templates can make it easier for business analysts to model tokens and behaviors:

For example a token that can be minted and transferred has behaviors like mint and transfer. A business analyst models a token using a graphical front end, which in turn generates artifacts that span business specifications and code. This creates a seamless way to model the token from concept to code. 

Templates can be developed by domain

Multi-party contracts can leverage existing systems like CDM 

 IWA will benefit by looking at work that has already been done in the CDM or the Common Domain Model. CDM although first developed by ISDA, the International Swaps and Derivatives Association is now open source. CDM is being generalized for all types of contracts and is platform neutral. 

The same model can be used for other domains

ISDA CDM fact sheet

https://www.isda.org/a/z8AEE/ISDA-CDM-Factsheet.pdf


Create standards for market -driven analysis of contractually shared data for regulatory reporting and extraction of business value. This analysis will use privacy preserving methods. One can assume zero-knowledge proofs or homomorphic techniques. In this too, existing standards need to be looked at and integrated into the IWA.

Roles will be mapped to sets of token behaviors 

identities can be mapped to roles by:  automatic or manual assignments




Monetize and Tokenize Data


Ocean Protocol Network

https://blog.oceanprotocol.com/how-to-monetize-tokenize-data-8f860e405773

four building blocks needed to make this vision of open data sharing a reality. This open system allows every data provider to monetize and tokenize their data, so that data itself could be a sustainable business model. Once I explain how data can be used more openly, can we then apply the tools of finance to it?


Ocean architecture

https://docs.oceanprotocol.com/concepts/architecture/

An overview of the architecture of Ocean Protocol.


https://docs.oceanprotocol.com/concepts/secret-store/


Ocean Software components

https://docs.oceanprotocol.com/concepts/components/

Keeper

A computer running an EVM-compatible blockchain client (such as Parity Ethereum) where the associated blockchain network is running the Ocean Protocol keeper-contracts (smart contracts).

Secret Store

A Parity Secret Store: software for distributed key pair generation, distributed key storage, and threshold retrieval. It’s used to store asset access-control keys.

Acquarius item metadata manager

Marketplaces run Aquarius to store and manage metadata about the assets available in their marketplace. It provides an HTTP API for interacting with an off-chain database (sometimes called “OceanDB”).

Ocean DB Drivers

Aquarius supports several options for the off-chain database (OceanDB), including Elasticsearch and MongoDB. One can add support for another off-chain database by creating a new driver similar to the existing OceanDB drivers.

Birzio to manage access to market assets

Publishers run Brizo to manage interactions with marketplaces and consumers. It interacts with the publisher’s cloud and/or on-premise infrastructure.

The most basic scenario for a publisher is to provide access to the assets the publisher owns or manages, but Brizo can do much more.

Events Handler

Brizo communicates with the Events Handler to deal with Keeper Contracts events.

The Events Handler monitors Service Execution Agreement (SEA) events and acts as a provider agent to grant access and release rewards for the publisher/provider. This is a critical part in the process of consuming data sets in the Ocean Protocol network.

Every provider in the network must run some sort of an events handler to be able to fulfill the access condition of an Access service in a Service Execution Agreement.

Osmosis Drivers

Brizo supports several options for file storage, including Azure Storage, Amazon S3 and on-premise storage. One can add support for another file storage option by creating a new driver similar to one of the existing Osmosis drivers.

Squid Libraries

Client libraries used by applications (such as Pleuston or Jupyter notebooks) to interact with Ocean components, including Keepers, Aquarius nodes, Brizo nodes, etc.

Commons Marketplace

An online example marketplace/publisher for consumers to explore, download, and publish open data sets in the Pacific Network. Implemented using React and squid-js.

For more information, see the blog post about Commons Marketplace.

Pleuston example marketplace publisher

An example marketplace/publisher front-end for developers to explore, download, and publish assets in an Ocean Protocol network. Implemented using React and squid-js.



Ocean Tutorials

https://docs.oceanprotocol.com/tutorials/introduction/

These tutorials cover:

  • The basics of using wallets with Ocean Protocol.
  • How to set up storage (e.g. in Azure or AWS) to be used with Ocean Protocol.
  • Examples of using squid-js (JavaScript), squid-py (Python) and squid-java to publish a data set, to get & use a data set, and to do other things.



Potential Value Opportunities




Potential Challenges



Candidate Solutions



Step-by-step guide for Example



sample code block

sample code block
 



Recommended Next Steps



  • No labels