An Introduction to PalletOne

in blockchain •  6 years ago 

At present, there is not any connection between different public blockchains. Every public blockchain is separated with its own consensus and its own transaction data. And there is no way to make a transaction between different public blockchains. Every public blockchain is like a lonely island, and it is absolutely disadvantageous for blockchain development. However, it’s also an opportunity for the creators. With more public blockchains, Dapps and networks coming up, the demand for cross-chain operation gets strong.

We can’t have a unified Hyperledger for all the transactions. Bitcoin can’t make it, Ethereum either. None of public blockchains can reach it at the predictable future. BTC asset is less than 50% of the total virtual currency package. ETH has more addresses, but there are still about 30 million.

New public blockchains spring up every day, with valuable Dapps, users and ecosystems on them. Considering the situations, how to accomplish the cross-chain circulation of value, information and functions becomes more and more important.

PalletOne — Born for cross-chain Interaction

PalletOne proposes an effective way to address interoperability challenges posed by Pallet (Protocol for Abstract — Level Ledger Ecosystem). Pallet is aimed at building an “Unobstructed Blockchain World”, in which value liquidity issues don’t exist.

PalletOne also tries to figure out scalability challenges, lacking of user-friendliness as well as platform lock-in issues. However, the core issue figured out by PalletOne is interoperability.

The ultimate goal of PalletOne is to become the “IP protocol” in blockchain world, like IP protocol in the internet. PalletOne allows upper layer application to ignore the bottom physical layer and data link layer. With IP protocol, free flow of information can be easily achieved. PalletOne also can achieve connection of value, information and functions between different blockchains.

From the architecture diagram, PalletOne decouples smart contracts from the underlying blockchains, adopting Jury Consensus and Mediator to keep security. It also provides API and library in the adapter layer. Meanwhile, PalletOne VM compile the contracts written in several programming languages into bytecode that allows efficient execution on multiple platforms. Besides, Token Abstract Layer defines the definition set and operation set of tokens.

Here are several core points about how PalletOne connects different blockchains.
Jury mechanism

Jury in PalletOne is a group of selected smart contract verifiers, which are called Jurors. They are responsible for executing and verifying contracts running on PalletOne. Every Juror pays a deposit to guarantee the security. Jurors use BFT (Byzantine Fault Tolerance) algorithm to reach consensus.

Why Jury is needed? Jury aims at maintaining safety and integrity of the whole system. Jury needs to execute smart contracts and manage multi-signature accounts. And there is no limit to the number of Juries: a single node can participate in multiple Juries at the same time. The Juror could establish a server of another chain. When the cross-chain operation is needed, it can directly connect to the self-built API service, or it can invoke the API of a third-party, such as Bitcoin blockchain.info.

There are two kinds of modes of contract execution: Lock Juror Mode and Unlock Juror Mode. Lock Juror Mode is suitable for short-time contracts. In this mode, the Jury is created at the same time when the contract is created. And Jurors of this contract are fixed. As to the Unlock Juror Mode, it’s more suitable for the long-term contracts or those which don’t need multi-signatures. When the contracts in Unlock Juror Mode are created, the developer can select the Juror Pool in which the number of Jurors is beyond need. Every time the contract is invoked, the Mediator needs to select the Jurors from the pool randomly to convene a Jury.

Mediator

Mediator is the core part of the PalletOne network. It is responsible for network security and consists of 21 nodes. It is elected by users through the DPoS consensus algorithm. Consensus among all the mediators are reached through BFT consensus algorithm.

As the core of PalletOne network, Mediator involves several key parts: deposit management, deployment of smart contract templates, Jury selection, signing for multi-signature wallets, witnessing the units in our distributed database DAG.

In order to ensure safety and prevent evil, the nodes that want to become Mediators and Jurors need to pay a certain amount of PalletOne tokens as a deposit. After paying the deposit, they can become the candidates. The deposit from the candidates is actually a smart contract that is solidified in the PalletOne core, which could realize the process of payment, refund and confiscation.

We know that the execution of smart contracts in PalletOne is performed by the Jury, but the smart contracts running on PalletOne need to deploy the contract template first. The developer deploys the contract template to the PalletOne network, which requires the Mediators to verify and validate.

Another important task of Mediator is to randomly convene Juries. The user sends a request for creating a contract, and the rotating Mediator would select the Jurors, sending the results and signatures to all the P2P network of the super nodes. All Mediators would verify the Jurors and store the data units into the DAG.

The Mediator provides a stable signature for cross-chain multi-signature operations. Generally, when the Jury makes a multi-signature consensus, the Mediator directly believes in the Jury’s consensus and provides its own signature.

Last but not least, Mediators need to witness generation of DAG units, which includes transaction confirmation units, contract authentication units, and contract invocation authentication units.

Token Abstract Layer

