3rdstage's Wiki


Consensus Algorithm

Style Description Remarks
PoW Deters denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer.


BFT (Byzantine Fault Tolerance)




  • Paxos : a family of protocols for solving consensus in a network of unreliable processors
Fault Type Cryptography Replica Requirement
Non Byzantine Failures Non Cryptographic 2F + 1
Non-malicious Byzantine Failures Non Cryptographic 2F + 1
Malicious Byzantine Failures Non Cryptographic 3F + 1
Malicious Byzantine Failures Cryptographic 2F + 1

Blockchain Networks

Network Symbol Consensus Style Description Remarks
BitCoin BTC PoW
Ethereum ETH PoW

Blockchain Platforms

Smart Contract

Blockchain Language Remark
Ethereum Solidity

Key and Wallet

  • Shamir's Secret Sharing
    • a form of secret sharing, where a secret is divided into parts, giving each participant its own unique part.

Financial Business




  • What are transaction fees and why do I need to pay them?
    • In the case of Bitcoin transactions, the reward for miners consists of two things: all transaction fees in the block that the miner validated and the additional incentive of a specific block reward of newly minted coins in the process.
    • Reward = Incentive + Fee
  • What is inflation?
    • But because the amount of new bitcoin is automatically reduced by 50 percent every four years, Bitcoin’s inflation rate will also decrease.
  • Controlled supply



BIP Title Description Type Status Remarks Related
BIP-32 Hierarchical Deterministic Wallets Describes hierarchical deterministic wallets (or "HD Wallets") Informational Final
BIP-39 Mnemonic code for generating deterministic keys Describes the implementation of a mnemonic code or mnemonic sentence -- a group of easy to remember words -- for the generation of deterministic wallets. Standards Track Proposed
BIP-43 Purpose Field for Deterministic Wallets Introduces a "Purpose Field" for use in deterministic wallets based on algorithm described in BIP-0032 Informational Draft m/purpose'/* BIP 32
BIP-44 Multi-Account Hierarchy for Deterministic Wallets Defines a logical hierarchy for deterministic wallets based on an algorithm described in BIP-0032 Standards Track Proposed m/44'/*'/*'/*/* BIP 32, BIP 43, SLIP-0044


HD Wallet

Format Purpose Description Remarks
m/0'/* Default Account
m/44'/coin_type'/*'/*/* Multi-Account m/44'/0': BTC, m/44'/60': ETH, m/44'/61': ETC

BIP 32

private parent key → private child key : possible
public parent key → public child key : possible
private parent key → public child key : possible
public parent key → private child key : impossible
  • Each leaf node in the tree corresponds to an actual key, while the internal nodes correspond to the collections of keys that descend from them.
  • The chain codes of the leaf nodes are ignored, and only their embedded private or public key is relevant.
  • Knowing an extended private key allows reconstruction of all descendant private keys and public keys.
  • Knowing an extended public keys allows reconstruction of all descendant non-hardened public keys.
256 bit entropy
private key
public key
extended private key
extended public key
private child key derivation(CKD) function
public child key derivation(CKD) function
computes extended public key
private key node m : master extended private key
public key node M : master extended public key
Serialization Format
Position Value Remarks
4 bytes version bytes
  • mainnet/public: 0x0488B21E
  • mainnet/private: 0x0488ADE4
  • testnet/public: 0x043587CF
  • testnet/private: 0x04358394
1 bytes depth
  • master node: 0x00
  • level-1 derived: 0x01
4 bytes the fingerprint of the parent's key master key: 0x00000000
4 bytes child number
32 bytes chain code 256 bit
33 bytes the public key or private key data


Topic Chart/Table Remarks Avg. Block Time https://bitinfocharts.com/comparison/bitcoin-confirmationtime.html





rippled API

