You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _specs/ecip-tabs.md
+39-20Lines changed: 39 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
ecip: 110x
3
-
title: TD*TABS Consensus Arbitration
3
+
title: A 2-Dimensional Consensus Arbitration Protocol, Difficulty * TABS
4
4
author: Isaac (https://github.com/whilei)
5
5
discussions-to: TODO
6
6
status: Draft
@@ -13,21 +13,19 @@ lang: en
13
13
14
14
# Abstract
15
15
16
-
Use a heuristic of chain state capitalization as an augmentive factor in consensus arbitration to improve normal finality rates and increase the cost of private chain production.
16
+
Use a heuristic of chain state capitalization as an augmentive factor in consensus arbitration to improve normal finality rates and increase the cost of abnormal private chain production.
17
17
18
18
# Motivation
19
19
20
20
## State Finality Is Low and Slow
21
21
22
22

23
23
24
-
This proposal intends to increase the cost of producing a private, competitive chain segment, which is characteristic of double-spend attacks. It aims to improve finality expectations.
25
-
26
-
It aims to maintain all existing assumptions and incentives associated with the incumbent proof-of-work protocol.
24
+
This proposal intends to increase the cost of producing a private, competitive chain segment, which is characteristic of double-spend attacks. It aims to improve finality expectations by increasing the cost of attack, while maintaining existing assumptions and incentives associated with the incumbent proof-of-work protocol.
27
25
28
26
# Specification
29
27
30
-
This specification is defined as a modification of the general,[^1] currently existing canon-arbitration algorithm, namely "Modified GHOST," currently in use on Ethereum and Ethereum Classic networks.
28
+
This specification is defined as a modification of the general,[^1] currently existing canon-arbitration algorithm, namely "Modified GHOST," currently in use on the Ethereum and Ethereum Classic networks.
31
29
32
30
[^1]: Difficulty bomb and/or delay features are ignored.
33
31
@@ -176,25 +174,46 @@ In the case of ties, subsequent protocol canon-arbitration conditions are preser
176
174
177
175
## Codependent Production-Race Characteristics
178
176
179
-
PoW resilience against double-spend attacks depends on an assumption that no entity controls more than "51\%" of the network's hashrate over some time.
177
+
PoW resilience against double-spend attacks depends on an assumption that no entity controls more than the "honest"/public network's hashrate over some time.
178
+
179
+
The logic of this proposal depends on an _additional assumption_ that no entity controls more than the network's TABS value in capital over some time.
180
+
181
+
These assumptions are codependent. If an entity is able to break either of these unit assumptions, the degree to which they are compromised is borne by the other unit.
182
+
183
+
184
+
```go
185
+
// Equilibrium Example Schema
180
186
181
-
The logic of this proposal depends on an additional assumption that no entity controls more than the network's TABS value in capital over some time.
187
+
// D: Difficulty
188
+
// S: TABS
189
+
// a, b, x, y: Coefficients
190
+
(a*D) * (b*S) = (x*D) * (y*S)
191
+
```
182
192
183
-
These assumptions are codependent. If an entity is able to break either of these assumptions, normal finality expectations are invalidated.
193
+
For example, while maintaining an equivalence in consensus scores, a relatively greater difficulty value lessens the demand on TABS.
194
+
```go
195
+
varpublicChainConsensusScore = (1*D) * (1*S)
184
196
185
-
For example, the rate at which an entity controls more than the network's TABS for some time would lessen the demand on their relative control of hashrate for the same period. For example, exceeding the network's TABS score by 10\% for an hour might mean that an attack would demand only "45\%" relative hashrate to build a competitive chain segment in private. Likewise, the extent to which the attacker can beat the "51\%" hashrate demand lessens the demand on their required rate of available capital.
197
+
// An attacker with 110% hashrate of the "honest"/public net
198
+
// needs 91% of the public TABS value to be competitive.
Miners can include "local" transactions on their own behalf at no currency cost, but at the opportunity cost of the inclusion of a revenue-generating transaction: cannibalism.[^2]
208
+
Miners can include "local" transactions on their own behalf at no currency cost, but at the opportunity cost of the inclusion of a revenue-generating transaction.[^2]
190
209
191
210
[^2]: :dragon: This changes with EIP-1559 or other transaction burn-fee schemes.
192
211
193
212
Miner participation in the TABS competition is expected, since expected block revenues are driven, in part, by the competitiveness of the capital they represent on their own behalf.
194
213
195
-
Since a miner can and should (optimally) represent their capital as a single transaction in the blocks they mine, they are expected to at least sometimes cannibalize one balance-transfer transaction's worth of block space (the minimum, currently `21,000 / ~10,000,000 = 0.02%`) in their own interest.
214
+
Since a miner can and should (optimally) represent their self-interested capital as a single transaction in the blocks they mine, they are expected to at least sometimes cannibalize one balance-transfer transaction's worth of block space (the minimum, currently `21,000 / ~10,000,000 = 0.02%`) in their own interest.
196
215
197
-
PS. No they don't have to actually send any balance to anyone. Just a signed transaction to themselves, for example, where they recoup the gas fee (as the credited coinbase) or charge themselves a zero gas price.
216
+
PS. No, miners don't have to actually send any balance to anyone. Just a signed transaction to themselves, for example, where they recoup the gas fee (as the credited coinbase) or charge themselves a zero gas price.
198
217
199
218
## Short-Term Finality Rate Increases
200
219
@@ -218,13 +237,13 @@ The proposed algorithm "synthesizing" TABS is an implementation of a median-seek
218
237
219
238
From this, and by definition, we expect that eventually for some set of blocks, half will have TAB values above and half below the resulting TABS value.
220
239
221
-
Further investigation and analysis is encouraged for alternative adjustment algorithms, eg. moving averages.[^3]
240
+
Further investigation and analysis is encouraged for alternative adjustment algorithms, eg. moving averages, sequential weights.[^3]
222
241
223
242
[^3]: Another idea uses a count of sequential TABS drops (adjustments downward) to cause the TABS value to fall _faster_ when it is only (or usually) falling.
224
243
225
244
## PoW Race Incentives are (Mostly) Maintained
226
245
227
-
A miner with access to 90\% of the TABS capital cannot produce blocks in isolation competitively; their private chain's TABS score will drop to 90\% of the public TABS and they will need something like 55\% hashrate to compensate if they want to compete independently over time.
246
+
A miner with access to 90\% of the TABS capital cannot produce blocks in isolation competitively; their private chain's TABS score will drop to 90\% of the public TABS and they will need something like 110\% hashrate to compensate if they want to compete independently over time.
228
247
229
248
So the rich (but not too-rich) miner must compete in the proof-of-work race, and whether or not they can exceed some parent block's TABS will depend on the aggregated TAB value of the public transactions pending block inclusion.
230
249
@@ -241,7 +260,7 @@ So, unless the miner has `"51%" * 4095/4096` of the hashrate, the best strategy
Heuristics about PoW finality expectations depend on "chain external" variables, like universally (on- and off-network) available hashrate. For example, hashrate from another network, networks, or any other applicable technologic domain like computer gaming; the state of the art of the work itself; the applicable market(s) for electricity, etc.
263
+
Heuristics about PoW finality expectations depend on "off-chain" variables, like universally (on- and off-network) available applicable hashrate. For example, hashrate from another network, networks, or any other applicable technologic domain like computer gaming; the state of the art of the work itself; the applicable market(s) for electricity, etc.
245
264
246
265
Unlike fuzzy estimates about (potentially) globally available hashrate relative to the PoW network in question, all of the functional TABS protocol parameters are observable as on-chain values, namely balance distribution and overall currency supply.
247
266
@@ -261,16 +280,16 @@ TLDR; theoretically, existing APIs for "local" transactions can sufficiently dif
261
280
262
281
## Simulation Programs
263
282
264
-
I have written a couple programs that I've used to simulate and observe chain production.
283
+
I have written a couple programs that I've used to simulate and observe chain production characteristics.
265
284
266
285
-`go-miner-sim` simulates PoW/TABS production.
267
-
-`go-block-step` simulates an abstracted version of block production (a single case). Helps me with statistics.
286
+
-`go-block-step` simulates an abstracted version of the block production race.
268
287
269
288
I would love review, feedback, and collaboration on these.
270
289
271
290
## Empirical Context
272
291
273
-
TAB and TABS values can be derived retrospectively for Ethereum and Ethereum Classic chains.
292
+
TAB and TABS value estimates can be derived retrospectively for Ethereum and Ethereum Classic chains.
274
293
275
294
At the time of writing, and with limited sample sizes, I estimate TABS values as follows.
276
295
@@ -295,7 +314,7 @@ This strategy would be observable in real time by the public.
295
314
296
315
An attacker could challenge the assumption that no entity controls more than the public TABS value for some time.
297
316
298
-
This attack, like a PoW 51\% attack, would be invisible until published.
317
+
This attack, like a pure-PoW double-spend attack, would be invisible until published.
0 commit comments