# Distributed accounting protocol (Distributed book-keeping protocol)

A network of book-keepers every economic space agent has: programmable accounts that record and make transfers of assets and agree to account by a shared convention. Creates a reliable, granular, effective and cheap recordkeeping which is, in addition, programmable: can add account types and assets to be accounted. The book-keeping protocol is the place where a distributed economic network begins formally: as a well defined set of rules that are objective and can be followed, anyone can connect to books and keep records by utilizing the same rules and assets. Unlike a blockchain, ECSA book-keeping protocol does not have a centralized ledger (a global mutable state). The only state that is shared globally is the protocol (the bookkeeping rules). Also unlike a blockchain, ECSA book-keeping protocol does not rely on (cryptographic) secrecy, but instead builds on the possibility of privacy: thanks to the state locality of the network, every state has a location and every [Agent](/agent.md) has the ability to modulate which record she shares/keeps private. Furthermore, whereas in the legacy [Accounting](/accounting.md) protocol your and my records are always different - and therefore require “reconciliation” - here the record is the same shared object, which is only understood differently (debit/credit) depending who holds it. A.k.a. the distributed accounting protocol.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://glossary.ecsa.io/distributed-accounting-protocol-distributed-book-keeping-protocol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
