LUKSO Ecosystem: Part 3

Felix Hildebrandt
LUKSO
Published in
14 min readMar 3, 2022

--

This article is the last part of a trilogy. The first post discussed the project's goals, blockchain network, and economics. After covering problems current account solutions face, the second post introduced the first half of standards, on which we will now continue.

The NFT World

Unique non-fungible tokens (NFTs) are gaining significant traction in digital art and collectibles. Use cases in other industries, such as fashion, music, and gaming, are just around the corner. The appeal of NFTs stems from their unique ability to enable actual ownership of digital information without depending on third-party storage. Blockchain networks allow the creation of digital assets that have transferable value and, just like physical assets, can enjoy the benefits of a free-market economy. NFTs often serve as social gateways to online communities that have already developed creative economies with this technology.

Like most new technologies, NFTs have limitations and need further development to realize the potential of their utility. A significant issue is how that valuable data asset is stored and attached to the NFT. The data NFTs represent is not usually held within the token's smart contract. Instead, it points to an off-chain file on a centralized server, commonly saved as a JSON file.

Full off-chain references have significant downsides. Smart contracts cannot read them, and they cannot be used by any smart contract built around NFTs. Also, the information is linked by a URL (internet address) and is not directly hash referenced, which is a method for cryptographically verifying that the information has not been changed. New NFT standards should use hashes so that the file can constantly be rechecked, regardless of the underlying storage solution.

LSP4: Digital Asset Metadata

An NFT should have the ability to contain different types of metadata. Digital Asset Metadata defines a digital asset with descriptions, images, and asset files. The standard allows lists with multiple artists, links to extra media footage, multiple variants of artwork, and much more. Developers can link several creators to one asset, usually referencing their Universal Profiles, to share credit or get royalties. Other smart contracts can also read such information, verifying the asset's data.

An example can be seen on the Lambada NFT, where data types are directly fetched from the smart contract itself. Suppose we pair the metadata with additional logic. In that case, the feature-set is almost endless, allowing NFTs to have expendable assets and metadata that could change over time based on special permission or events.

Multiple Designers linked to one NFT
Multiple Designers linked to one NFT

The Digital Asset Metadata standard uses the ERC725Y standard combined with the Storage Schema to generate a standardized assets description. The dynamic key-value store of ERC725Y allows the creative economy to store significantly more data directly on the asset.

LSP5: Received Assets

Now that we know about the ability to create multifunctional tokens with correctly linked assets, we can discuss how Universal Profiles keep track of them. There should be an efficient way to trace the addresses of received assets and display them in the profile or on other services. This standard enables a decentralized way to view the assets owned by a profile, which has only been possible through a centralized service provider that scans the blockchain and displays transactions in a readable format.

The Received Assets standard describes how keys within the key-value store of the Storage Schema can reference the address of assets. The smart contract standard holds an array of the asset's smart contract addresses and an asset map to identify their type. The map also helps prevent duplications of listed contract addresses. A copy of an address will refer to the same array index, which can be automatically added via the Universal Receiver Delegate if assets are transferred to a profile.

The Received Assets standard within the account could also better the pruning issue, as acquired assets are not only referenced with the transfer but also from the Universal Profile. Storing all received assets is a huge entry point for a new wave of blockchain applications. It dramatically reduces complexity while querying datasets. Typically, services have to fetch transaction histories with an explorer tool or use centralized projects like Etherscan to gain ownership insights of specific addresses. Without those, services usually do not see any information because EOAs cannot store information about owned assets.

The flow of Blockchain Data Fetching
The flow of Blockchain Data Fetching

Using an API contains the risk of dependence on centralized services and the potential for error. By storing the assets ever received on-chain, services can retrieve everything from the Universal Profile's smart contract with the Universal Receiver Delegate and Received Assets standards. Websites and apps can be built by directly loading data from smart contracts, allowing truly decentralized frontends. For example, LUKSO's Universal Profile Directory fetches all profiles and assets purely from smart contract storage.

LSP6: Key Manager

