When initially launching the blockchain, we selected a foundation with the longest proven track record of security, reliability, and decentralization: Bitcoin. The intrinsic data integrity of Pastel is heavily based on the Bitcoin codebase, and the project has a similar orientation towards mining-based proof-of-work and maximum decentralization.
We designed PSL to be the native cryptocurrency on the Pastel Network which can be used to transfer and store value in a similar way as Bitcoin. However, PSL also has a special use within the system: to allow participants to securely register and store their assets on the Pastel Network. In this case, PSL is essentially a version of Bitcoin as the core cryptocurrency layer, with the rare asset-related functionality built directly on top. This is done by encoding the collectible-related data into special transactions using the coin itself. The benefit of this unique design is that the data written in this way inherits all the security properties of the Bitcoin-like cryptocurrency, providing a solid foundational layer.
Rather than develop this ticket system directly on top of Bitcoin, we determined that it was beneficial to add the cryptographic innovation represented by the zk-SNARK system introduced by Zcash, which allows for provably secure “shielded” (private) transactions that can be validated by the network without disclosing the receiving address. Aside from shielded transactions, Zcash is mostly similar to the Bitcoin codebase with various tweaks, most notably using Equihash as the Proof-of-Work algorithm rather than the SHA-256 algorithm used in Bitcoin.
Once we developed this way of abstracting files as low-level coin transactions using a Bitcoin-like system, we created a system of a higher-level series of tickets to perform all of the necessary NFT-related information on the network. 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.
The benefit of this system is that it provides a powerful and generic framework for encapsulating various sorts of structure and functionality. It is analogous to the difference between a high-level programming language like Python and low-level machine code.
Once we have identity establishing tickets in place, we turn to artwork registration tickets. These are tickets that contain various textual metadata fields related to a given artwork, such as:
There are other kinds of tickets as well, such as trade tickets for handling the trading of registered NFTs between users. For each piece of proposed new functionality, we design a ticket for that purpose, as well as a standardized protocol for validating and securing these tickets by the Supernodes and regular full nodes in the network.
Supernodes are powerful servers backed by collateral held in PSL and are designed to provide advanced services, verification, and governance on the Pastel blockchain. Anyone around the world can launch their own Supernode - all they need is a fast, internet-connected computer, a modest level of technical knowledge for set-up, and 5,000,000 PSL to serve as collateral. This structure ensures that the system remains fundamentally permissionless: the user does not need to ask anyone’s permission to run a Supernode. The network can continue to achieve the decentralization of Bitcoin, with the capability of performing more work and being much more flexible. It is also certainly more decentralized than the centralized mechanisms relied upon as a crutch on Ethereum-based NFT projects.
The other benefit of Supernodes is that they create a healthy financial alignment between the custodians of the machines that operate the network and the owners of PSL coins, which creates a virtuous cycle of incentives. Supernode operators are provided with 20% of the block reward and are also given the opportunity to vote on up to 10% of the remaining block reward to fund community initiatives to support the Pastel ecosystem. Key PSL stakeholders have a direct incentive to make sure their Supernode is operating properly and not damaging the system.
We have also designed various mechanisms to detect, prevent, and harden against attack vectors. Furthermore, the system tracks the reputation of nodes over time in a decentralized way so that nodes observed manipulating or damaging the network can be voluntarily banned or ignored.
This approach of not trusting any network nodes, but instead always requiring multiple, randomly selected nodes to do computations and compare results independently in order to reach a secure consensus, is pervasive across the Pastel project. Supernodes are constantly checking up on each other to ensure that all other Supernodes are keeping up with their obligations to perform in the network promptly and accurately. For example, Supernodes periodically challenge one another to prove that they are really storing the file chunks that they are supposed to be storing. If the challenged Supernodes is unable to respond to the challenge quickly enough, it effectively costs them reputation points in the system. If their reputation gets too low, they are penalized by the network by excluding them from participating in the Supernode block rewards for a certain number of blocks.
The goal of this is to make the system such that, in order for an attacker to disrupt the network, they would need to control a high enough percentage of all Supernodes so that they could reliably count on all of the randomly selected Supernodes for each block being under their control. If any of the selected Supernodes are “honest” then their results will disagree with the malicious nodes and the network can reject the transaction as being invalid.