Token Abstract Layer in PalletOne decreases the difficulty and complicity of smart contract development and minimize the smart contract vulnerability, which is particularly important to digital assets.

PalletOne has four built-in abstract models: full pre-excavation token, mining token, fixed deeds token and non-homogeneous token.

Full pre-excavation token is similar to token ERC20 issued by Ethereum, users only need to specify the total amount, accuracy, pass name, and abbreviation when issuing the token. PalletOne generates and distributes the token at one time.

Mining token is similar to Bitcoin’s economic model, the user does not pre-excavate or not full pre-excavate the token when issuing a new token. The tokens would be generate by time or Unit height.

Fixed deeds token is similar to the cash, the user can define 1, 2, 5, 10, 20, 50, 100 and other denominations of the deeds. Once released, it is inseparable when the token is issued.

The above-mentioned tokens are homogenous. In the real world, there are also a large number of non-homogenized Tokens. The non-homogeneous certification was defined ERC721 in Ethereum. PalletOne natively supports non-homogeneous token.

DAG distributed storage

PalletOne uses Directed Acyclic Graph (DAG) as its distributed database. Compared to the traditional storage system, DAG allows the transactions to be written in parallel to the entire ledger, thus ensuring the speed of transaction confirmation. Meanwhile, by choosing the main chain, each transaction is in an orderly state, which effectively solves the double-spend problem. Finally, since the transactions are confirmed by reference to each other, the more nodes and transactions, the faster the confirmation of transactions.

PalletOne stores transaction information, contract ID, contract bytecode, contract state, list of jurors corresponding to the contract, and status information processed by the jury during execution of the contract.

Adapter

The Adapter is the communication medium used by PalletOne to interact with different blockchains. Corresponding interfaces for different chains are called for the PalletOne contract invocation.

PalletOne’s adapter divides the operation into 4 stages: preparation stage, verification stage, payment stage, and termination stage. The preparation stage is mainly about preparation work for corresponding blockchains. For Bitcoin, it’s creating multi-signature addresses. As to Ethereum, it’s deploying contracts. At the verification stage, the verification mechanisms of PalletOne contract and adapter need interoperate each other. After that, it’s the payment stage. The payer would be asked to output the request for completing the payment. Termination stage means the contract is completed or terminated because the two parties couldn’t come to an agreement.

Interaction with different modules

PalletOne interacts with PalletOne smart contract VM, distributed storage, and blockchain adapters.

PalletOne defines the interface for virtual machine operation. For the virtual machine layer, only the interface needs to be implemented. For the kernel, there is no need to care about in which way the virtual machine is implemented, which means more virtual machines could be supported. The kernel provides a cross-chain access interface for virtual machine operations, and interface calls are passed to the adapter for execution by the adapter.

PalletOne also defines an abstract interface for distributed storage operations. The kernel manipulates the data in distributed storage through interfaces, without concern for implementation methods. PalletOne can not only support DAG, but also support IPFS or other distributed databases in the future. It will also support common transaction data operations and queries about contract status and UTXO.

PalletOne has designed three operational interfaces considering characteristics of different blockchains, including digital currency adaptation interface, adapter interface based on UTXO model, and smart contract adapter interface. For example, the smart contract adapter proposes contract-related interface functions based on the general abstract adapter interface, including the deployment, initialization, invocation, and destruction of contracts. Smart contracts provide interfaces through the SDK for cross-chain operations.

Conclusion

With more and more blockchain projects are coming out, the interoperability of value, information and function between different blockchains is needed. Whoever solves the problem would be the pivotal project in blockchain world.

PalletOne is a cross-chain protocol that provides API and library in the adapter layer through the abstract interface. In this term, the smart contracts would be directly connected to abstract layer instead of the specific blockchain, decoupling the smart contract from the underlying ledgers.

PalletOne also focuses on the performance and versatility. It proposes Jury mechanism, DAG data storage system and Mediator witness mechanism, which allows parallel processing and great scalability in a safe environment.

If the developers want their DAPPs accepted by the mainstream, they should give priority to the needs of users and the usage scenarios, rather than the underlying technology. PalletOne allows applications to run on multiple chains simultaneously, realizing cross-chain value interaction.

In short, if PalletOne could become the ‘IP protocol’ of the blockchain world and solve the capacity issues, it would make a significant impact to the whole world. We are looking forward to that day.

For more information:
Official website: https://pallet.one/

E-mail: [email protected]

Telegram: https://t.me/PalletOneOfficialEN

Github: https://github.com/PalletOne

Twitter: https://twitter.com/PalletOne_org

Wechat official account: Pallet

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hey please follow me

Coins mentioned in post:

CoinPrice (USD)📈 24h📈 7d
BFTBnkToTheFuture0.043$-3.45%4.75%
BTCBitcoin6758.600$3.63%3.2%
DAGConstellation0.009$10.74%7.94%
ETHEthereum281.862$2.17%-9.9%