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

Compare with Current View Page History

« Previous Version 13 Next »

Vipin Bharathan  Dec 30, 2021, New York.

NIFTY is a proposal for a project in Hyperledger labs. Hyperledger labs is an open source code community with a low barrier to entry. Any and all are welcome to join and contribute to the lab. The lab maintainers will be the governors. NIFTY plans a low-code and highly secure implementation to issue and trade NFTs, in a protocol agnostic way. NIFTY code will address market place utilities for issuance and trading of NFTs. NIFTY implementation will allow for extensibility and openness. An initial reference Hyperledger Fabric implementation is planned. 

An NFT, as many already know, is an acronym for Non Fungible Token. A token is a digital or physical object that stands for something else. Tokens must be issued following a strict process, there must be easy ways to verify that a token is a legitimate representation of value. The object that a token stands for can be digital or analog. Key to the definition of an NFT, is fungibility. Fungibility is a property for units of commodity or a good to be interchangeable. USD is fungible, gold of the same purity and composition is fungible. Fungibility needs a measure, a unit of currency, a gram of gold, a barrel of oil, one share of IBM. Fungibility hinges on the indistinguishability of such units. When examined closely Fungibility itself is a spectrum, sometimes limited by taint, by geography, by the number of units. 

In NFT, the definition of fungibility is negated; that is, each token is unique and one cannot be exchanged for another. 

A software system for the creation and trading for NFTs has to account for a way to tie the NFT to the unique object at issuance (Identity, authorization and a global registry); a marketplace for trading NFTs, which means establishing a price for the NFT as well as to transfer ownership. This means an implementation of these actions through interfaces supported by NFT token attributes and metadata.

As reuse is one of the defining characteristics of human endeavor, the following is proposed. 

  • Adopt a token standard (a combination of the TTF and ERC- inspired standards)  
  • Implement a marketplace (recode samples )
  • Use Hyperledger Fabric as the underlying utility. See how ERC standards have been implemented in Fabric.
  • A complex systems view (Identity, distribution, decentralization, fairness, payment systems, cross-border, multi-protocol, interoperability of tokens, standards)- See under extensions.

As Ethereum has been the main driver of NFTs, standards are most mature in EIPs (Ethereum Improvement Proposals). These standards have been implemented in Open Zeppelin and in other locations. Three standards are of note: ERC 721, ERC-1155 and ERC 998.  Of this ERC-721 is most commonly used. The implementation of eThaler as ERC-1155 in Hyperledger labs and its subsequent reuse in the Climate Accounting project means that these standards are mappable to Hyperledger projects like Fabric.

Extension, or even thoughts before current implementation:

  1. Can this infrastructure be flexible enough to define and issue different kinds of NFTs that conform to different standards?
  2. Can a multi-protocol approach work (this is considerably more difficult as it involves creating smart contracts in different protocols)- What about WASM approaches (investigate Solang HL Lab)
  3. Interoperability of NFTs can NFT issued on one protocol move to another? Be paid for in another
  4. Oracles that underlie NFTs.
  5. Submarining- Is this relevant for non-IPFS storage mechanisms?
  6. Other damping mechanisms- A governor or clamping mechanism with a circuit breaker for extreme events
  7. Incorporate AI and XR in the stack
  8. Handle Current limitations of Web3 implementations (Moxie M)

    • "Design systems that can distribute trust without having to distribute infrastructure." . All data to be in distributed infrastructure (In Fabric this can be Private Data Collections)
    • "Reduce the burden of building software." - No code platform....A smart contract generator, for Go implementations first.
    • A generic issuer front end.
    • A wallet front end for transfers (not tied to a particular access point)
    • Platforms vs Protocols.
    • Avoid the worst of both worlds: "centralize to control, decentralize to reduce speed of change".
    • Wallets need interfaces to decentralized data without having to rely on a centralized intermediary.

Volunteers

NameSkillsgithub handle if anySectionCommentCommitment
code, design(architecture, requirements, UX), written and oral presentationhttps://github.com/vipinsunoverall, fullstackNIFTY lab5 hrs average a week
Alfonso Govela




Andrea Frosinini




codehttps://github.com/salimbenesmart contractsERC-721
rajesh rln









Igor Krupczynski




Mark Rakhmilevicharchitecture, requirements, UX, written and oral presentation
overallautomatic code gen (Go, Typescript) in Oracle Blockchain App Builder for TTF-based FTs
  • No labels