The Universal Profile works to build self-sovereign contract-based accounts in a peer-to-peer manner. The relationships between those profiles come from interactions between individuals and services. A standalone ERC725 Account does not, by default, remove the need for or offer permission management. Users need a way to control profiles through multiple devices and keys, granting applications the ability to act on their behalf and extending control of the profiles through a system of rights and roles. For example, users could restrict account ownership changes to one device, like a secure home computer, while allowing regular day-to-day transactions with their smartphone. Even multi-sig can be put in place to create profiles for decentralized autonomous organizations (DAOs).

With the Key Manager, users can add multiple keys or services to their Universal Profile to execute different actions. The Key Manager standard solves the problem of who can do what on everyone's Universal Profile by checking permissions and restricting specific activities of certain devices or keys. Initially, there are eight permissions, ranging from simple signing to changing ownership. Permissions are granted via data bits, and new ones could be standardized in the future.

Key Manager interacting with a Universal Profile

When using the Key Manager, the Universal Profile does not directly interact with every smart contract or EOA. Instead, the Key Manager smart contract acts as a gate to the profile. The contract checks if the signed transaction has permission to perform the desired action before execution. All keys and permissions are still stored within the ERC725 Account but controlled by the Key Manager's smart contract. Therefore, accounts can also upgrade the Key Manager by calling the transfer ownership on the profile. The standard controls the outside-in transaction calls to the user's Universal Profile. It acts as a permission wall for incoming transactions and allows users to have a more functional, safer, and user-friendly interaction with their profile.

About Relay Services

Relayers can be set up on LUKSO to work with Universal Profiles. Relay services are backend systems that execute users' transactions on their behalf, so the onboarding does not require initial funds from their wallets. Instead of sending transactions directly to the blockchain, users can send their signed transactions to a relay service. The relayer will continuously listen, pool signed transactions, check if they are valid, and send them to the respective Key Manager of a profile on the blockchain. The Key Manager then verifies that it was signed by a key controlling the Universal Profile, and the transaction gets executed.

Relay services handle the cost of infrastructure behind the scenes. Companies can buy LYX and set up a relay service with those coins to execute transactions for their customers. The assumption of costs can be subsidized by projects where users already pay a subscription fee or indirectly bring value by watching advertisements or starting their onboarding process. Such a relay service is already set up from LUKSO on its test network, where developers can experiment for free. LUKSO will also run a free relay service for initial users on the main network, making it easy to get started.

Relay services will increase convenience and usability when creating or editing Universal Profiles or interacting with other smart contracts. Apps can use such a relay service to hide the complexity of the background technology and create seamless user experiences.

LSP7: Digital Asset

The Digital Asset specification is a token standard for fungible and non-fungible tokens. It is based on ERC20, which Fabian Vogelsteller proposed in 2015 for fungible tokens, and improves on ideas from ERC777 and other standards, like ERC223. The standard offers ERC725Y based metadata abilities, allowing these tokens to benefit from standardized information storage. It provides functionality for sending tokens on a user's behalf and doing batch transfers. Both features will work well with external services. For example, games could manage in-game currencies or assets owned by your profile, and concert organizers could transform or stamp tickets for users. In a way, they can act like you when spending specific assets. Such token management will be an essential part of the metaverse because ownership remains on the user side, and permissions allow for smooth interactions within the ecosystem.

Because fungibility is not strictly defined, it can function as a universal ground layer for tokens. The standard also implements hooks and force transfers. With hooks, tokens can inform other smart contracts about transfers using the Universal Receiver standard, allowing profiles to reject and reverse transfers.

These functions are essential because token loss is a massive problem in today's blockchain space. Users have to deal with the risk of accidentally sending funds to the wrong address and not having the ability to reverse them. On Ethereum, for instance, the null address holds over 30 million USD in Ether and 200M USD in tokens, which were presumably sent by accident. On Bitcoin, the token loss analysis from Chainalysis found even more significant losses.

As discussed earlier, storing assets on keys can lead to data loss. However, it is sometimes necessary to send assets directly to keys. That's why the Digital Asset standard introduces a force parameter. By default, users can only send token transactions to other smart contracts, including ERC725 Accounts that implement the Universal Receiver functionality, meaning they can act on the transfer event and confirm the incoming asset is appropriate. However, if the users are fully aware of their actions, they can force the asset to be sent to a regular address.

