[Recommend my two-volume book for more reading]:
BIT & COIN: Merging Digitality and Physicality
Dr. Owen Vaughan of nChain has published and presented his work on Universal Blockchain Assets.
The Universal Blockchain Assets (UBA) is a novel protocol for issuing and transferring tokens across blockchains without the need for a trusted third party or cross-chain bridge. In the UBA scheme, the blockchain is used for double-spend protection only, while the authorization of token transfers is performed off-chain. Due to the universality of the approach, it works in almost all blockchain settings.
The UBA token protocol is vastly superior to any inter-ledger protocols and cross-chain bridges because it does not introduce an off-chain dependency or attack point to defeat the very purpose of using a blockchain in the first place.
A broader perspective of tokenization
Let’s take a first-principles approach to understanding the UBA, its essence, and its scope.
Let’s first consider why one needs a blockchain for tokenization in the first place.
The most basic function of a blockchain is not the transactions, nor even the native coins, and certainly not tokens and smart contract constructs, but the prevention of duplication of a digital asset or transaction (or “double spending” in a narrow sense when a coin or token is involved) using a decentralized mechanism.
All the scripting, cryptography, signatures, and verifications are not inherently on-chain but can be performed off-chain to realize all the benefits commonly associated with a blockchain, except for the prevention of duplication (or double spending in a narrow sense). In other words, these benefits may be commonly associated with a blockchain, but the association is not inherent. They can be separate. This separation doesn’t help us to improve the functions, but to better understand the relationship between tokenization and blockchain conceptually.
Therefore, first, imagine a token system that uses necessary concepts, designs, features, and tools known and associated with tokenization but without a blockchain. One could design such a token system to have all kinds of desired functions and features, including the underlying legal contract, business logic, transaction rules, and so on. One can then go ahead and use the token system without a blockchain. Everything can happen off-chain or without a blockchain while still enjoying the knowledge, techniques, and tools developed in the context of blockchain accumulated in the past.
You could even prevent double spending (or, more broadly, “duplication of transactions”) using a centralized system without resorting to a blockchain.
In fact, if you are shady enough, you could even market your system to fool the users into believing that you’re providing them with “Blockchain Technology” when you are really not. It is proven to be not too difficult to do, thanks to buzzwords like blockchain, DLT, smart contracts, tokenization, Layer-2 (L2), and so on. The Lightning Network, the bridges, and many other so-called L2 solutions are examples of such deceptive success.
But you are serious, honest, and not distracted by all the above. You understand and are determined that a decentralized system is necessary to prevent duplication of assets or transactions.
That is, you know you need a blockchain. You need it regardless of whether contracts, business logic, and transactions happen on or off the blockchain.
You might say that the above exercise of thought is meaningless because you already know that you need a blockchain in the first place.
But here are the points for having this thought exercise:
(1) One must take a serious look at the concept of “decentralization” because it is not a mere buzzword. It lies in the core of the reason why one wants to use a blockchain in the first place. If you misunderstand “decentralization”, you might be either using a blockchain for the wrong reason or using the wrong kind of blockchain altogether.
Unfortunately, the concept of “decentralization” is one of the most misunderstood and incorrectly promoted concepts in the context of blockchain and DLT. See Decentralization, a Widely Misunderstood Concept.
As a consequence, most blockchains are created not to really have decentralization as a goal but as a pretext to promote one’s own coins.
(2) In principle, there is no need to involve more than one blockchain unless one can make a convincing case that multiple blockchains can improve real decentralization.
(3) On the other hand, in reality, multiple blockchains already exist, making interoperability a necessity, at least before one universal blockchain arises to unite everything.
(4) The fact that many functions, such as contracts and business logic, can be done off-chain does not mean that doing them off-chain is the only way or even the best way. One must consider the possibility that there are alternative or even superior ways to implement these functions on-chain.
Regardless of what your conclusion is, the above thought exercise should open one’s mind to this question: on-chain tokenization and off-chain tokenization, which is better, and in what conditions?
With the above background, we may consider the essence and the scope of Universal Blockchain Asset (UBA).
The packets
The first important concept in UBA is a Packet.
A packet is a bespoke object used in the UBA system for issuing and transferring tokens. A packet is not itself a transaction on the blockchain. In fact, as discussed above, one could even imagine a packet as an asset management tool that authorizes token transfers off-chain, and that would completely work without a blockchain if one were not worried about double spending (or duplication of assets and transactions in a brother sense).
Here’s a breakdown of a packet’s function and key features:
- Purpose: Packets are created to authorize the transfer of UBAs between users.
- Content: They contain information about the token being transferred, such as the asset identifier and an optional data payload.
- Inputs and Outputs: Packets have input and output fields. The input references the previous packet, establishing a chain of ownership. It also includes a signature from the sender and the signature scheme used. The output specifies the recipient’s public key, an unspent blockchain outpoint controlled by the receiver, and a blockchain identifier to indicate the outpoint’s blockchain.
As a conceptual backdrop, it is important to realize that the packets in UBA utilize design features such as inputs and outputs and signature verification. These features are “borrowed” from blockchain, but at least at a high level, the UBA packets may exist without a blockchain while still using these blockchain-related features. The UBA packets provide a token system that can transfer and trade tokens off-chain completely if one is not worried about the decentralized prevention of double spending (see the above section “A broader perspective of tokenization”). Saying the above is not to advocate a non-blockchain-based token system but to have a proper layout of the conceptual foundation for understanding the essence and scope of UBA.
From the above backdrop, we appreciate a key design of UBA as follows:
UBA packets are designed to work with one or more blockchains even though, conceptually, they don’t have to.
Double-Spend Protection via Auxiliary Transactions
The above leads to the second key design of UBA: its use of auxiliary transactions to ensure double-spend protection.
Relationship of packets with Blockchain Transactions:
While packets handle token transfer authorization off-chain, an auxiliary blockchain transaction is created on the sender’s blockchain when a transfer is finalized. This transaction includes a commitment (specifically, a hash) of the packet, ensuring double-spend protection. However, this transaction doesn’t directly link to the recipient’s information on-chain, preserving privacy.
In essence, packets act as off-chain agreements for token transfers, while blockchain transactions provide on-chain security and prevent double-spending.
To put this design into proper perspective, it would be helpful to understand a blockchain transaction can be used for a variety of purposes other than moving (transferring or trading) the native coin. In the case of the Bitcoin blockchain, for example, as long as the user has a valid UTXO as an input and an output, a transaction can be structured to be validated by miners even if it does not move any bitcoin except for paying a transaction fee to the miner (even the latter is not strictly necessary). With the Bitcoin scripts, a transaction may be designed to validate and prove any other data, such as a data packet representing a token.
Through this type of transactions, a blockchain is coupled with an external system such as a token system.
UBA accomplishes its “blockchain coupling” by including a hash of the UBA packet in its output. This hash acts as a commitment to the specific packet and, by extension, the token transfer it authorizes. Here’s how it works:
- Packet Hash: When a sender decides to finalize a token transfer, they create an auxiliary transaction on their blockchain. Crucially, this transaction includes a hash of the UBA packet in one of its outputs.
- Unspendable Output: The output containing the packet’s hash is designed to be unspendable. This means it cannot be used as an input for any future transaction. This characteristic is essential to the double-spend protection mechanism.
- Blockchain’s Role: Once the auxiliary transaction is broadcast and confirmed on the sender’s blockchain, the hash of the packet becomes a permanent part of the blockchain’s history.
- Double-Spend Prevention: Let’s say the sender attempts to create another UBA packet, referencing the same previous packet and attempting to transfer the token to a different recipient. This second packet, even if structurally identical to the first, will have a different hash because it’s a distinct object. Since the initial auxiliary transaction already committed the original packet’s hash to the blockchain, any attempt to broadcast a second auxiliary transaction with a different packet hash, but referencing the same unspent output as input, would be rejected by the network. This is because the blockchain enforces the rule that only one transaction can spend a specific unspent output.
In summary, the act of hashing the UBA packet and including this hash in an unspendable output of a blockchain transaction leverages the blockchain’s inherent double-spend protection to secure the token transfer process. Even though the packet itself is off-chain, its commitment to the blockchain via the hash creates a secure link that prevents the creation of conflicting transfers.
What is so special about UBA?
With the above description, one who is keen on the fundamental logic of blockchain should raise the following question:
Isn’t all that discussed above exactly what a commonly known L2 tokenization protocol is about? Tokens defined off-chain, transactions and the business logic carried out off-chain, and verification and double spend prevention realized on-chain—aren’t all these exactly what standard L2 tokenization does?
Yes, that’s true. But that doesn’t mean UBA is not innovative or special.
The breakthrough of UBA is in the following:
- its insight into the mathematical equivalence between one blockchain and multiple blockchains and
- its realization that a blockchain-based proving system and its inputs and outputs can be abstractly defined and made agnostic to the blockchain implementation.
The above is what gives the UBA its built-in interoperability.
If you use just one blockchain, it is the traditional L2 tokenization. But the UBA model reveals that one can use multiple blockchains for the same token and construct the transactions and verifications so that, at any particular transaction, any blockchain ℬi in the set of blockchains ℬ ∈ (ℬ1,…,ℬN ) can be used for on-chain verification (particularly for prevention of double spending) without involving a third-party intermediary to arbitrate the transaction from one blockchain to another.
And this is a big deal.
As said above, UBA establishes a separation between off-chain transactions and on-chain verifications. Specifically, packets act as off-chain agreements for token transfers, while blockchain transactions provide on-chain security and prevent double-spending.
This separation enables cross-chain transfers and enhances privacy.
But it is not the separation itself that is UBA’s big innovation because, in a broad sense, this is what conventional L2 tokenization already does. It is the insight and realization of mathematical equivalence between one blockchain and multiple blockchains in this off-chain and on-chain coordination.
In other words, mathematically, UBA sees a group of blockchains ℬ ∈ (ℬ1 ,…,ℬN ) as a single collective or compound blockchainℬ. It realizes the interoperability of blockchains ℬ1 ,…,ℬN within the group blockchainℬ by defining a universal proving system that includes a proving algorithm and a verification algorithm.
The universal proving system defines and uses a set of inputs and outputs for the proving algorithm and the verification algorithm.
The inputs for the proving algorithm include the following:
- the previous proof in the token’s history,
- the previous UBA packet associated with the token,
- the previous auxiliary blockchain transaction that was part of the token’s transfer history,
- private information that is known to the current token holder, such as a private key.
The output of the proving algorithm is a new proof, which demonstrates the ownership and provenance of the tokens based on the provided inputs.
The verification algorithm is used to check the validity of the proof generated by the proving algorithm. It takes the following inputs:
- The proof being verified,
- The previous UBA packet,
- The previous auxiliary blockchain transaction.
The verification algorithm outputs either a 0 or a 1. A 1 indicates that the proof is valid, meaning the token’s history and ownership have been successfully verified. A 0 indicates that the proof is not valid.
As said above, a critical innovation of UBA is that the proving system and its inputs and outputs are abstractly defined and agnostic to the blockchain as long as the blockchain has inherent double-spend prevention using transaction hashing and cryptographic signature verification. This is what gives the UBA its built-in interoperability.
For anyone who may feel that this design is obvious from hindsight, note this: the fact that no one else has previously had such simple and clear insight testifies to the contrary. Seeing the above-mentioned mathematical equivalence requires a fundamental understanding of the nature of blockchain and the ability to think at a highly abstract level. That the UBA came
Compared to the Tokenized protocol
Mathematically (from a high level), the Tokenized protocol is equivalent to a specific case of UBA where N=1 in ℬ ∈ (ℬ1 ,…,ℬN ). So one can say UBA is broader than the token protocol of Tokenized (that the Tokenized platform is more than a token protocol is a separate matter).
But is the “broader” aspect always an advantage?
It depends on the use cases.
If the token issuer starts from zero to build its own tokens, it may find the singleness of the blockchain an advantage rather than a limitation. This is because the Tokenized protocol has built-in Back-to-Genesis (B2G) and simpler token administration because all verifications (primarily double-spend preventions) happen on the same blockchain.
For example, because Tokenized protocol is built upon a deliberately chosen blockchain for its scalability, low cost of transaction (CoT), and instant settlement (through UTXO and SPV), it is able to build a unified smart contract agent to take advantage of the underlying blockchain’s capabilities. In contrast, if the token is transacted over multiple blockchains, it would be hard or even impossible to maintain uniformity in these properties, including instant settlement (finality), scalability, and low CoT, because different blockchains have different characteristics and performances.
However, if, for practical reasons, the token issuer needs the tokens to be on multiple blockchains without question, then UBA is the solution. For most existing tokens today, this is practically the reality. Besides, it is possible to build token administrative services such as B2G with UBA; only the involvement of multiple blockchains may make such services more complicated and harder to perform (see above).
The choice is a matter of business trade-offs and practicality.
At the same time, if UBA proves to be a solution that the tokenization market wants, Tokenized may add UBA to its platform. Both Tokenized and UBA are L2 token protocols, so there is no fundamental incompatibility.
Compared to the STAS token protocol
UBA is fundamentally a layer-2 token protocol, so the layer-0/1 STAS tokens still offer certain benefits distinct from that of layer-2 tokens.
STAS tokens do not require any additional processing logic beyond that of the on-chain Bitcoin scripts itself. For instance, once the right set of public keys is revealed, many services provided by third parties can be done automatically.
STAS tokens are satoshi-based and behave just like native bitcoin. The token-related solutions and services are on-chain, processed, and verified by the miners. No third-party involvement is required to provide such services or solutions. The entire token system inherently scales as long as the underlying blockchain scales, because no extra bottleneck is introduced to the scaling matrix.
Furthermore, with STAS, because the token is fully on-chain (and there is no third-party dependency), the token operator will not be classified as a payment processor but rather just a cash handler. This difference can have a large impact on the business process in a regulated legal environment.
However, STAT tokens do not have built-in cross-chain interoperability. It assumes the universality of a scalable Bitcoin blockchain as its primary operating environment. Interoperability can be built and provided as an extra functionality, but it is not native or built-in like that in UBA.
A universal scalable Bitcoin blockchain is ultimately the right outcome. It is just not the present reality. UBA could be a stopgap to the ultimate reality.
The end of UBA is blockchain unification
I predict a paradoxical result with the development of UBA:
UBA is created to be inclusive of all blockchains but will ultimately help unify the blockchain world into one blockchain. (See One Blockchain as the Base Layer of the New Internet.)
As said above, if a token can be built on a competent blockchain, it is unnecessary to build it on multiple blockchains. Even though UBA itself offers an elegant multichain solution, it doesn’t make this reality disappear: the world of multi-blockchain tokens is inefficient. This is not due to a shortcoming of UBA’s universality but to that of blockchain diversity. Some of the most popular blockchains are notoriously unscalable and inefficient.
On the other hand, UBA does not force people to use an inefficient blockchain. It will be an open framework from which to choose.
Due to the existing markets, tokens are scattered on multiple blockchains. UBA will likely work with them to expose the fundamentals of each blockchain to market reality and lead the blockchains and the markets to converge.
It will enable cross-chain transfers while allowing actual token utility transactions within each blockchain. This creates a flexible framework suitable for a free market. The actual token utility transactions will demand efficiency and, as a result, may gravitate toward a more efficient blockchain. This way, the most efficient blockchain may end up dominating. It achieves that status naturally through market competition rather than predetermination.
In the above scenario, UBA not only solves a temporary market problem but also acts as a catalytic agent to accelerate the unification of the blockchain world.
Will the markets and assets eventually converge on a universal blockchain that provides a unified technical base while gradually transforming the existing ones without having to create new ones from scratch to disrupt them?
Time will tell.
For nChain, the owner of UBA, it benefits from UBA either way.
However, from a viewpoint of efficiency and productivity, convergence ought to be the ultimate outcome. See One Blockchain as the Base Layer of the New Internet and Technological Unification & Power Decentralization.
[Recommend my two-volume book for more reading]: