Tags: ipfsfan/specs-actors
Tags
v2 specs-actors - Pledge collateral lockup. Sector initial pledge is now treated the same way as pre-commit deposits. A miner’s balance cannot drop below the locked-up amount, even to pay fees. Fees are paid from unlocked balance and un-vested rewards. Fees exceeding this amount put the miner in fee debt. - Fee debt tracking and enforcement. If fees exceed a miner’s available balance and vesting rewards, the miner accumulates fee debt. A miner must repay this debt by depositing new funds in order to win block elections, commit new sectors, or withdraw any funds. Fees exceeding unlocked balance are no longer ignored. - Consensus fault enforcement. A reported consensus fault no longer terminates a miner. Instead, the miner pays a penalty (5 whole block rewards) and is barred from winning elections for finality (900) epochs. After a consensus fault report, subsequent reports must be for faults at a higher epoch than that previously reported (preventing replay). - Delayed sector power. Power for new sectors is not enabled until the first successful Window PoSt after the sector’s pre-commitment is proven. - Reduced minimum miner size. The minimum miner size for elections is 10 TiB raw power for 32GiB sectors (reduced from 100 TiB QA power), 20 TiB raw power for 64 GiB sectors. - Reduced pre-commit deposit and increased initial pledge for sectors that are replacing committed-capacity sectors. The new sector’s initial pledge cannot be less than that it replaces. - Termination fee for committed-capacity upgrade sectors are increased to account for the rewards earned by the replaced sector. This prevents termination fee evasion through upgrading a lost sector. - Reward baseline function initial value is changed to ~2.5EiB, with growth rate 100% per year. - Miner penalties in AwardBlockReward are multiplied by 3. - New sector commitments reject duplicate deal IDs. - Seal challenge lookback and prove-commit delay are separate parameters. Lookback is 24hr + finality, prove-commit delay is 24hr + pre-commit challenge delay. - Miner ChangeWorkerAddress no longer uses cron for the delay, must be activated explicitly. - The verified registry, payment channel, and multisig actors resolve account addresses to their canonical ID form, creating the account actor state if necessary. - A new miner’s proving period starts in the past, not after construction. - Miner has new ChangeOwnerAddress method - Multisig actors’ vesting start epoch can be set at construction. - Multisig actor purges approvals from removed signers - Upgraded to HAMT with fixed internal node ordering. - Fixed errors in partition compaction, batch proof verification sequencing, sector fault/upgrade conflicts, and more. - Minor optimizations to state access. - Various method parameters have bounds on size or magnitude. - The new actor code comes with new code CIDs - Fixes for state corruption after CC-upgrade then fault, and related issues with expiration queues - The Go module path is changed to github.com/filecoin-project/specs-actors/v2, so an implementation can import both v0 and v2 to process an upgrade. - Actors state migrations introduced - Migration that moves from v0 state to v2 state, fixes up state corrupted by CC upgrade then fault and a broken balance invariant bug, fixes up suboptimal reward actor state left from a previous migration
Minor changes for a non-migrating on-chain upgrade to protocol versio… …n 2. - Add multisig.LockBalance method for post-construction vesting configuration. - Update to go-state-types with deadline info, network version, etc - Update HAMT dependency to filecoin-project location