Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.85k stars 450 forks source link

Mathematical proof of a guaranteed double signature #2777

Open synctext opened 7 years ago

synctext commented 7 years ago

A key primitive of the TrustChain work by Delft is the double signature. Once two parties reach agreement and cryptographically validate a transactions, it becomes tamper-proof, irrefutable, and also part of the consensus.

This work aims to produce a scheme which has an guaranteed outcome with nice properties: a first line of defense against double spending. Instead of two parties both directly signing a transactions, we introduce several phases and rely on third parties. The aim is to reduce the reliance on these third parties: they are blind, can be untrusted, and unreliable. We use third parties are group of random witnesses and when one of them truthfully executes the protocol, we guarantee a good outcome.

One idea to prevent double spending. Each round Alice has an assigned group of witnesses. These witnesses are assigned in a deterministic algorithm, depending out the (hash) outcome of the consensus and the public key of Alice. When both Bob and Charlie want to transact with Alice they will inform some of the same witnesses. This forms the basis of detecting double spends cheaply.

Simplistic draft protocol:

Technique to possibly use:

kc1212 commented 7 years ago

I think Collective Signing may be a solution for this problem.