Privatix Network core - software that orchestrates payments, billing, automates service life-cycle, provides offering discovery and communication between Agents and Clients. These features gives ability to provide different services in decentralized and completely autonomous manner.
To understand how Privatix Network protocol is designed let's get familiar with some concepts.
Agent - sells services. Service provider (seller)
Client - buys services. Service consumer (buyer)
Offering - is Agent's proposal to Clients for a service. It includes pricing, billing and service specific declarations.
Access - is message provided by Agent to Client and contains sufficient data to start using a service. It includes credentials, server address, necessary configuration parameters.
Each order between Client and Agent creates state channel (aka channel) - temporary account in blockchain that controls payment flow. Two transactions on blockchain suffice to complete payment flow. Micro-payments for each portion of service are sent peer to peer from Client to Agent using payment cheques.
Agent billing periodically checks
channels in local database and create
Client billing periodically checks
channels in local database, send payments and creates
Privatix network uses Ethereum blockchain to:
publish and discover offering unique identifiers together with some basic properties
deliver payments between Agents and Client
Eth package wraps all operation with ethereum and smart contracts.
Ethereum monitor get ethereum events (aka logs) and creates jobs.
Jobs - are special tasks that make changes to software state. Most operations are done using jobs.