Category API Methods Description Remarks
Public subscribe WebSocket requests periodic notifications from the server when certain events happen Ledger Stream, Validations Stream, Transaction Streams, Peer Status Stream, Order Book Streams
Admin ledger_request WebSocket, Commandline tells server to fetch a specific ledger version from its connected peers


   Round Start --------------- Close -------------------- Consensus -------------------- Round End
                 Open phase            Establish phase                  Accept phase
  • The XRP Ledger Consensus Process
  • Consensus
    • Concensus
      • Through the consensus process, validating nodes agree on a specific subset of the candidate transactions to be considered for the next ledger
      • Consensus is an iterative process in which nodes relay proposals, or sets of candidate transactions.
      • Nodes communicate and update proposals until a supermajority 5 of peers agree on the same set of candidate transactions.
    • Validation
      • The validating nodes calculate a new version of the ledger and relay their results to the network, each sending a signed hash of the ledger it calculated based on the candidate transactions proposed during consensus.
      • In cases where a node is in the minority, having computed a ledger that differs from its peers, the node disregards the ledger it computed 9. It recomputes the correct ledger, or retrieves the correct ledger as needed.
  • rippled Server States
                                                            +--> full
   disconnected ---> connected ---> syncing ---> tracking --| 
                                                            +--> validating <-----> proposing


  • Reliable Transaction Submission
    • Best Practices
    • Your rippled server should automatically acquire the missing ledger versions when it has spare resources (CPU/RAM/disk IO) to do so, unless the ledgers are older than its configured amount of history to store. Depending on the size of the gap and the resource usage of your server, acquiring missing ledgers should take a few minutes. You can also manually request your server to acquire historical ledger versions using the ledger_request method.
    • Use the LastLedgerSequence parameter to prevent undesirable cases where a transaction is not confirmed promptly but could be included in a future ledger. You should specify the LastLedgerSequence parameter on every transaction. Automated processes should use a value of 4 greater than the last validated ledger index to make sure that a transaction is validated or rejected in a predictable and prompt way.


  • Ledgers
    • Ledger = Header + Transaction Tree + State Tree (Ledger Objects)
    • At any given time, a rippled instance has an in-progress "current" open ledger, plus some number of closed ledgers that have not yet been approved by consensus, and any number of historical ledgers that have been validated by consensus.
    • Only the validated ledgers are certain to be correct and immutable.
  • Ledger Header
    • Two ledgers with the same hash are always the same.
    • For validated ledgers, hash values and sequence numbers are equally valid and correlate 1:1.
    • Two different rippled servers may have different contents for a current ledger with the same ledger index, due to latency in propagating transactions throughout the network.
    • There may be multiple closed ledger versions competing to be validated by consensus. These ledger versions have the same sequence number but different contents (and different hashes). Only one of these closed ledgers can become validated.
    • A current ledger's contents change over time, which would cause its hash to change, even though its ledger index number stays the same. The hash of a ledger is not calculated until the ledger is closed.





Component Type Description Remarks
SHAMapStoreImp.h, SHAMapStoreImp.cpp class
Setup struct deleteInterval, advisoryDelete, ledgerHistory, databasePath, deleteBatch, backOff, ageThreshold
Config.h class




A Solana cluster is capable of subsecond confirmation for up to 150 nodes with plans to scale up to hundreds of thousands of nodes. Once fully implemented, confirmation times are expected to increase only with the logarithm of the number of validators, where the logarithm's base is very high.

A Solana cluster uses a multi-layer block propagation mechanism called Turbine to broadcast transaction shreds to all nodes with minimal amount of duplicate messages.


Field Description Remarks
signatures List of signatures.
accounts List of accounts (read-only / read-write)
recentBlockhash Blockhash of recently produced block used as nonce.
instructions List of instructions which each call an on-chain program.

Smart Contract

Client Programming


Hyperledger Fabric


  • Concepts
    • Channels
      • Channel = Organizations + Ordering Service + Anchor Peers + Chaincodes + Ledger
      • At least one anchor peer per organization




  • fabric/core/ledger/ledgerconfig/ledger_config.go


Docker Images


