Specifications


  
  
    
      
    
    
      
    
    
      
    
    
      
    
    
      
    
  
  
  
  
  
  BFT
  or
  CFT
  
  
  
  
  
  
  Blockchain
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  1
  
  2
  
  1
  
  2
  HTTP
  HTTP
  WebRTC
  
  
  
  
  
  
  
  
  
  
  User
  1
  User
  2
  
    ψ
    node
  
  
    
    
  
  
    
    
  
  
    ψ
    node
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
  
  
    
    
  
  
    
    
    
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    ψ
    node
  
  
    
    
  
  
    
    
  
  
    ψ
    node
  
  
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
  
  
    
    
    
  
  
    
    
    
  

The diagram above shows the various components of a psibase network. A blockchain is used to synchronize data across the network (BFT or CFT consensus mechanism), stateful web services that handle HTTP requests to serve user interfaces, applications that interact with each other through plugins on the client-side, and users who can peer directly (using WebRTC) to each other with no server middleman.

Ultimately, psibase is a protocol that defines decentralized app hosting infrastucture. Reference implementations may imperfectly instantiate any particular specification, and there are currently no reference implementations that instantiate the complete psibase protocol.

Competing implementations

This separation of protocol from its reference implementations allows for the development of the specifications to be done independently from any implementation. Furthermore, multiple competing protocol implementations could arise, providing additional choice to any ecosystems relying on the psibase protocol, and decreasing the impact of any errors in a particular implementation.