BALL

Byzantine Askemos Language Layer.

Ball is the first implementation of the Askemos Distributed Virtual Machine. It provides an autonomous virtual execution environment for applications, which are executed like contracts: Running processes proceed only in multilateral consensus among a quorum of equal peers. Processes are persistent; they can communicate by passing messages to each other. Human users appear therein as processes which emit arbitrary messages at the person's discretion.

About

See the accounting demo for a quick overview, why you might want to use BALL.

This white paper used to be the best one about the design. While it's old already, it's still recommended as introduction.

Why We Go To The Trouble

Cutting a long story short: there is no way around active replication to establish/model the notion of true facts (in the sense of justice). Any single system is vulnerable to insider attacks. After all the owner might be the one trying to corrupt the legal state of affairs.

For example, electronic voting systems: as experts know, all attackers need is to gain access to the database and the outcome is what they want. That's not the case anymore: there are always copies of the database at remote locations. These are not accessible to the attacker; and prove the true, original content of the database. Here a working demo (with a fictional story).

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.

Downsides

  • 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.

Features

  • Fully distributed (P2P)
  • Tamper resistant: (ByzantineAgreement) 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:

    • The initial expression language – a "hashbang" to switch to other languages.
    • A powerful XSLT+DSSSL based experimental language.
    • SQL integrated with both above.
    • CGI
  • Maintains DNS records for dynamic IP's of peers.

  • WebDAV file system.

  • SOCKS4a for use with tor.

Comparable Alternatives

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

Internals

History, People & Testing

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

See here for people, history and details.

Contact

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 sourceforge.net. I'm subscribed, but there is no traffic.

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).