KardiaChain Docs
  • Introduction
  • Technology
    • Consensus
    • Kardia Virtual Machine (KVM)
    • Kardia Smart Contract Markup Language
    • Peer to Peer (P2P)
    • Onchain AI
    • NF3 Chip
  • For Users
    • KardiaChain Proposer Validator Selection Process
    • Staking
      • Validators
      • Delegators
      • Disciplines and Rewards
        • Disciplines
        • Rewards
    • Transaction Fee
    • Wallets
      • MetaMask Compatible
      • KardiaChain Mobile App Wallet
      • [Deprecated] KardiaChain Web Wallet
        • [Deprecated] KardiaChain Wallet Extension
  • For Developers
    • Tutorials
      • Platform
        • Running KardiaChain node
        • Private KardiaChain Network
        • KAI Integration for Exchanges
      • Smart contract development
        • Dev environment
          • Solidity
          • IDE and tools
            • Remix
            • Hardhat
            • Truffle
        • Contract verification
      • KRC20 Tokens
        • Deploying KRC20 Token
        • KRC20 token verification
      • KRC721 Tokens
        • Deploy KRC721 tokens
      • Building DApp
        • Frontend
        • Data indexing service
    • SDK
      • Web3
      • [Deprecated] KardiaChain JS SDK
      • [Deprecated] KardiaChain Golang SDK
    • RPC
      • JSON RPC API
    • KardiaID Service
      • KardiaID Service Design
      • KardiaID Service API
  • Archived Docs
    • Golang SDK
    • Network
    • KVM
    • System requirement
    • Deployment
      • Configuration
      • Local
      • Public testnet
      • Mainnet
    • KSML
    • Staking Overview
      • Delegation period
      • Consensus
      • Delegator
        • What is a delegator ?
        • Choose validator
        • Directive of delegator
        • Risk
      • Proposer selection procedure
      • Staking rewards and distributions
        • Block reward distributed
        • Fee distributed
      • Slashing and Jail
      • Rewards mechanism
      • Validator
        • What is a validator ?
        • The different states a validator
        • The responsibility of validator
        • The incentive run a validator
        • To become validator
    • KardiaChain Metamask (extension) Wallet
Powered by GitBook
On this page

Was this helpful?

  1. Technology

Peer to Peer (P2P)

What is a P2P network?

A P2P network is a collective group of computers which are connected together to create a network. All computers or nodes have equal power and perform the same tasks. Within the blockchain, the P2P network is also called a distributed network. There are two most important factors in a P2P network: peer discovery and data transferring between peers.

How to discover a peer?

KardiaChain uses a node discovery protocol that is similar to Kademlia protocol. The Kademlia protocol is a Distributed Hash Table for p2p network which was designed by Petar Maymounkov and David Mazieres. It provides a process for millions of computers to self-organize, communicate and share resources over their network without the use of a central server.

How to transfer data between peers?

KardiaChain uses Kardia Protobuf Message Format KPMF) to transfer data between peers. The KPMF is a cryptographic p2p protocol message suite which provides a general purpose transport and interface for applications to communicate with each other. The KPMF is designed to meet the requirements of decentralized applications, enabling nodes to transfer encrypted, serialized data with better performance. The goal of KPMF is to ensure the confidentiality and integrity of data when transferring between peers.

PreviousKardia Smart Contract Markup LanguageNextOnchain AI

Last updated 4 years ago

Was this helpful?