[EN] NFT Protocol on VIZ?
Non-Fungible Tokens — a type of blockchain token that often represents a unique asset or collection. They can be transferable (or not), have a limited number of issues, or like collection cards have different properties.
It's easiest to imagine them as a unique item that drops in a diablo-like video game. An artifact whose parameters are randomly generated by the system. Damage range, rarity, special effects of various kinds: additional damage to elementals or a chance to inflict critical damage. How to transfer such a mechanic to the blockchain? The answer is NFT.
There can be quite a lot of approaches for NFT - it all depends on the issuer, who will “maintain” or "accept" this asset through the blockchain. For example, a game developer with collectible cards can form properties by getting parameters from the received transaction signature + take into account the block signature. A kind of randomizer that will algorithmically arrange the parameters of the received item.
Or the developer himself can issue items and transfer (and assign them) to a specific account. If in Ethereum, quite high fees for blocks and data recording, like the very circulation of NFT in smart contracts, causes difficulties, then in fast web-based systems such as VIZ it becomes possible to write NFT parameters immediately in JSON format and provide good bandwidth ability.
Storing NFT asset parameters in JSON format directly in blocks allows you to track the whole history of asset changes (and it could well be, if the NFT asset refers to a JSON file on the issuing server, which can change it even every day). It remains to agree on the NFT storage and circulation protocol.
Building a new protocol on top of VIZ is not that difficult. We describe the protocol through a custom operation and write an oracle to calculate its state. The oracle takes irreversible blocks, checks for the presence of custom operations in the new protocol, and performs all necessary calculations in its database: is it possible for this participant to carry out the operation, whether it is possible to transfer an NFT asset, or whether it had properties and was already expired.
The direct use of the NFT is provided by the issuer or other parties who are willing to support a certain protocol. For example, if there is an account that releases non-transferable achievements, then any project on VIZ will be able to connect their representation in the personal profile of a network participant.
The image of an item in a video game can refer to both the server of the game provider and the ipfs hash of the file. All these little things drag the decentralization metric from "centralized but convenient provider / server" to "decentralized protocol, but without any conveniences." The NFT asset provider can release them upon completion of any assignments, or only on the commercial basis for fiat purchasing hero’s “skin” in the game.
A request for an NFT asset protocol on VIZ occurs? Who will maintain it (oracles), who will create them (providers), and why (achievements, ranks, collectibles, video game cards)? The experience of neighboring projects on Steem / Hive shows strong centralization in this regard. The lack of a single standard does not in any way hinder the development of interesting projects (it is easier for them to make their own protocol and change it if required), but it also does not help new ones to emerge (lack of examples, no open source code with documentation, lack of oracles or APIs).
I propose to think about the creation of such NFT protocol, covering the essential needs and securing basic demand in NFT for developers. Write in the comments possible needs / requests / questions related to the NFT, later I will put together my vision for the new protocol.