The primary objective of the 2020.10.08.0
release is to address the state channel overpayment
exploit. The fix is guarded behind reward_version
chain variable which would be incremented to 4
to activate the fix. We intend to activate this chain variable after verifying this release.
Addressing the State Channel Overpayment Exploit
When a state_channel_close
transaction is in a dispute
state, Data Credit (DC) rewards were
always paid out 1:1. Prior to this release, it was not considered that a state channel could have
closed with a total DC count higher than the amount of DC available to the state channel.
Furthermore, since the router always opens state channels with an "overcommit" factor (set to 2 on the blockchain as a chain variable), router has an incentive to recover the overcommit amount and pay the client Hotspots involved in the state channel.
To address this, after we set reward_version
to 4
, we would fully remove the overcommitted DC
amount and only pay out the participants of the state channel proportionally after truncating any
large participant payouts to the amount of DC in the state channel.
Prep for Proof-of-Coverage Changes
For those following Helium Improvement Proposals, there are a few
proposals on reworking the proof-of-coverage mechanism. The team has removed the artificial max
limit of potential witnesses a PoC packet may have and made it an on-chain variable, this change
would allow us to gather more witnesses per PoC hop. The proposed chain variable is:
poc_per_hop_max_witnesses
, and is currently set at a default of 5
to preserve existing behavior.
Several Test Changes and API related Changes
-
Updated miner and blockchain-core tests to be more reliable and significantly reduced test runtime.
-
Addressed a few bugs related to the exported json data for poc receipt transactions.
-
Fixed a bug in ledger fingerprinting.
-
Added EU868 specific datarates for PoC packets.
-
Altered block catchup time calculation to produce more consistently spaced blocks and faster emissions rate catchup.
Blessed Snapshot Update
Finally, this release bumps the blessed snapshot to height 535681
which will improve sync times of
newly onboarded Hotspots.
Related PRs
- Move purchase to a call
- Ignore static in ledger fingerprint
- Fix poc path reversal
- Introudce poc_per_hop_max_witnesses chain variable
- Fix nonce state-keeping
- When closing a disputed state channel slash overcommit & normalize payouts
- Datarate list fixups
- Add EU868 specific datarates for PoC packets
- Add support for poc_per_hop_max_witnesses
- Substantial state channel test rework
- Reduce the time period, be more aggresive about catchup
- Test slashing on overpaid state channel
- Bump blessed snapshot
Plan
We will begin beta-testing 2020.10.08.0
around 6 PM PST on 8th October, 2020 and plan to release
it to GA by 2 PM PST, 9th October, 2020.