Exited all my validators, and I think it's worth discussing: Ethereum has an incentive problem.
1/🧵
2/ Proof of stake is a simple concept on the surface: those with money at stake are rewarded in exchange for honest validation of new blocks.
If you're dishonest, your stake is vulnerable to slashing (aka, there is a high cost to dishonesty).
3/ Similar to difficulty adjustments with bitcoin, incentive to validate should naturally reach equilibrium as stakers reach consensus on what APY justifies the opportunity cost of locking up ETH.
4/ But with the advent of liquid staking derivatives like Lido, and restaking protocols on top of that, the "equilibrium" is shattered as the tradeoff between staking and having liquid eth is muted: you can have your cake and eat it too.
5/ And this is great for end users!
Liquid staked ETH opens up a host of use cases, and, since it *can* exist, it absolutely should. This is not an argument against LSDs.
6/ But incentives need to be reconsidered. The dynamic is shifted: the stake operator (Lido et al) is a different entity than the stakeholder (end users who deposit ETH), and the stakeholder still has a liquid asset (stEth or similar).
7/ In turn, staking returns trend towards zero and solo stakers (such as myself) are driven out of the system, because the r/r is no longer there.
8/ It's hard to say what the solution should be. The simplest from an economic theory perspective seems to be to enshrined an LST that gets awarded to solo stakers upon depositing to the becon chain, and must be used for redemption.
9/ this gets hairy as stake positions are, by nature, nonfungible. You need to maintain the ability to reward and punish individual stakes, and the LST needs to support that.
That is a difficult if not impossible task, but one worth researching.
10/ this is not meant to fud ETH. Rather, I speak from the perspective of a long time solo staker that *enjoys* staking, and would hate to see the slow death of solo staking.
11/ Curious to hear other perspectives as well.
Are you solo staking?
If so, at what rate would you cut and run?
If not (assuming you had the capital), at what rate would you start?
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Flash loans are zero risk loans where the full loan amount must be paid back in the same transaction is was originated. They are useful for arbs or opportunities for profit where you simply don't have the ETH up front.
But this one actually sacrificed a punk...
1/🧵
2/ Today's loan was not a profit opportunity - at least, not directly (we'll get to that later).
To execute, two contracts were used (we'll call them Contract A and Contract B).
Contract A is in charge of listing the punk, and Contract B handles buying it.
3/ The progression:
Contract A holds Punk #1563, Contract B holds nothing.
Contract A lists for 24,000 ETH.
Contract B borrows 24,000 ETH from Balancer.
Contract B buys #1563. Contract B now has #1563, contract A has 24,000 ETH.
Punk 2386, with a current high bid of 600 eth, sold for 10 ETH today.
A combination of clever sleuthing, followed by an unfortunate miscalculation leads to a 7 figure payday for 0x282.
🧵
2/ This ape punk was fractionalized into 10,000 ERC20 tokens on 9/26/2020, and spread out among what is now 257 holders.
This was done on a now decommissioned platform called niftex (the contracts continue to live forever).
3/ The setup is such that any shareholder can propose a "shotgun", whereby any shareholder can propose a buyout price, and if nobody counters, they can purchase the asset after 14 days.
One of the questions I'm asked the most is "how do I get started becoming a solidity dev?". While there's no right answer, my response is always similar. So here it is in a thread:
How to take yourself from 0-1 as a solidity dev
1/🧵
2/ This thread will assume you have dev experience already - if you don't solidity might not be the best place to start.
Solidity doesn't necessarily have a steeper learning curve than other languages, but it has steeper penalties for getting it wrong.
3/ A good intro to the basics is available at . It's outdated - most of the program uses solc 0.5, and we're now at 0.8+ - a lot has changed, but it's quick, and enjoyable enough that it can ease the fear of "getting started", which is the hardest part.cryptozombies.io
ERC404 has taken X by storm. Many have called it out for misusing the ERC label, and rightfully so, but let's take a moment to discuss another aspect of it: composability.
Is it safe?
1/🧵
2/ If you haven't read a technical breakdown of ERC404, check out my thread here:
I'll be referring back to the topics covered there throughout this thread.
3/ Imagine a basic shared vault application: users can deposit and withdraw NFTs or tokens. This can be a lending protocol, a custodial marketplace, or anything else (and in fact, this design exists in many places already).
This one is basic, you can only deposit and withdraw:
When designing CryptoPunks721, we went through great lengths to ensure that the contract was:
a) ownerless
b) as gas efficient as possible
This led to the creation of a weird function!
The story behind `rescuePunk()`
1/🧵
2/ NFT contracts typically maintain a count of their total supply. Maintaining that count is pretty simple: increment the count when a mint occurs, and decrement when a burn occurs.
Simple, but it adds an additional SSTORE to each mint and burn - that's 5000 gas!
3/ And wrapper contracts are unique - the total number of wrapped tokens can be inferred by the current number of the underlying NFT being held by the contract.
So we can bypass that gas cost by just returning the number of CryptoPunks held:
I'm super proud of the launch of CryptoPunks721 and Your Stash, and I'm hopeful for everything that it means both in the immediate term and in the future.
You may have heard we had to roll it back to fix some issues, and just re-launched today - here's what happened 1/🧵
2/ Two essential convictions underpin Your Stash:
- It introduces SO much potential, most of which we haven't yet dreamed up. So, it's upgradeable.
- Upgradeability introduces centralization risk not present in immutable contracts, so only YOU hold the power to upgrade.
👇
3/ This is done by modifying Solady's ERC1967 Factory in a way that limits any given address to deploying just one contract, of which they become the de facto admin.
Yuga can launch new versions of stash contracts, but Your Stash remains unaffected until you choose to upgrade.