Skip to content

Commit ab9a2e2

Browse files
committed
👓 🖊️
Signed-off-by: ia <isaac.ardis@gmail.com>
1 parent 8ca2ea6 commit ab9a2e2

1 file changed

Lines changed: 39 additions & 20 deletions

File tree

_specs/ecip-tabs.md

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ecip: 110x
3-
title: TD*TABS Consensus Arbitration
3+
title: A 2-Dimensional Consensus Arbitration Protocol, Difficulty * TABS
44
author: Isaac (https://github.com/whilei)
55
discussions-to: TODO
66
status: Draft
@@ -13,21 +13,19 @@ lang: en
1313

1414
# Abstract
1515

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.
1717

1818
# Motivation
1919

2020
## State Finality Is Low and Slow
2121

2222
![](https://i.imgur.com/c2biCLD.png)
2323

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.
2725

2826
# Specification
2927

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.
3129

3230
[^1]: Difficulty bomb and/or delay features are ignored.
3331

@@ -176,25 +174,46 @@ In the case of ties, subsequent protocol canon-arbitration conditions are preser
176174

177175
## Codependent Production-Race Characteristics
178176

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
180186

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+
```
182192

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+
var publicChainConsensusScore = (1*D) * (1*S)
184196

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.
199+
var attackChainConsensusScore_Hasher = (1.1*D) * (/*1.1/1=*/0.91*S)
200+
201+
// An attacker with 91% hashrate of the "honest"/public net
202+
// needs 110% of the public TABS value to be competitive.
203+
var attackChainConsensusScore_Richer = (0.91*D) * (1.1*S)
204+
```
186205

187206
## Block Space Opportunity Cost for Miners
188207

189-
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]
190209

191210
[^2]: :dragon: This changes with EIP-1559 or other transaction burn-fee schemes.
192211

193212
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.
194213

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.
196215

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.
198217

199218
## Short-Term Finality Rate Increases
200219

@@ -218,13 +237,13 @@ The proposed algorithm "synthesizing" TABS is an implementation of a median-seek
218237

219238
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.
220239

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]
222241

223242
[^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.
224243

225244
## PoW Race Incentives are (Mostly) Maintained
226245

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.
228247

229248
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.
230249

@@ -241,7 +260,7 @@ So, unless the miner has `"51%" * 4095/4096` of the hashrate, the best strategy
241260

242261
## Observable, Domain-Specific Competition Drives Security
243262

244-
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.
245264

246265
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.
247266

@@ -261,16 +280,16 @@ TLDR; theoretically, existing APIs for "local" transactions can sufficiently dif
261280

262281
## Simulation Programs
263282

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.
265284

266285
- `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.
268287

269288
I would love review, feedback, and collaboration on these.
270289

271290
## Empirical Context
272291

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.
274293

275294
At the time of writing, and with limited sample sizes, I estimate TABS values as follows.
276295

@@ -295,7 +314,7 @@ This strategy would be observable in real time by the public.
295314

296315
An attacker could challenge the assumption that no entity controls more than the public TABS value for some time.
297316

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.
299318

300319

301320

0 commit comments

Comments
 (0)