summaryrefslogtreecommitdiff
path: root/8f/c81b6c45b4f60f4d764de86fa2e76358dc7de8
blob: ef62633fed46f300956e9e371866bf05ec5365e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <gavinandresen@gmail.com>) id 1QwF7o-0006Bf-WA
	for bitcoin-development@lists.sourceforge.net;
	Wed, 24 Aug 2011 15:12:17 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.218.47 as permitted sender)
	client-ip=209.85.218.47; envelope-from=gavinandresen@gmail.com;
	helo=mail-yi0-f47.google.com; 
Received: from mail-yi0-f47.google.com ([209.85.218.47])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-MD5:128)
	(Exim 4.76) id 1QwF7o-00089p-0t
	for bitcoin-development@lists.sourceforge.net;
	Wed, 24 Aug 2011 15:12:16 +0000
Received: by yia28 with SMTP id 28so1152754yia.34
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 24 Aug 2011 08:12:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.193.6 with SMTP id q6mr2652971wff.164.1314198730161; Wed,
	24 Aug 2011 08:12:10 -0700 (PDT)
Received: by 10.142.147.17 with HTTP; Wed, 24 Aug 2011 08:12:10 -0700 (PDT)
Date: Wed, 24 Aug 2011 11:12:10 -0400
Message-ID: <CABsx9T1uw43JuvhEmJP0KCyojsDi1r7v6BaLBHz7wWazduE5iw@mail.gmail.com>
From: Gavin Andresen <gavinandresen@gmail.com>
To: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Content-Type: text/plain; charset=ISO-8859-1
X-Spam-Score: -1.3 (-)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(gavinandresen[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
	0.3 AWL AWL: From: address is in the auto white-list
X-Headers-End: 1QwF7o-00089p-0t
Subject: [Bitcoin-development] New standard transaction types: time to
	schedule a blockchain split?
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 24 Aug 2011 15:12:17 -0000

It seems to me the fastest path to very secure, very-hard-to-lose
bitcoin wallets is multi-signature transactions.

To organize this discussion: first, does everybody agree?

ByteCoin pointed to a research paper that gives a scheme for splitting
a private key between two people, neither of which every knows the
full key, but, together, both can DSA-sign transactions.  That's very
cool, but it involves high-end cutting-edge crypto like zero-knowledge
proofs that I know very little about (are implementations available?
are they patented?  have they been thoroughly vetted/tested?  etc).
So I'm assuming that is NOT the fastest way to solving the problem.

If anybody has some open-source, patent-free, thoroughly-tested code
that already does DSA-key-splitting, speak up please.


I've been trying to get consensus on low-level 'standard' transactions
for transactions that must be signed by 2 or 3 keys; current draft
proposal is here:
 https://gist.github.com/39158239e36f6af69d6f
and discussion on the forums here:
 https://bitcointalk.org/index.php?topic=38928.0
... and there is a pull request that is relevant here:
 https://github.com/bitcoin/bitcoin/pull/319


I still think it is a good idea to enable a set of new 'standard'
multisignature transactions, so they get relayed and included into
blocks.  I don't want to let "the perfect become the enemy of the
good" -- does anybody disagree?

The arguments against are that if the proposed standard transactions
are accepted, then the next step is to define a new kind of bitcoin
address that lets coins be deposited into a multisignature-protected
wallet.

And those new as-yet-undefined bitcoin addresses will have to be 2 or
3 times as big as current bitcoin addresses, and will be incompatible
with old clients.

So, if we are going to have new releases that are incompatible with
old clients why not do things right in the first place, implement or
enable opcodes so the new bitcoin addresses can be small, and schedule
a block chain split for N months from now.

My biggest worry is we'll say "Sure, it'll only take a couple days to
agree on how to do it right" and six months from now there is still no
consensus on exactly which digest function should be used, or whether
or not there should be a new opcode for arbitrary boolean expressions
involving keypairs.  And people's wallets continue to get lost or
stolen.



-- 
--
Gavin Andresen