Skip to content

Dictionary

ABI

An ABI (application binary interface) helps applications which need to communicate with the smart contract to do this in a correct manner. The ABI gives the application a descriptions of what type of data the contract contains and what actions it has to offer. Example´: an application interacts with a ERC20 token contract, the ABI lets the application know, that the contract has the action transfer.

Account

Every user on the Partisia Platform has an account. The account has an address and a nonce. It holds your balance of gas and MPC Tokens.

Address

An address on the Partisia Platform is a unique number that identifies the recipients and senders of transactions. User accounts and smart contracts can be senders and recipients of transactions and hence both have addresses. The address is a hexadecimal number derived from the public key. Deployed contracts shows the owners account address and the contract address.

Baker Node

Baker nodes perform baker services - they produce and sign blocks.

Block

A block is the basic component of the blockchain ledger. Each block contains a batch of valid transactions and events that have been executed at a given block time. The block time is incremental. The chain is started with a genesis block that defines the initial state of the blockchain. Each block has a reference to its parent block thus forming a chain all the way back to the genesis block.

A block is produced by a block producer. When a block is produced the transactions and events are executed and the resulting state is stored as the current state.

Block (height, number, time)

On each shard blocks have a number being incremented since the first block. This number is referred to as height in MPC Explorer. You can imagine the blocks being stacked on top of each other. If you combine the block's number with shard number, then each block has an unambiguous identity. A specific block points to a shard and a time, so the number is also sometimes referred to as block time, since the order in which a block is produced also works as a reference in time.

Event transactions

An event transaction is a special type of transaction that is spawned during the execution of another transaction. Events are used to communicate across different contracts and/or shards.

Events have the same basic properties as ordinary transactions. Events are sent through the flooding network and have the same validity rules as ordinary transactions. When a transaction is executed the network and CPU fees are collected, the rest of the cost is distributed evenly between any events said transaction spawns. Events are executed the same way as ordinary transactions meaning they can also spawn events. This means one can implement asynchronous, indefinite recursion which will eventually terminate since the events will run out of gas to pay the fees.

Event transactions are instrumental in enabling cross-shard transactions since they can be routed by the blockchain to their respective destination shard. A routed event transaction is enriched with a finalization proof and routed based on the routing table in the chain state. For more details see Shards.

Flooding Network

A computer network where every node distributes packets to all it neighbors. In a blockchain blocks are propagated using a flooding protocol, which means nodes send the blocks they have processed and signed to all their peers for further validation.

MPC

The privacy layer of the Partisia Platform utilizes several zero knowledge protocols. Most notably MPC (ecure multiparty computation). MPC allows for calculation on private data, where you can make the result of the calculation public and keep the private data secure at the same time. A simple example of this could be calculation of average salary in a company. You do not want to disclose your own income, but it would be nice to know if you make more or less than the average. Instead of sending your private data to your peers you can send a random bite (share) of the private data out to several peers. They do the same. When doing the calculation no salaries are revealed but the total sum of the numbers is the same. So, you get the correct result even though the calculation is done on the data in a randomised form.

NFT

A non-fungible-token. Non-fungible means that it is unique unlike other types of tokens such as cryptocurrencies . The ownership is of an NFT is stored on a blockchain. They can be sold and transferred. The NFT can contain a reference to a digital file like a photo.

Node

Nodes are the computers in the blockchain network. The nodes run the blockchain software and are connected to each other through the internet. Some nodes perform services for the users of the blockchain, foremost they facilitate the transactions that happens on the blockchain.

Nonce

A nonce is a number used only once. Nonces are used to ensure that old messages cannot be reused in replay attacks. In the state of an account on the Partisia Platform is a nonce, which is incremented every time the account signs a transaction.

The Partisia Platform Ledger

The immutable record or ledger, that keeps track of transactions that have already taken place. There is a copy of the ledger on all nodes. The Partisia Platform has sharding, the ledger records the activities on all shards, they are combined to form the complete ledger.

Public-key cryptography

Public-key cryptography is a form of cryptography that uses pairs of keys: A public key that may be shared with anyone and a private key that must be kept secret. The public and private keys are generated in mathematically connected pairs. The public key can be used to encrypt a message that can be decrypted by the private key, meaning that anyone can send an encrypted message to any recipient assuming they know their public key. The Partisia Platform uses elliptic curve cryptography, specifically the curve secp256k1.

Reader Node

A node that reads the state of the blockchain, but does not produce blocks.

Rest Server

A rest server is a server that gives access to the REST API. An API conforming to REST architectural properties. The API (application programming interface) gives the definitions other systems need to read from the blockchain and send new information in the form of transaction.

Shards

The Partisia Platform distributes the workload to a number of parallel shards. This allows for scalability of the blockchain. Blocks are produced and finalized parallel on each shard. It is important to note that the shards are not separate parallel blockchains. The Partisia Platform blockchain ledger is composed of information on all shards. So contracts deployed on different shards can still interact with each other across shards. The consequence of shards is an extremely fast and efficient blockchain which can be scaled up with more shards if the demand arise. The type of sharding used by the Partisia Platform is a unique feature which resolves the blockchain scalability problem.

Smart Contracts

A smart contract is a program you run on the blockchain. The conditions of the contract are present across the blockchain. This ensures that actions of the smart contract will happen only once, are trackable and irreversible. In this way a smart contract works independently, without any need for outside authority to facilitate the change in state. Effectively a smart contract can replace the trustee in a binding transaction. This makes smart contracts useful tool for auctions, voting and purchases. In addition to public layer actions on the blockchain, smart contracts can also be used to facilitate ZK computations on the private layer of the Partisia Platform. Read more here

Transactions

A transaction is an instruction from a user containing information used to change the state of the blockchain. Transactions are bundled into blocks and added to a distributed and immutable ledger in a sequential manner across multiple shards on the Partisia Platform. On the Partisia Platform there is one type of transaction existing and it is used to interact with a contract. All transactions include a RPC byte stream, the interpretation of which is up to the specific contract.

Each transaction defines how long into the future it is valid and what the cost is. A hash of the transaction and the signer’s nonce is then signed by the account holder using his/her private key. This signature is used to authenticate the signer on the blockchain. If the signing key does not have a corresponding account, the transaction is rejected.

A transaction is valid when:

  • It has as a valid signature
  • The nonce in the transaction matches the account nonce in the blockchain state
  • The transaction has not expired
  • The account can cover the cost of the transaction

WASM

Abbreviation for WebAssembly, a standardized binary code format which is used for the smart contracts deployed at the Partisia Platform.

ZK Computation

See MPC

Partisia All Rights Reserved © 2023