Can two signed transactions using the same output as an input (ie, a double
spend) be used to trigger a third transaction?
It would be nice if I could sign a tx that would pay m bitcoins to an arbitrary
address if and only if someone could present proof that I signed more than 1
transaction using the same output. Thus, a merchant could trust that I would
not attempt a double spend for a purchase of n m bitcoins.
Can this type of transaction be expressed in Bitcoin's scripting language?
Chaum had a similar feature in Digicash way back when...a double spend would
let the second merchant compute the identity of the double spender and serve as
proof of double spending. It didn't automate punishment though!
My apologies if this has been discussed previously.
-
Message: 2
Date: Mon, 16 Jun 2014 16:50:41 -0400
From: Peter Todd p...@petertodd.org
Subject: Re: [Bitcoin-development] Fidelity bonds for decentralized
instant confirmation guarantees
To: Daniel Rice dr...@greenmangosystems.com
Cc: Bitcoin Dev bitcoin-development@lists.sourceforge.net,Lawrence
Nahum lawre...@greenaddress.it
Message-ID: 20140616205041.GA21784@savin
Content-Type: text/plain; charset=us-ascii
On Mon, Jun 16, 2014 at 01:37:52PM -0700, Daniel Rice wrote:
True, that would work, but still how are you going to bootstrap the trust?
TREZOR is well known, but in a future where there could be 100 different
companies trying to release a similar product to TREZOR it seems like one
company could corner the market by being the only one that is an accepted
instant provider at most vendors. It seems to encourage monopoly unless
there is a standard way to bootstrap trust in your signature.
You can always use fidelity bonds, or as I called it at the time(1),
Trusted identities:
Lets suppose Alice has some bitcoins held at bitcoin address A. She
wants to establish trust in the identity associated with the ECC
keypair associated with A, for instance for the purpose of having other
users trust her not to attempt to double spend. Since the trust she
seeks is financial in nature, she can do this by valuing the identity
associated with A, by delibrately throwing away resources. A simple way
to do this would of course be to transfer coins to a null address,
provably incurring a cost to her.
A more socially responsible way would be for her to create a series of
transactions that happen to have large, and equal, transaction fees.
Bitcoin makes the assumption that no one entity controls more than 50%
of the network, so if she makes n of these transactions consecutively,
each spending m BTC to transaction fees, there is a high probability
that she has given up at least n/2 * m BTC of value. This of course is
all public knowledge, recorded in the block chain. It also increases the
transaction fees for miners, which will be very important for the
network in the future.
Now Bob can easily examine the block chain, and upon verifying Alice's
trust purchase, can decide to accept a zero-confirmation transaction at
face value. If Alice breaks that promise, he simply publishes her signed
transaction proving that Alice is a fraudster, and future Bob's will
distrust Alice's trusted identity, thus destroying the value needed to
create it.
In effect, we now have a distributed green address system.
Note that the second paragraph is seriously obsolete - better to either
use announce-commit sacrifices, or much preferably, simple destruction
of coins. (sacrifice to fees encourages mining centralization for
obvious reasons)
1) [Bitcoin-development] Trusted identities, Apr 26th 2012, Peter Todd,
http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg01005.html
Incidentally, my first post to this mailing list!
--
'peter'[:-1]@petertodd.org
58ca7ee3a40438ea5a96e499910638352468c6d69abdb226
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 685 bytes
Desc: Digital signature
--
End of Bitcoin-development Digest, Vol 37, Issue 27
***
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development