Config which is printed by "docker inspect --format='{{json .Config}}' ..." is

 "Config": {
   "Hostname": "e7eddde82bec",
   "Domainname": "",
   "User": "",
   "AttachStdin": false,
   "AttachStdout": false,
   "AttachStderr": false,
   "Tty": false,
   "OpenStdin": false,
   "StdinOnce": false,
   "Env": [
   "Cmd": [
   "ArgsEscaped": true,
   "Image": "sha256:793719e9dd193f580f32c5984ac47a8c0f986819e4795c039703b26bb6ad15ce",
   "Volumes": null,
   "WorkingDir": "",
   "Entrypoint": null,
   "OnBuild": [],
   "Labels": {
     "org.hyperledger.fabric.base.version": "0.3.0",
     "org.hyperledger.fabric.version": "1.0.0-alpha"

Fabric CA

Fabric SDK for Node.js

Performance Tuning

  • LVM (Logical Volume Manager)



R3 Corda


Concept Description Remarks
State Object a digital document which records the existence, content and current state of an agreement between two or more parties
Ledger a set of immutable state objects
Consensus pure function whose responsibility is either to accept or reject a proposed transaction and which can be composed from simpler, reusable functions
Transaction Consume existing state objects and produce new state objects Transaction Validity, Transaction Uniqueness
Smart Contract
Uniqueness and Timestamping Services
Flow Framework
          State Object ----+----> Contract Code
                           +----> Legal Prose



  • End-State Principles
Principle Description Remarks
Inclusion Parties are able to discover each other freely, and transact directly, in a single, open network
Assured identity Parties will have assurance over the identity of participants in the network
Privacy The only parties who have access to the details of a transaction are those who participate in the transaction and those who need to assure themselves of transaction provenance.
Shared logic The behavior of agreements managed by the system will be described in computer code that is shared to ensure onsistency and validity of agreements
Legal footing Deals recorded by the ledger are, by contract, accepted as admissible evidence and legally binding by all parties in any dispute
Authoritative Facts recorded by the ledger are regarded as authoritative rather than “shadows” of authoritative data held elsewhere
Immutability Facts recorded on the ledger are final and immutable; errors and unwinds must be processed through a subsequent transaction
Open The system is open: open source, participation, development, governance and standards to ensure the platform balances the needs of its diverse user-base in a transparent fashion






Tendermint Core



  • https://ipfs.io/
  • Desc. : A peer-to-peer hypermedia protocol to make the web faster, safer, and more open

IPFS Client

Category Library Description Documentation Remarks
Go Go Embedded Client(go-ipfs-api) The go interface to ipfs's HTTP API go-ipfs-api API
Go HTTP Client(go-ipfs-http-api) IPFS CoreAPI implementation using HTTP API] go-ipfs-http-api API experimental
JavaScript JS-IPFS HTTP Client The JavaScript HTTP RPC API client library for IPFS implementations.
Java Java IPFS HTTP Client(java-ipfs-http-client) A Java client for the IPFS http api

IPFS Gateway

Provider Service Description Documentation Remarks
Cloudflare Cloudflare IPFS Gateway Cloudflare's read-only Distributed Web Gateway lets you access content stored on the IPFS quickly and easily, without downloading any special software or giving up any storage space on your computer. IPFS Gateway
Pinata Pinata Dedicated Gateways Get even faster speed with your own IPFS dedicated server. $20/Month



Asset Creator Description Contract Marketplace Highest Price Remark
EVERYDAYS: THE FIRST 5000 DAYS Beeple MKT2 Token MakersPlace $69M ('21.3.11) Digital Artwork (JPG, 21,069 x 21,069)
Stay Free Edward Snowden FNDNFT Token Foundation 2,224.00 ETH ('21.4.16) Digital Artwork (PNG, IPFS)
x*y=k pplpleasr FNDNFT Token Foundation Digital Artwork (MP4)
Doge Atsuko Sato The original image that started it all ZORA Zora Digital Photo
Asset Etherscan OpenSea Remarks
Stay Free 0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405?a=24437 0x3b3ee1931dc30c1957379fac9aba94d1c48a5405/24437
x*y=k 0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405?a=13623 0x3b3ee1931dc30c1957379fac9aba94d1c48a5405/13623
Doge 0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7?a=3366 0xabefbc9fd2f806065b4f3c237d4b59d9a97bcac7/3366


Player Description Contract Source Contract Address Documentation Remarks
CryptoPunks 10,000 unique collectible characters with proof of ownership stored on the Ethereum blockchain. CryptoPunksMarket.sol CryptoPunksMarket
Rarible MintableToken (May-27-2020)
SuperRare Collect SuperRare Digital Artworks SuperRareV2 (Sep-05-2019)
Nifty Gateway the premier marketplace for Nifties, which are digital items you can truly own.
Decentraland a decentralized virtual reality platform powered by the Ethereum blockchain. Land Contracts

Marketplace Contracts
Collection Contracts



Decentraland documentation

Rariable Contracts


Marketplace Service Type Contents Type Collections Networks Sources API Remarks
OpenSea Open Marketplace CryptoPunks, The Sandbox, Decentraland. SuperRare, Rarible, PolygonPunks, KlayFox Ethereum, Polygon, Klaytn OpenSea Explorer
Rarible Open Marketplace parallel, The Sandbox, Rarible, Decentraland Rarible Top Collections
Nifty Gateway Curated Marketplace Digital Art Ethereum Nifty Gateway Public API
SuperRare Curated Marketplace Digital Art Ethereum
Foundation Curated Marketplace Digital Art Ethereum
NBA Top Shot Curated Marketplace Sports Flow (PoS)
Axie Infinity Curated Marketplace Game Ethereum
Decentraland Curated Marketplace Metaverse Ethereum
The Sandbox Curated Marketplace Metaverse Ethereum
  • Media format/size support
Marketplace Supported Type Max Size Remarks
Rarible JPG, PNG, GIF, WEBP, MP4, MP3 30MB
Foundation JPG, GIF, SVG, PNG, MP4, GLTF 50MB


The finite, traversable, 3D virtual space within Decentraland is called LAND, a non-fungible digital asset maintained in an Ethereum smart contract. Land is divided into parcels that are identified by cartesian coordinates (x,y). These parcels are permanently owned by members of the community and are purchased using MANA, Decentraland’s cryptocurrency token. This gives users full control over the environments and applications that they create, which can range from anything like static 3D scenes to more interactive applications or games.

Some parcels are further organized into themed communities, or Districts. By organizing parcels into Districts, the community can create shared spaces with common interests and uses. You can find a list of the original District Proposals on GitHub. The content that makes up Decentraland is stored and distributed via a decentralized network while ownership and transactions are validated on the Ethereum blockchain.

Decentraland is partnering with Matic to create a sidechain (a special kind of blockchain) that will be able to handle transactions faster and cheaper than the main Ethereum network. This sidechain will be ideal for in-game transactions, as changes can occur closer to real time and at a very low cost. For transactions that involve valuable items, we’ll still recommend the main Ethereum chain, as it will be more secure.


Tool Description Remarks
Cryptovoxel Generator Chrome app to help easily manage your land parcels.
Cryptovoxels land sales map Highlights all parcels for sale, plotted on the map.
MagicaVoxel A free lightweight GPU-based voxel art editor and interactive path tracing renderer.
Babylon.js a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
  • Smart Contracts
Contract Description Source Address Remarks
Parcel Parcel.sol 0x79986af15539de2db9a5086382daeda917a9cf0c(Jun-05-2018)
Wearables 0xa58b5224e2fd94020cb2837231b2b0e4247301a6(Oct-29-2019)

Axie Infinity





  • https://github.com/ConsenSys/ERC1400
  • Desc. : an advanced institutional technology platform for issuing and exchanging tokenized financial assets, powered by the Ethereum blockchain.



  • DeFi Pulse : a site where you can find the latest analytics and rankings of DeFi protocols.



  • DAI
    • Decentralized Stable Coin
    • Backed by Ether



Mirror Protocol

Synthetic tokens are tokens that provide "synthetic" exposure to the physical or abstract good that they represent without requiring one-to-one backing.

Synthetic tokens tend to be more affordable to hold as they typically charge no holding fee.

Mirror is a protocol that allows anyone to issue and trade synthetic assets that track the price of real world assets.

Anyone can mint an mAsset by locking up collateral, either in the form of as stablecoin or a different mAsset.

The Mirror protocol creates incentives for minters to mint assets and provide liquidity for traders.

The Mirror protocol utilizes AMMs to facilitate mAsset, trading against stablecoins.

When the collateral ratio drops below the minimum, the Mirror protocol needs a way to retrieve and burn the respective mAssets. It does so by seizing a portion of the collateral and initiating an auction at a discount for anyone willing to sell the mAsset in exchange.

Resource/Tool Description Remarks
Mirror Whitepaper
Mirror Documentation
Mirror Smart Contract implementing Mirror Protocol on the Terra blockchain Mint, Factory, Gov
Mirror.js a client SDK for building applications that can interact with Mirror Protocol from within JavaScript runtimes
mirrorcli Command-line interface for Mirror Protocol on Terra
Mirror API an GraphQL-based data service that allows anybody to query data regarding the current and aggregate application state of the Mirror Protocol

Anchor Protocol

The Anchor rate is powered by a diversified stream of staking rewards from major proof-of-stake blockchains, and therefore can be expected to be much more stable than money market interest rates.

The Anchor protocol defines a money market between a lender, looking to earn stable yields on their stablecoins, and a borrower, looking to borrow stablecoins on stakeable assets.

Resource/Tool Description Remarks
Anchor Documentation
Anchor Money Market Contracts implementing Anchor Protocol on the Terra blockchain. Rust
Anchor Bonded Asset Contracts implementing bAsset(Bonded Asset) Protocol on the Terra blockchain.
Anchor.js a client SDK for building applications that can interact with Anchor Protocol from within JavaScript runtimes


Concept Description Remarks
Holder A role an entity might perform by possessing one or more verifiable credentials and generating verifiable presentations from them. students, employees, customers
Issuer A role an entity performs by asserting claims about one or more subjects, creating a verifiable credential from these claims, and transmitting the verifiable credential to a holder. corporations, trade associations, governments
Verifier A role an entity performs by receiving one or more verifiable credentials, optionally inside a verifiable presentation, for processing.
Subject An entity about which claims are made. In many cases the holder of a verifiable credential is the subject, but in certain cases it is not. human beings, animals, things
Claim An assertion made about a subject.
Credential A set of one or more claims made by an issuer.
Verifiable Credential a tamper-evident credential that has authorship that can be cryptographically verified.