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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
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 <rusty@ozlabs.org>) id 1YuER7-0008Hb-IB
for bitcoin-development@lists.sourceforge.net;
Mon, 18 May 2015 06:22:01 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of ozlabs.org
designates 103.22.144.67 as permitted sender)
client-ip=103.22.144.67; envelope-from=rusty@ozlabs.org;
helo=ozlabs.org;
Received: from ozlabs.org ([103.22.144.67])
by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256)
(Exim 4.76) id 1YuER6-00025l-B2
for bitcoin-development@lists.sourceforge.net;
Mon, 18 May 2015 06:22:01 +0000
Received: by ozlabs.org (Postfix, from userid 1011)
id 6A126140D18; Mon, 18 May 2015 16:21:52 +1000 (AEST)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Tier Nolan <tier.nolan@gmail.com>
In-Reply-To: <CAE-z3OXue5E0TzRhx6y8eTOTy=EARsrGwJ1qv8Kv1nbCsjVE_g@mail.gmail.com>
References: <16096345.A1MpJQQkRW@crushinator>
<CAOG=w-szbLgc1jLpkE_uMa3bkFTi-RiBEaQ6Y-u5aKLBC2HvUg@mail.gmail.com>
<CAAS2fgQRS7w7RRNXVK_+=4CQ7=AWxWQQ7+Tf4tNUPTTZOf7rEQ@mail.gmail.com>
<CAE-z3OUzYZDvsOYEDT229vnvNBa9ntW+86O3uA-K5-KaneMF_g@mail.gmail.com>
<87a8x5l6bt.fsf@rustcorp.com.au>
<CAE-z3OXue5E0TzRhx6y8eTOTy=EARsrGwJ1qv8Kv1nbCsjVE_g@mail.gmail.com>
User-Agent: Notmuch/0.17 (http://notmuchmail.org) Emacs/24.4.1
(x86_64-pc-linux-gnu)
Date: Mon, 18 May 2015 11:12:11 +0930
Message-ID: <878ucmslu4.fsf@rustcorp.com.au>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.6 (/)
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 SPF_HELO_PASS SPF: HELO matches SPF record
-0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay
domain
-0.0 SPF_PASS SPF: sender matches SPF record
1.1 DATE_IN_PAST_03_06 Date: is 3 to 6 hours before Received: date
-0.2 AWL AWL: Adjusted score from AWL reputation of From: address
X-Headers-End: 1YuER6-00025l-B2
Cc: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Proposed alternatives to the 20MB step
function
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: Mon, 18 May 2015 06:22:01 -0000
Tier Nolan <tier.nolan@gmail.com> writes:
> On Sat, May 16, 2015 at 1:22 AM, Rusty Russell <rusty@rustcorp.com.au>
> wrote:
>> 3) ... or maybe not, if any consumed UTXO was generated before the soft
>> fork (reducing Tier's perverse incentive).
>
> The incentive problem can be fixed by excluding UTXOs from blocks before a
> certain count.
>
> UTXOs in blocks before 375000 don't count.
OK. Be nice if these were cleaned up, but I guess it's a sunk cost.
>> 4) How do we measure UTXO size? There are some constant-ish things in
>> there (eg. txid as key, height, outnum, amount). Maybe just add 32
>> to scriptlen?
>>
>
> They can be stored as a fixed digest. That can be any size, depending on
> security requirements.
>
> Gmaxwell's cost proposal is 3-4 bytes per UTXO change. It isn't
> 4*UXTO.size - 3*UTXO.size
He said "utxo_created_size" not "utxo_created" so I assumed scriptlen?
> It is only a small nudge. With only 10% of the block space to play with it
> can't be massive.
But you made that number up? The soft cap and hard byte limit are
different beasts, so there's no need for soft cost cap < hard byte
limit.
> This requires that transactions include scriptPubKey information when
> broadcasting them.
Brilliant! I completely missed that possibility...
>> 5) Add a CHECKSIG cost. Naively, since we allow 20,000 CHECKSIGs and
>> 1MB blocks, that implies a cost of 50 bytes per CHECKSIG (but counted
>> correctly, unlike now).
>>
>> This last one implies that the initial cost limit would be 2M, but in
>> practice probably somewhere in the middle.
>>
>> tx_cost = 50*num-CHECKSIG
>> + tx_bytes
>> + 4*utxo_created_size
>> - 3*utxo_consumed_size
>>
>> > A 250 byte transaction with 2 inputs and 2 outputs would have an adjusted
>> > size of 252 bytes.
>>
>> Now cost == 352.
>
> That is to large a cost for a 10% block change. It could be included in
> the block size hard fork though.
I don't think so. Again, you're mixing units.
> I think have one combined "cost" for
> transactions is good. It means much fewer spread out transaction checks.
> The code for the cost formula would be in one place.
Agreed! Unfortunately there'll always be 2, because we really do want a
hard byte limit: it's total tx bytes which brings most concerns about
centralization. But ideally it'll be so rarely hit that it can be ~
ignored (and certainly not optimized for).
Cheers,
Rusty.
|