Developers can use the Digital Asset standard for non-fungible tokens by setting the decimals to 0, which specifies the token as non-divisible. Digital Asset smart contract represents a generic NFT item, and owning any amount in the contract means owning an NFT of this smart contract.

LSP8: Identifiable Digital Asset

The Identifiable Digital Asset adapts most of the Digital Asset standard's features but has added functionality to allow unique metadata for every NFT in a collection. It comes with the metadata standard, operators, hooks, and force. Users and services can trade, mint, and burn these non-fungible assets over an identification number instead of simple token amounts, making each unique and verifiable. Another advantage, compared to the most commonly used NFT standard (ERC721), is the identification field. The ID is a 32 bytes field, allowing token IDs to be numbers, bytes, strings, or smart contract addresses, hashes, or string values that can mimic serial numbers as in the physical world.

Unified storage for such uniquely minted assets is also expanded with the Digital Asset Metadata standard. Each NFT can feature its own set of metadata, verifiable on or off-chain. In contrast to the standards today, where only the NFT contract contains the pre-defined metadata, a Digital Asset NFT can be linked to another ERC725Y metadata smart contract, allowing tokens to refer to their own smart contract logic with customizable metadata. Such new NFTs deliver more flexibility and upgradeability. NFTs can also carry the history of their previous metadata upgrades to simplify fetching processes. In this next generation of NFTs, called NFT 2.0, games and services can utilize this standard to design assets with rich metadata readable by smart contracts. Individuals can also use NFT 2.0 technology to connect assets with new communities and payment streams. For example, accounts could participate in trade profits or unlock additional features based on the hold duration of the assets. The Identifiable Digital Asset standard also includes batch transferability, allowing users to move a more significant number of token IDs in a single transaction.

Independent Assets

At the moment, regular NFTs must be minted and traded from a wallet connected to an externally owned account. They have initial owners and are primarily static objects representing ownership. Future standards will allow NFTs to be marketplaces themselves, allowing buying and selling of the NFT at the smart contract level. Such a standard would remove traffic and logic from third-party platforms that introduce additional fees and pose security risks. In combination with the possibility to receive and reject, services can raise security to an even higher level. It also allows fee-sharing between the many creators of an NFT. Items that pay for themselves or act based on intrinsic code could also be a massive enabler for games in the metaverse. Builders could even connect such actions with oracles (portal services to the outside of a blockchain), so real-world events can trigger specific behaviors on-chain. The functionality will benefit creators and builders, as royalties or assets can be automatically transferred or edited this way.

A note on Phygitals

By having the expanded key size within the smart contract storage, creators can merge the physical and digital world by referencing values to significant IDs. Items with NFC chips, QR codes, or serial numbers can be connected with a digital certificate on the LUKSO blockchain to offer a digital twin for real-world assets. One example would be the fashion industry. With a unified way for storing metadata, clothing collections can be verified and matched to serial numbers of NFTs. Clothes could even have additional data attached, like a ticket or currency to spend on an event. LUKSO created one of the physical prototypes almost two years ago.

LSP9: Vault

Vaults allow Universal Profiles to store assets and other information in containers independent from Universal Profiles. They can hold assets, interact with other contracts and attach information via standardized storage. The Vault is connected to a profile but can execute, deploy and transfer values to any other smart contract or EOA. Users can permit applications to store data, smart contracts in particular. For example, a game could connect to a user's Universal Profile and store states and items to a specific Universal Profile's Vault. The service only needs permission to write to it. Such encapsulation is strongly reminiscent of folder structures we use on our computers. Services would have extensive options for organizing the daily digital life of an individual. It also limits the risk of malicious applications by restricting their access to a specific vault.

LSP10: Received Vaults

The Received Assets standard already keeps track of all assets ever received within the profile. Storing histories fixes the pruning issue, dramatically reduces complexity while querying datasets, and decreases the risk of dependence on centralized services for all types of assets. On top of that, web pages and services can directly load data from smart contracts. The Received Vaults standard now brings this functionality to data stored within Vaults. It shows how many different Vaults you own, their type, and smart contract address.

Like the Received Assets standard, the Received Vaults specification describes two keys that services can add to a Universal Profile's smart contract storage. The first one holds an array of the Vault's smart contract addresses, and the second contains a Vault map, enabling the verification of owned storage containers via a smart contract call. The map also helps prevent duplications of listed contract addresses. A copy of an address will refer to the same array index, which can be automatically added via the Universal Receiver Delegate if assets are transferred to a profile.

