❄️ ❄️ I'm THRILLED to announce Banff: Elastic Subnets ❄️ ❄️
medium.com/avalancheavax/banff-elastic-subnets-44042f41e34c
Banff unlocks the ability for Subnet creators to activate PoS validation and uptime-based rewards using their own token on their own Subnet.
1/ Banff activates on **Fuji** at 10 AM EST (2 PM UTC) on Monday, October 3rd: github.com/ava-labs/avalanchego/releases/tag/v1.9.0-fuji
Pending a successful activation, the Mainnet activation time will be announced and the official AvalancheGo@v1.9.0 code will be released.
2/ **Elastic Validation + Elastic Subnets**
For the first time, anyone can validate a Subnet by staking its token on the P-Chain. Subnets that choose to enable Elastic Validation must undergo a one-time transformation into a new type of Subnet called an Elastic Subnet.
3/ When enabling Elastic Validation, the creator locks the Subnet from future modification, specifies an Avalanche Native Token to use for staking, and provides a set of parameters that governs the Subnet’s staking mechanics.
Some of these params are listed below:
4/ Enabling Elastic Validation on a Subnet is entirely optional and at the discretion of the creator.
Those who prefer to have more control over a Subnet’s validator set will can retaining the default PoA configuration, which requires all validators to be added by the creator.
5/ At Banff activation, it will only be possible to use Avalanche Native Tokens from the X-Chain as stakeable tokens on Elastic Subnets.
In a future release, support will be added for using ERC-20s as ANTs (which can be used as stakeable assets on Elastic Subnets).
6/ **Early Subnet Validator Removal**
Subnet creators must specify an explicit staking duration and stake weight for each validator they add to their Subnet’s validator set. Once set, a validator’s staking duration nor their stake weight can be modified.
7/ While this isn’t a problem the vast majority of the time, a Subnet creator that adds a validator with the wrong stake weight or that is underperforming won’t be able to remove the troublesome validation until the predetermined staking duration concludes.
Until now!
8/ In Banff, Subnet creators can remove a validator before the conclusion of its staking period from a Subnet. If a Subnet has already been made Elastic, a Subnet creator can also use this transaction to remove validators that were added before token-based staking was enabled.
9/ **P2P Protobuf Messaging**
Thus far, all p2p messages used a custom serializer to encode data. This implementation is highly optimized for AvalancheGo but is difficult to extend without invalidating existing messages because it isn’t backwards/forwards compatible.
10/ In Banff, all p2p messages are serialized using Protocol Buffers (Protobuf).
While there are hundreds of serialization approaches, Protobuf was the obvious choice for this enhancement because it is already used widely throughout AvalancheGo by the Custom VM handler.
11/ Outside of the wire format being backwards/forwards compatible, our new serialization package uses less memory, uses less bandwidth, and is faster than our previous implementation.
Not to mention, serialization code for other languages can be automatically generated. 👀
13/ **Custom Delegation Fee Recipients**
We created a new type of staking transaction to unify all token-based staking interactions. This new transaction type enables validators to specify a separate reward recipient for delegation fees, in addition to supporting ANT staking.
14/ This fee payment flexibility allows staking providers to directly compensate their partners for attracting delegations to their validators. As you might be guessing, this feature works equally well on the Primary Network and on Elastic Subnets.
15/ Lastly, I'd like to extend a MASSIVE thanks to all the @avalabsofficial engineers that have worked day and night over the last few months to prepare this release. Consistently amazed by your dedication and creativity. ❤️
16/ Want to work on cool shit? Shoot me a DM or apply online: boards.greenhouse.io/avalabs?gh_src=9a15c6d64us
Some Highlights:
* Infrastructure Engineer (Cloud Native)
* Data Platform Engineer (Explorer/Analytics)
* Subnet VM Engineer (Novel VMs on Subnets)