public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Pieter Wuille <pieter.wuille@gmail•com>
To: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] New standard transaction types: time to schedule a blockchain split?
Date: Thu, 25 Aug 2011 22:14:54 +0200	[thread overview]
Message-ID: <20110825201453.GA28296@ulyssis.org> (raw)

On Thu, Aug 25, 2011 at 02:31:49PM -0400, Gregory Maxwell wrote:
> Perhaps just an address type that can encode any payment script?  User
> provides the inputs, sets the outputs plus and additional outputs, and
> signs. Client refuses to pay to an address if the resulting
> transaction fails IsStandard.

On the github pull request I posted a general scheme that can convert arbitrary
expressions over signature-checks (given in RPL notation) to bitcoin scripts.
Maybe we can define an address type that encodes an expression in RPL form (which
should be more compact and more easily parseable)?

That basically just means the usual bitcoin scripts, with two extra pseudo-
instructions: one that represents an address check, one that represents an
pubkey check.

For example (same example as on the pull req), the expression
a1 OR (a2 AND a3) OR COUNT(a4,a5,a6)>1 (with a1-a6 given addresses)
can be given in RPL form as

  ADDR<a1> ADDR<a2> ADDR<a3> BOOLAND BOOLOR ADDR<a4> ADDR<a5>
  ADD ADDR<a6> ADD 1 GREATERTHAN BOOLOR

Which is 13 bytes + 6*20 bytes, instead of the 54 bytes + 6*20 bytes for the
real bitcoin output script.


-- 
Pieter



             reply	other threads:[~2011-08-25 20:15 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-25 20:14 Pieter Wuille [this message]
2011-08-26 11:09 ` Mike Hearn
2011-08-26 21:30   ` Pieter Wuille
  -- strict thread matches above, loose matches on Subject: below --
2011-08-24 16:18 Pieter Wuille
2011-08-24 16:26 ` Luke-Jr
2011-08-24 15:12 Gavin Andresen
2011-08-24 15:17 ` Rick Wesson
2011-08-24 15:45 ` Gregory Maxwell
2011-08-24 15:55   ` Rick Wesson
2011-08-24 16:05 ` Douglas Huff
2011-08-24 16:15 ` Luke-Jr
2011-08-24 16:46   ` Gregory Maxwell
2011-08-24 17:03     ` Luke-Jr
2011-08-24 17:07     ` Rick Wesson
2011-08-24 17:19       ` Gregory Maxwell
2011-08-24 17:40         ` Rick Wesson
2011-08-24 17:57           ` Gavin Andresen
2011-08-24 18:45             ` Jeff Garzik
2011-08-25  7:39             ` Michael Grønager
2011-08-25 17:18               ` Gavin Andresen
2011-08-26 10:50                 ` Mike Hearn
2011-08-27  1:36                 ` bgroff
2011-08-25 18:31               ` Gregory Maxwell
     [not found]                 ` <20110825201026.GA21380@ulyssis.org>
2011-08-25 20:29                   ` Gregory Maxwell
2011-08-25 21:06                     ` Pieter Wuille
2011-08-24 17:03 ` theymos
2011-08-24 17:47 ` bgroff
2011-08-24 19:05 ` Christian Decker
2011-08-24 20:29   ` Gregory Maxwell
2011-08-24 22:27     ` Douglas Huff
2011-08-25 21:30     ` Christian Decker
2011-08-26 11:42 ` Mike Hearn
2011-08-26 19:44   ` Gavin Andresen
2011-08-27  1:15     ` bgroff

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=20110825201453.GA28296@ulyssis.org \
    --to=pieter.wuille@gmail$(echo .)com \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    /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