Prowl Basic Details

Peer-to-Peer Pull-Reconciliation of Open Web Ledgers, or Prowl. Prowl is intended to work through HTTP Get using the following query string format to verify a transacted amount:

URL appended by “?(to= or from=entity_id)&digest=unique_transaction_identifier”  The query syntax has been updated into three types: Amount query, Tally query, and Status query – See the Prowl specs in the docs folder

Follow this link to see an example of the web query result and take note of the query string in the address bar: Prowl Example

Four basic features of the Prowl protocol are:

1) Prowl is intended to be independent of the server engine and application module that is used to return the query results. Prowl is a high-level, declarative protocol above the HTTP application layer. As long as a web platform could deliver the requested query result, Prowl does not care whether a windows or linux-based server is used, or whether the data is retrieved from a file-based or relational database system, or whether the application module language used is Perl, PHP, Python, Ruby, etc. The only absolute requirement for an application platform to satisfy the basic Prowl protocol is this: given the above HTTP GET query string, the transacted amount must be automatically retrieved and returned.

2) The Prowl protocol does not care what the requesting IP does with the returned information. Most likely, it would be used in a cron job that automatically initiates the debiting or crediting of internal accounts within the requesting entity’s accounting system. A reader may also use the Prowl query results for manual transaction record processing.

3) The Prowl protocol does not care about how the transaction id is generated, or even if the id uniqueness extends to every conceivable set of recorded market transactions. The only assumed uniqueness requirement is that between two particular entities, the transaction id could distinguish between different transaction instances even if the date, amount and participant account numbers are all the same. Tyaga.org uses a sha-1 digest to uniquely identify individual transactions, but other types of identification might also be generated and used as needed. As a transaction identifier, the sha-1 hash digest of the transaction record offers two advantages: (a) the digest helps maintain account information privacy in a transaction record query, and (b) since a sha-1 digest value is most likely to be unique for a given sequence of data values in a specific transaction record, the digest could also help correct any inconsistency between corresponding interentity records for the same transaction; in such a case, only one version of a transaction record is expected to be digested into a given sha-1 value.

A proposed standard data sequence for the sha-1 hashing is the space separated values for date, instance, amount, from_account, to_account, amount and units. This data sequence may be more easily referred to as the DIFTAU standard.

4) The Prowl query string format may be extended in the future to allow the use of other attribute values. The example above happens to return a transacted amount that is retrieved through a unique identifier and the corresponding transacting entity, with its transaction role already indicated by the choice of the field name (to or from).