NEFERTI
Vipin Bharathan Dec 30, 2021, New York.
neferti is 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. neferti plans a low-code and highly secure implementation to create ecosystems for issuing and trading NFTs, in a protocol agnostic way. neferti code will address market place utilities for issuance and trading of NFTs. neferti 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.
Fractionalization is a closely related concept, in most implementations of NFT, tokens cannot be fractionalized. If fractionalion is available, then fractions of the same NFT token are fungible; another related topic is the concept of tokens of the same kind; an example used is skins in a game, there may be many copies of a skin that is fungible as long as certain elements of the meta-data match. This is the idea behind ERC-1155.
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 means to transfer ownership. An implementation of these actions through interfaces supported by NFT token attributes and metadata.
Reuse is one of the defining characteristics of software development, 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 in NFTs: 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:
- Can this infrastructure be flexible enough to define and issue different kinds of NFTs that conform to different standards?
- 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)
- Interoperability of NFTs can NFT issued on one protocol move to another? Be paid for in another
- Oracles that underlie NFTs.
- Submarining- Is this relevant for non-IPFS storage mechanisms?
- Other damping mechanisms- A governor or clamping mechanism with a circuit breaker for extreme events
- Incorporate AI and XR in the stack
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
Name | TZ | Skills | github handle if any | Committer | Section | Comment | Commitment |
---|---|---|---|---|---|---|---|
EST | code, design(architecture, requirements, UX), written and oral presentation | https://github.com/vipinsun | Y | overall, fullstack | neferti lab | 5 hrs average a week | |
Alfonso Govela | UTC-6 | strategy, design, use cases, business requirements, written and oral presentation | overall, functionality | My expertise is in architecture, cities, real estate & construction. My Interest in creative arts at metaverse. | 5 hrs average a week | ||
Andrea Frosinini | CET | Use cases, business requirements written and oral presentation. | functionality | 3-4 hours a week | |||
UTC-3? | code | https://github.com/salimbene | Y | smart contracts | ERC-721 | ||
GMT | Architect, Token engineer & Analyst | https://github.com/ubuku | Overall | 2-3 hrs a week | |||
rajesh rln | SGT | code | https://github.com/RLNRAJESHIN | 2-3 hrs a week | |||
IST | Design, Architecture, Use cases & presentation | https://github.com/knagware9 | Y | Overall | 2-3 hrs a week | ||
Igor Krupczynski | GMT | Business development, marketing, graphic design | https://github.com/igorkrum | Y | Overall | 2-3 hours a week | |
Mark Rakhmilevich | PST | architecture, requirements, UX, written and oral presentation | overall | automatic code gen (Go, Typescript) in Oracle Blockchain App Builder for TTF-based FTs | 2-3 hours a week | ||
Bobbi Muscara | EST | Community Builder, Project Manager, Training | https://github.com/bobbi28 | Overall | Documentation, Training , Project Management | 2-3 hours | |
Niku Singh | IST | Code, Graphic Design, Content Writer | https://github.com/NIKU-SINGH | 3-4 hours a week | |||
Gourav Sarkar | IST | Architecture, use cases, user experience, presentation | Overall | 2 hours a week | |||
EST | Code, Contract Design and Framework (architecture, requirements, TTF) | https://github.com/sandywalls | TBD | I come in from a bank tech background but lately more interested in gametech. Please join MESIG - Gaming Subgroup if interested. | 2-3 hours a week | ||
Sanjay Kumar K | IST | Research, design, code, and content writing. | https://github.com/ksanjaykumar1 | Overall | 3 hours a week | ||
JT | Code (Go), requirements and design review, testing, documentation. | https://github.com/gatmac | TBD | 4-6 hrs / wk | |||
Yong Wan | UTC-8 | code, architecture, requirements, UX, Use Case and presentation | https://github.com/wan-yong | Overall | I have done a NFT demo in China local Fabric Community this Month. GitHub - wan-yong/nft-erc721: Mint the NFT with Hyperledger Fabric - erc721 token | 5 hrs average a week | |
Maria Munaro | UTC-3 | code, architecture, testing, requirements, use cases | https://github.com/munapower | TBD |
Diagrams
LINKS
Web3
- Moxie's critique: https://moxie.org/2022/01/07/web3-first-impressions.html
- Responses:
- (Vitalik sort of agrees, but defends Ethereum as is expected):
- https://np.reddit.com/r/ethereum/comments/ryk3it/my_first_impressions_of_web3/hrrz15r/
- The critique below agrees, but also provides some insight into solutions * very important for us
- https://mirror.xyz/suzuha.eth/vb5E5lhzmPTcpxOJcz6Q211TDgSvoFwDLA6JSM1V37Q
ERC 721
https://github.com/hyperledger/fabric-samples/tree/main/token-erc-721
https://github.com/hyperledger/fabric-samples/tree/main/token-erc-1155
https://github.com/hyperledger-labs/fabric-token-sdk
Data on the Blockchain
https://www.linkedin.com/posts/jrigler_bsv-activity-6896982664121860097-Q48L
https://github.com/johnrigler/bsv_write_bitcom
NFT issues
https://blockworks.co/wash-trading-which-inflates-nft-prices-growing-area-of-concern-for-traders/
Skins
Storage Solutions
cost of ipfs storage
cost of storj storage