public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Peter Todd <pete@petertodd•org>
To: Alan Reiner <etotheipi@gmail•com>
Cc: bitcoin-development@lists•sourceforge.net
Subject: Re: [Bitcoin-development] Proposal: Vote on the blocksize limit with proof-of-stake voting
Date: Mon, 10 Jun 2013 13:43:06 -0400	[thread overview]
Message-ID: <20130610174306.GA16549@petertodd.org> (raw)
In-Reply-To: <51B60BF1.3020701@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1660 bytes --]

On Mon, Jun 10, 2013 at 01:25:05PM -0400, Alan Reiner wrote:
> to sign votes.  Not only that, but it would require them to reveal their
> public key, which while isn't technically so terrible, large amounts of
> money intended to be kept in storage for 10+ years will prefer to avoid
> any exposure at all, in the oft-chance that QCs come around a lot
> earlier than we expected.  Sure, the actual risk should be pretty much
> non-existent, but some of the most paranoid folks are probably the same
> ones who have a lot of funds and want 100.00% of the security that is
> possible.   They will see this as wildly inconvenient.

Solving that problem is pretty easy actually: just add a voting only
public key to your outputs. Specifically you would have an opcode called
something like "OP_VOTE" and put a code-path in your script that only
executes for that specific key.

It'd work best if we implement merklized abstract syntax trees to allow
you to reveal only the part of a script that is actually executed rather
than the whole script, a feature useful for a lot of other things.


Incidentally remember that we can implement as many new opcodes as we
want with a soft-fork by redefining one of the OP_NOP's to be a
OP_VERSION opcode that returns false for a given version:

    version OP_VERSION OP_IFNOT {new opcodes} OP_ENDIF

Nodes with the existing codebase will think the script always succeeds,
because the IFNOT branch isn't taken, leaving the non-false version on
the stack, while new nodes will take that branch.

-- 
'peter'[:-1]@petertodd.org
0000000000000109243df1322b7b5173c5796cf979318e933d887210c981c1f8

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2013-06-10 17:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-10  4:09 John Dillon
     [not found] ` <CAFBxzACPpLd1gmoAzxviU2rLPry=cGNQhEZvYV=q_PLRQQ5wXw@mail.gmail.com>
2013-06-10  4:59   ` John Dillon
2013-06-10  5:30 ` Peter Todd
2013-06-10  6:34   ` Daniel Lidstrom
2013-06-10  8:14 ` Melvin Carvalho
2013-06-10  8:26   ` John Dillon
2013-06-10  8:39     ` Melvin Carvalho
2013-06-10  8:35   ` Pieter Wuille
2013-06-10 12:30     ` Melvin Carvalho
2013-06-10 16:46 ` Mark Friedenbach
2013-06-10 17:25   ` Alan Reiner
2013-06-10 17:43     ` Peter Todd [this message]
2013-06-15 18:28       ` John Dillon
2013-06-22 12:05 ` Melvin Carvalho
2013-06-28 10:25   ` John Dillon

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=20130610174306.GA16549@petertodd.org \
    --to=pete@petertodd$(echo .)org \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=etotheipi@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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