Into the Metaverse

Now that we know about the building blocks of LUKSO, we can draw a more specific path forward to the metaverse. With the help of contract-based profiles, a game service can connect to a Universal Profile and be restricted to a particular Vault that the profile controls. The game can store characters, skins, in-game currency, and items. Individuals could even use game items across platforms by having the graphics data for each participating game within the NFT.

Because users can add various keypairs with different roles, the gaming service can also generate its keypair standard to customize the storage of items in the user's Vault. An in-game relay service could subsidize transaction costs, removing the need to leave the game and creating a smoother experience for the user. This way, users can freely enjoy gameplay in the Web3 world without caring about transactions at all.

Next-Generation Social Interaction

Social media on Web3 has significant advantages. It allows for censorship resistance and data ownership. With the help of the metadata standard, projects can set up social media pages by directly fetching data from smart contracts on the decentralized censorship-resistant blockchain. New standards could extend account features to allow followers, chatting, or postings connected to various storage solutions to conform to data protection regulations.

Blockchain accounts can also improve ticketing by allowing buyers to hold vouchers themselves instead of an event company. Further, with the independent NFT standard, users could trade assets on any custom platform with integrated marketplace functionality.

Further Scalability

The industry needs to understand that decentralized blockchains allow unprecedented security, transfer of values, and trustless interaction, which all come at a cost. Secondary networks offer a compromise and transform main networks into settlement layers. When securing high-value assets or essential data, a fully decentralized consensus should be considered. But when we look at the metaverse and next-gen social media, they might not constantly interact with high-value assets and make use of trustless interactions between parties that do not always need to be tracked on the main network. A solution would be creating valuable data on the main layer-1 blockchain and connecting it to a subsidiary layer-2 network. Assets could then be locked on layer-1 while used on faster and cheaper networks. Depending on how frequently a sync is needed, users can settle changes on the fully decentralized layer-1 with more security. Universal Profiles will act as a fundamental building block, allowing high-value data to be stored on the main network while securely linking additional information off-chain to keep fees at bay.

Such cross-chain solutions are still obstacles for the Web3 economy as they remove composability to interact with smart contracts directly. Such calls are not possible across chains without bridging services that, as of today, are mainly centralized. Also, bridges cannot move tokens or NFTs between chains. They create references and lock the original on the sending blockchain. The tokenization process works well for fungible assets and coins but is a massive problem for non-fungible ones. You can't transfer unique NFTs without creating a slightly modified clone that refers to the initial asset locked on the main network. Any change to an NFT, like a trading card with increasing metrics, will not reflect on the other networks it's bridged. Having composability by design is why LUKSO focuses on a Layer-1 blockchain. Gaining a base for accounts to act on while ensuring everything is always verifiable and composable directly from smart contracts.

Summary

Developing a unified ecosystem with profiles and intertwined token standards is fundamental to an aspiring Web3. Economies will most likely form within distinct networks because of high-capacity utilization on existing networks, the resulting fees, and limited scalability options. By introducing a new ecosystem with innovative standards and tools that enable interoperability, LUKSO will deliver a blockchain for creatives to move Web3 to a mainstream user base.

Its Layer-1 solution with PoS consensus and sharding will bring light to energy efficiency and scalability. Contract-based accounts will deliver much-needed functionality at the cost of more computation. What may not be a big deal with lower network utilization, relay services will become an essential element to assure ease of use for individuals in the long term. However, capacity limitations should not hinder the emergence and development of promising ideas.

LSPs can be seen as a confluence of many proposals that were already partially ideated in the Ethereum ecosystem but too early, undefined and infeasible. As the inventor of these new standards, LUKSO is positioned as the first driver of mainstream adoption. If we look back at what has led to the adoption of single standards, like ERC20 or ERC721, we can only assume what this ecosystem of ten well-thought-out building blocks could entail. Let's be excited about the future of blockchain-based profiles. The LUKSO network will be a significant milestone in the evolution of Web3.

--

--

Felix Hildebrandt
LUKSO

Web3 Software Engineer at LUKSO, focusing on dApps, nodes, and community.