List of terms recommended to understand the contents of this research grant.
An object that has an address, a balance, a nonce, and possibly some storage and code as well. An account may be either a contract account or an externally owned account (EOA).
This is typically an EOA or contract that can receive (destination address) or send (source address) blockchain transactions. Furthermore, it is the rightmost 160 bits of an ECDSA public key's Keccak hash.
API (Application Programming Interface)
Set of functions and procedures that allow the creation of applications that access the characteristics or data of an operating system, application or other specific service.
Backend is the data access layer of a software, which is not directly accessible by users, it contains the logic of the application that handles said data. The Backend accesses the server, which is a specialized application that understands the way the browser requests information.
The reserve price for each block is known as the "base fee." It is the minimum gas fee a user must pay for a transaction to be included in the subsequent block.
A blacklist is a measure that a blockchain node can take to prevent it from blocking any transaction that has been authorized by a defined list of blocked accounts or any transaction that interacts with a defined list of contracts. Each node can define its own blacklist, which cannot be seen publicly.
Blocks are files where the data belonging to the blockchain is permanently recorded. They store some or all of the most recent transactions that have not yet entered any previous blocks. A block is a permanent store of records that once written cannot be altered or deleted.
A block explorer is a program or website accessible through a browser that allows a user to search and navigate through the blocks of a blockchain, their contents and their relevant details.
It is defined as the number of blocks in the chain between a given block and the first block in the block chain. For example a block height of 500 refers to block number 500 of that chain.
The block header is a collection of block-specific metadata and a summary of the transactions contained in the execution payload.
Bitcoin block reward refers to the new bitcoins that are awarded by the blockchain network to eligible cryptocurrency miners for each block they mine successfully.
A growing list of records, called blocks, that are linked by cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data (usually represented as a Merkle tree).
Verifying that a new block has valid transactions and signatures, builds on the heaviest historical chain, and adheres to all other consensus requirements. Valid blocks are added to the end of the chain and distributed to the network, where invalid blocks are discarded.
It is used for communication between different data formats. A form of business application integration, it aims to reduce costs and standardize the agreed definitions of data associated with the integration of business systems.
A chain ID is a blockchain configuration that affects the formation of an address. The binary transaction link between the address and the chain ID makes it impossible to move transactions between different blockchain networks.
An account that contains code that is executed whenever it receives a transaction from another account (EOA or contract).
They are digital applications or programs run on a blockchain or P2P computer network instead of a single computer, these are outside the reach and control of a single authority.
A set of practices that combines software development and IT operations. Its goal is to shorten the life cycle of systems development and provide continuous delivery with high-quality software.
The method by which an Ethereum node identifies other nodes to connect to.
Distributed Hash Table (DHT)
A data structure comprising (key, value) pairs that Ethereum nodes use to identify peers to connect with and choose which protocols to utilize for communication.
A set of platform as a service products that uses virtualization at the operating system level to deliver software in packages called containers. Containers are isolated from each other and bundle their own software, libraries, and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single core operating system, therefore using fewer resources than virtual machines.
The native cryptocurrency that is used by the Ethereum ecosystem and that is used to pay for gas fees when transactions are being executed.
A change in protocol causing the creation of an alternative chain, or a temporal divergence in two potential block paths during mining.
genesis.json is the file that defines the
Genesis block, which is the starting block of the blockchain. This is like the "configuration" of your blockchain. For example, the chain configuration and the level of difficulty to extract blocks.
A virtual fuel used in Ethereum to execute smart contracts. The EVM uses an accounting mechanism to measure the consumption of gas and limit the consumption of computing resources.
The maximum amount of gas a transaction or block may consume.
A platform that provides hosting for version control of software development, in addition, it allows to manage distributed version control and the functionality of source code management, as well as its own characteristics. It provides access control and various collaboration features such as bug tracking, feature requests, task management, and wikis for each project.
Is the process of transforming a string into a fixed-length key or value. A data string will always produce the same hash, so it is used as a means of checking the content of the string against the expected content.
Head Block is the last block written on the blockchain, stored in reversible blocks.
IAC (Infrastructure as Code)
Is the process of managing computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.
IBC (Inter-Blockchain Communication)
A tool by which multiple blockchains can communicate with each other. This can be used to send tokens from one chain to another, or to expand the capacity of a network by increasing the number of chains running in parallel.
Term used to refer to something that cannot be changed.
It is a distributed storage mechanism for putting files online for decentralized storage.
Issues are a great way to track tasks, improvements and bugs for your projects through the GitHub platform.
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
Period of time that elapses between the communication of a packet through the network.
The term used to signify the beginning of a blockchain.
Merkle Tree is a tree in which every leaf node is labelled with the hash of a data block, and every non-leaf node is labelled with the cryptographic hash of the labels of its child nodes. Hash trees allow efficient and secure verification of the contents of large data structures.
An internal transaction that is never serialized and only sent within the EVM.
Multisig is a short term for multiple signatures.It’s used to describe the case in which one requires more than one account's permission to execute a transaction.
The Ethereum network is a peer-to-peer network that broadcasts transactions and blocks to every Ethereum node (network participant).
node is the fundamental basis of blockchain technology, they make up the infrastructure of a blockchain. All nodes in a blockchain are connected to each other and constantly exchange the latest data in the blockchain so that all nodes are kept up to date.
An oracle is a system that makes off-chain data available on-chain. An example of this would be an oracle that takes the score of a basketball game and puts it on-chain for smart contracts to consume and base decisions on.
Computers running Ethereum client software that have identical copies of the blockchain and are connected to one another.
Private Key (aka Secret Key)
private key is a secret key used to sign transactions. In blockchain networks, a private key's authority is determined by it's mapping to a public key on the network.
Proof of Work
Proof of Work is a consensus mechanism used by many blockchains, most notably by Bitcoin. The miner of the next block is the first to solve a hashing problem. The difficulty of this problem increases as more hashing power attempts to solve this problem at the same time. The ever-increasing amount of work that has gone into a blockchain over time is what protects the chain's history.
A publicly available key that can be authorized to permissions of an account and can be used to identify the origin transaction. A
public key can be inferred from a signature.
Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub.
pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up
commits before your changes are merged into the base branch.
Data returned by an Ethereum client to represent the result of a particular transaction, including a hash of the transaction, its block number, the amount of gas used, and, in case of deployment of a smart contract, the address of the contract.
Recursive Length Prefix (RLP)
Recursive Length Prefix. An encoding standard designed by the Ethereum developers to encode and serialize objects (data structures) of arbitrary complexity and length.
The process of converting a data structure into a sequence of bytes.
smart contract is a computer protocol intended to facilitate, verify, or enforce the negotiation or performance of a contract.
Tokens deposited in a smart contract is referred to as your stake.
A snapshot of all balances and data at a particular point in time on the blockchain, typically referring to the condition at a specific block.
The process of downloading the entire latest version of a blockchain to a node.
testnet is an instantiation of the EOSIO platform that is intended for testing purposes. Generally, the native token has no value and is given away to developers so they can test.
The unit of measurement of a cryptocurrency.
Transactions Per Second. A metric by which the performance of a blockchain is measured.
It is a combination of one or more actions. Usually the result of executing a
A type of self-custody wallet that lets users keep their cryptocurrency balances independent of exchanges or third parties.
A token typically providing holders with the ability to access, via an encrypted key, a particular blockchain or network for purposes of accessing certain benefits or functionality on that blockchain or platform. Utility tokens are typically not intended for use as a currency or means of payment.
A node is responsible for storing data, executing transactions, and adding new blocks to the blockchain in a proof-of-stake system. For the validator software to be activated, 32 ETH must be staked.
Wallets are clients that store keys that may or may not be associated with the permissions of one or more accounts. Ideally a wallet has a locked (encrypted) and unlocked (decrypted) state that is protected by a high entropy password.
A decentralized (P2P) messaging service. It is used along with Web3 and Swarm to build DApps.
A whitelist is a subjective measure that a blockchain node can implement to allow transactions to be placed in a block only if they are listed in your account or contract whitelist. Each node can specify its own whitelist, which cannot be seen publicly.
A document released by developers that explain the technology and purpose of the project they are working on. The document tells prospective investors how the cryptocurrency was conceived and highlights its purpose.
A special Ethereum address, composed entirely of zeros, that is specified as the destination address of a contract creation transaction.