[hashcash] Re: RPOW - Reusable Proofs of Work

  • From: Adam Back <adam@xxxxxxxxxxxxxxx>
  • To: hashcash@xxxxxxxxxxxxx
  • Date: Sat, 14 Aug 2004 20:11:12 -0400

Cool.  This seems a bit like an online chaum ecash system without yet
the blinding (because of patents as mentioned on the rpow web site),
and using hashcash as the way to put "value" into the system.  There
is some privacy assurance despite the lack of blinding because the
RPOW server is offering software attestation and one can examine the
source and directly test that the server it is running that code and
is not tamperable.

The reusable RPOWs like this one:

created with "rpow gen 21", exported with "rpow out 21"

AQAAABVNqy8bynSTlvgL3iB5oGoefXSB1xVBh8jraLJdq4N0fq3EnUSOfYfIcWcrxAAAABcAAAPCAAEAAACAcHykjW2faX3ofeXY+b2gl5Tit87A8smMQf/U8EVWhfBIfzloraHWVOYNyiitSk681h7lV1ersihkWfD+ocjvAYyqG3C1+QwkdKD/gvw3O9HV6CiMhpLjn1KoWt4L+/rOHnbTp0clU2iSIT9yAj6OGM5rBzVSRhvCc37ShKPmYZQ

can then be emailed, exchanged etc and online verified / exchanged for
fresh RPOW token by the recipient.  (In this way the RPOW double-spend
db is maintained in real-time at the RPOW server).

So after it is transferred people put the value back in likef this
"echo "AQAAA...YZQ" | ./rpowcli in".  And if you take it out again you
see you have a different token as expected:

./rpowcli out 21 
AQAAABVNqy8bynSTlvgL3iB5oGoefXSB19bIE/7MqPBMcQf1W/kwJmlRFhsAcWcrxAAAABcAAAPCAAEAAACAbH9SgO8t483cUInduipIwrYquaq6qeSHLb6n4gnKv+wtabhG7Na9ZxosoG09P9a7iyV/XYMmjbswsFMa4gFnLcz2giJT7tUkTr34k4UZqs/JtuknhiRQjaoJVIyQT6IG4aEyj2O2G/e3iQSzVOsMIvJgNhy739FbIYqKZ7+wBxw=

The way to put value in with POWs has some similarities to Wei Dai's
b-money idea.  http://www.eskimo.com/~weidai/bmoney.txt

Adam

On Sat, Aug 14, 2004 at 10:41:52AM -0700, "Hal Finney" wrote:
> I'd like to invite members of this list to try out my new
> hashcash-based server, rpow.net.
> 
> This system receives hashcash as a Proof of Work (POW) token, and in
> exchange creates RSA-signed tokens which I call Reusable Proof of Work
> (RPOW) tokens.  RPOWs can then be transferred from person to person and
> exchanged for new RPOWs at each step.  Each RPOW or POW token can only
> be used once but since it gives birth to a new one, it is as though the
> same token can be handed from person to person.
> 
> Because RPOWs are only created from equal-value POWs or RPOWs, they are
> as rare and "valuable" as the hashcash that was used to create them.
> But they are reusable, unlike hashcash.
> 
> The new concept in the server is the security model.  The RPOW server
> is running on a high-security processor card, the IBM 4758 Secure
> Cryptographic Coprocessor, validated to FIPS-140 level 4.  This card
> has the capability to deliver a signed attestation of the software
> configuration on the board, which any (sufficiently motivated) user
> can verify against the published source code of the system.  This lets
> everyone see that the system has no back doors and will only create RPOW
> tokens when supplied with POW/RPOW tokens of equal value.
> 
> This is what creates trust in RPOWs as actually embodying their claimed
> values, the knowledge that they were in fact created based on an equal
> value POW (hashcash) token.
> 
> I have a lot more information about the system at rpow.net, along with
> downloadable source code.  There is also a crude web interface which
> lets you exchange POWs for RPOWs without downloading the client.
> 
> This system is in early beta right now so I'd appreciate any feedback
> if anyone has a chance to try it out.  Please keep in mind that if there
> are problems I may need to reload the server code, which will invalidate
> any RPOW tokens which people have previously created.  So don't go too
> crazy hoarding up RPOWs quite yet.

Other related posts: