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