fix balance check in server logic
[epoint] / README
diff --git a/README b/README
index 92accab..e621ae8 100644 (file)
--- a/README
+++ b/README
@@ -4,30 +4,31 @@ Source
 ------
 
 web:
-       http://repo.or.cz/w/epoint-server.git
+       http://nsz.repo.hu/epoint
 git:
-       git clone git://repo.or.cz/epoint-server.git
+       git clone git://nsz.repo.hu:45100/repo/epoint
 
 
 Build
 -----
 
-epoint-server depends on a patched version of the latest go source
-to get it (see http://golang.org/doc/install.html for details) run
-       hg clone https://go.googlecode.com/hg/ go
+first a recent go build is needed (at least weekly.2012-01-15)
+       hg clone http://go.googlecode.com/hg/ go
        cd go/src
-       hg patch path/to/epoint-server/patches/*.diff
+       hg update weekly
        ./all.bash
+(see http://golang.org/doc/install.html for details)
 
-to build and install (into $GOROOT/bin) run
+to build and install epoint (into $GOROOT/bin) run
        make
 
 
 Contact
 -------
 
-discuss@epointsystem.org
-TODO: mailing list
+epoint@nsz.repo.hu - list address
+epoint+subscribe@nsz.repo.hu - subscribe
+epoint+help@nsz.repo.hu - get help
 
 
 About
@@ -44,7 +45,7 @@ To convert between the various currencies a currency market can
 be used that is outside of the scope of the epoint service.
 
 The agreements and authentication methods between the issuers and
-holders of debt is outside the epoint system as well.
+holders of debt are outside the epoint system as well.
 
 This project originates from the ePoint Transfer Protocol.
 Description about that design is at the epointsystem.org website:
@@ -55,11 +56,8 @@ Description about that design is at the epointsystem.org website:
 Overview
 --------
 
-An epoint server is a large billboard, where clients can publish
-draft documents (acknowledging debt, "i owe you")
-
-Draft documents are digitally signed by the clients and the
-clients are identified by their public key.
+An epoint server is a large billboard, where clients can place
+draft documents (acknowledging debt, "i owe you").
 
 Any client can issue debt (issuer), and a client holding the
 debt (holder) can transfer parts of it to any other client using
@@ -86,12 +84,15 @@ given time. All the balances together give 0.
 The main purpose of the server is to make it easy to check the
 current balance of a client.
 
-To achieve this the server needs to store all the drafts and the
-public keys of the clients so the drafts are verifiable. The
-ordering of the drafts matters when the constraints are checked
-so the server must keep track of the balances in such a way that
-there is no ambiguity. It must be easy to audit the server and
-prove if it does not calculate the balances properly. This is
-done using server signed certificates declaring the balance of
-a client after each change and referencing related documents
-(draft, previous certificates) with cryptographic hash.
+The server stores all the drafts and the public keys submitted
+by the clients so the drafts are verifiable. The ordering of the
+drafts matters when the constraints are checked so the balances
+are maintained in such a way that there is no ambiguity. Every
+change to a balance is recorded in the form of a server signed
+certificate. The certificate declares the new balance with a
+timestamp and references documents (draft, other certificates
+and keys) required to verify the claim. The ordering is
+guaranteed by using cryptographic hash references. The hash
+chain of documents makes it possible to audit the system and the
+signatures allow the construction of proof if the server makes
+mistakes.