public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: "Goss, Brian C., M.D." <Goss.Brian@mayo.edu>
To: "<bitcoin-development@lists.sourceforge.net>"
	<bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Fidelity bonds for decentralized instant confirmation guarantees
Date: Tue, 17 Jun 2014 20:40:50 +0000	[thread overview]
Message-ID: <d46aec$hdccva@ironport9.mayo.edu> (raw)
In-Reply-To: <mailman.212267.1402952308.2171.bitcoin-development@lists.sourceforge.net>

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 <pete@petertodd.org>
> Subject: Re: [Bitcoin-development] Fidelity bonds for decentralized
>    instant confirmation guarantees
> To: Daniel Rice <drice@greenmangosystems.com>
> Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>,    Lawrence
>    Nahum <lawrence@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
> 000000000000000058ca7ee3a40438ea5a96e499910638352468c6d69abdb226
> -------------- 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
> ***************************************************



       reply	other threads:[~2014-06-17 20:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.212267.1402952308.2171.bitcoin-development@lists.sourceforge.net>
2014-06-17 20:40 ` Goss, Brian C., M.D. [this message]
2014-06-17 22:28   ` [Bitcoin-development] Fidelity bonds for decentralized instant confirmation guarantees Mark Friedenbach
2014-06-16 16:30 [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension Lawrence Nahum
2014-06-16 16:45 ` Mike Hearn
2014-06-16 16:56   ` Lawrence Nahum
2014-06-16 17:01     ` Mike Hearn
2014-06-16 17:16       ` Lawrence Nahum
2014-06-16 18:02         ` Alex Kotenko
2014-06-16 18:09           ` Mike Hearn
2014-06-16 20:29             ` Daniel Rice
2014-06-16 20:32               ` Mike Hearn
2014-06-16 20:37                 ` Daniel Rice
2014-06-16 20:50                   ` [Bitcoin-development] Fidelity bonds for decentralized instant confirmation guarantees Peter Todd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='d46aec$hdccva@ironport9.mayo.edu' \
    --to=goss.brian@mayo.edu \
    --cc=bitcoin-development@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox