#nil $NIL @Nillion A builder I follow shipped a vault with a rebalancing trigger 🤔.
Took MONTHS to get the logic right.
Within a WEEK, someone had read the contract, worked out exactly what it watched for, and was front-running it every time it fired.
So in the end the strategy didn't fail. It just stopped being SECRET the moment it went onchain.
Covenants exist for that exact failure mode.
The mechanics are simpler than they sound.
An author picks a committee of nodes and a threshold, let's say 5 nodes, any 3 can open it.
The instruction gets split into shares, Shamir secret sharing, and each share gets encrypted to one specific node.
No node ever holds enough on its own to read anything.
The author posts the sealed trigger plus a release condition, public or hidden, and that's it. Nodes just watch.
When the condition is actually met, each one decrypts its own share and posts it onchain.
Once enough shares land, anyone can reconstruct the payload and claim the bounty for doing it, the chain checks the result against a commitment made upfront, so nobody can swap in a fake payload at reveal.
Nothing about that needed a keeper bot or a trusted operator holding the strategy and promising not to peek.
Dusk, the first release of Covenants, is live on Ethereum mainnet right now.
Not a testnet, not a preview. A vault like the one that got copied could be rebuilt on this today.
It's also only era 1 of 7. This version stays deliberately narrow, price and time conditions, because that's the part that works now with zero trusted parties involved.
More eras ship before the year's out, each one widening what a sealed condition can reference.
So, Two things I keep thinking.Does hiding the trigger actually protect a strategy longterm, or does it just raise the cost of reverse-engineering it instead of removing the threat?
And is a 3-of-5 node committee meaningfully safer than trusting one keeper, or does it just distribute the same trust problem across more parties.
And just for your info guys, Nillion's Dusk and the Layer1
#dusk are not the same😅