Understanding Smart Tickets
Tickets are objects stored in the blockchain
Because blockchain storage is expensive, Pastel uses Smart Tickets to represent objects on the blockchain. We designed a system that can store such information to the blockchain using UTXOs directly in a high-performance, memory backed database. We leverage Pay-to-Fake-Multisig, or P2FMS, as the method to write data of any kind to the blockchain, as it has been optimized for the highest level of storage efficiency while using the UTXO set. We then represent the underlying information in a simple and secure format, which can be easily transmitted and subsequently signed by relevant nodes on the network.
For example, when registering an NFT, the bytes of the artwork itself aren't stored on the blockchain. Instead, as part of the NFT registration Smart Ticket, a hash of the artwork is stored on the blockchain. The artwork's actual bytes are stored in the storage layer for later retrieval, and incentives from the blockchain ensure that the file is always retrievable.
The basic Pastel workflow has tickets being proposed by WalletNodes, and then processed by SuperNodes who write the final Smart Ticket to the chain.
A user wants to download a piece of art from the Pastel Network. First, the user submits a request to the art download API. This call contains:
- Authentication information for the user (pastelid and passphrase)
- The transaction ID (txid) of the artwork - this is the ID of the blockchain transaction containing the NFT registration Smart Ticket associated with the original NFT creation.
WalletNode, receiving the API request, interacts with PastelD and validates that the user has permission to access the art at the given txid.
Walletnode then requests downloading the artwork by supplying SuperNodes with the txid.
SuperNodes receiving the download request get the Art Registration Smart Ticket with the associated txid from PastelD. After verifying once more that the user has permission to access this Art Registration ticket, the SuperNodes identify where the file is stored in the storage layer. The SuperNodes retrieve this file from the storage layer and return it to the WalletNode, and then onto the user.
In this example, we saw how Smart Tickets are used as intermediaries between the storage layer and the blockchain - saving users time and money while still guaranteeing content.