Byzantine Askemos Language Layer.

Ball is a concurrent, garbage-collected, persistent programming platform atop of replicated state machines which tolerates byzantine faults. Applications are built from persistent agents which communicate by message passing.

Agents act on messages only in multilateral consensus among a set of equal peers, so called notaries. The set of notaries responsible to audit an agent is not chosen automatically or preconfigured. It is considered a security-related property adjustable for each agent to the application's needs under the agent's control.

Care has been taken to model the code execution to match the handling of contracts (sometimes called smart contracts). Notaries evaluate an immutable property of the Agent – the contract document – as script code to process incoming messages. (Note that the choice of consensus is the main advantage over implementations of smart contracts based on "blockchains".)

Human users appear as agents which emit arbitrary messages at the person's discretion.

BALL enables development of applications like payment systems hiding the science of replication, consensus and multi signature from users and application developers. Object are only visible to applications once those checks have passed. Attackers can not gain enough access to modify the database to fake a balance. This makes application code surprisingly simple.

Two options to store agent state are available per agent: a binary blob (which magic to simplify XML content) and a sqlite3 database. New agents created during a transaction may inherit these as immutable objects at near zero cost – just copying the hash into the new state. (BTW: This website is actually such an agent using both, replicated by nine notary nodes. Most are SoC's at friends homes and some visible in DNS to serve the public web.)

Advantages Over "Normal" Cloud Services

It's a cloud, but with a difference:

  • No "big data" because big data comes at big risk.
  • No information is handled by big anonymous external providers. Users still have to trust their selected peers to keep their data confidential. These peers are usually known in person and may gain access only to a limited amount of data from a small set of persons. Intruders may still force them to hand it over or just break into those computers and read what they want. – The difference is that such attackers must now do this for each small group of humans, over and over again, on all the different systems.
  • No meaningful meta data: because (encrypted) messages are send among peers to sync all kinds of personal data, there is little to no relationship between observable network traffic and actual exchange of messages among users. Furthermore: when a user reads messages, they connect to their own local peer – there is no observable traffic at the external network.
  • No extra backup (including the duty to test that these backups work) required – all copies in the "Redundant Array Of Inexpensive Computers" (RAIC) are always used and ergo tested.
  • No powerful administrator: each person can tamper with their own machine only, nobody with the whole network.
  • No service providers can decide to retire the services you care about.


  • The initial installation is more complex than setting up a single server or just subscribing to a service.
  • Big companies have the resources to provide fancy applications. Roll-your-own can not compete in this field.


  • Fully distributed (P2P)
  • Tamper resistant: sustains up to 30% of disconnected nodes or even moles.
  • Synchronizes data (like e.g. bitorrent) and running processes.
  • Applications may be written in any language. The core system supports: a " shebang" language to switch to users preferred languages and a powerful experimental language.
  • Maintains DNS records for dynamic IP's of peers.
  • WebDAV file system.
  • SOCKS4a for use with tor.

Get It

  1. legal: GPL license (with rscheme) or BSD (with chicken) – (contact us for other license conditions)
  2. factual:
    1. system requirements
    2. install from source

Use It

  • screen shots from starting the live system till modification of the personal web site.
  • see docs

In The Press

see blog entry 2015-11-04

History, People & Testing

There is an ongoing self test of the development network (which serves the website an others).

See here for old notes on people, history and details.


Lacking the resources to deal with SPAM, there are only two options by now:

  1. Leave your message here. (Up to 160 characters, don't forget to include your email.)

    If you are redirected to my personal page, the message arrived. (At most peers that is.)

  2. Use the askemos mailing list from This list is as well as the sourceforge repository factually abandoned since many years. I'm still subscribed, though there is zero traffic.

05 Nov 2015 Agreement vs. Blockchain

The choice of consensus over a Merkle tree is the main difference to recently upcoming alternative approaches based on the concept of a proof-of-work a.k.a. blockchain. First consensus proofs the same relevant property, the "correct state", to all relevant parties (the assigned notaries). However it avoids the overhead and delay due to the proof-of-work beeing just that: a lot of work to win in the lottery of minting new coins.

Second: per definition a contract is an agreement, why not model it as such instead of a lottery?

Furthermore some agent state may be private. Those agents are easily confined to the notaries owned by the contractors. However it is no good idea to store even encrypted state in a public, widely distributed blockchain.

25 Jul 2014 Demo:Wallet

There is a Demo Wallet in the works to show BALL implementing a payment system based on contracts.

19 Jul 2013 New website.

The old one has been retired.

The bugtracker is now better configured. But noticed: it can not yet display ongoing issues. Thus it fits well for personal and soho use, but here this is a serious limitation.

The new site now under construction using hoist, which is an experimental application, but at least it runs reliably atop of BALL in our setting (nine peers, most of them are small, ARM based plug computers).