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)
Messaging - is method of delivery offering and access messages. These two types of messages are essential part of Privatix Network protocol. Both messages are passed from Agent to Client.
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 jobs to suspend, unsuspend or terminate services.
Client billing periodically checks channels in local database, send payments and creates jobs.
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.