https://preview.redd.it/b80c05tnb9e51.jpg?width=2550&format=pjpg&auto=webp&s=850282c1a3962466ed44f73886dae1c8872d0f31submitted by hkalodner to ethereum [link] [comments]
Submitted for consideration to The Great Reddit Scaling Bake-Off
Baked by the pastry chefs at Offchain Labs
Please send questions or comments to [[email protected] ](mailto:[email protected])
We're excited to submit Arbitrum Rollup for consideration to The Great Reddit Scaling Bake-Off. Arbitrum Rollup is the only Ethereum scaling solution that supports arbitrary smart contracts without compromising on Ethereum's security or adding points of centralization. For Reddit, this means that Arbitrum can not only scale the minting and transfer of Community Points, but it can foster a creative ecosystem built around Reddit Community Points enabling points to be used in a wide variety of third party applications. That's right -- you can have your cake and eat it too!
Arbitrum Rollup isn't just Ethereum-style. Its Layer 2 transactions are byte-for-byte identical to Ethereum, which means Ethereum users can continue to use their existing addresses and wallets, and Ethereum developers can continue to use their favorite toolchains and development environments out-of-the-box with Arbitrum. Coupling Arbitrum’s tooling-compatibility with its trustless asset interoperability, Reddit not only can scale but can onboard the entire Ethereum community at no cost by giving them the same experience they already know and love (well, certainly know).
To benchmark how Arbitrum can scale Reddit Community Points, we launched the Reddit contracts on an Arbitrum Rollup chain. Since Arbitrum provides full Solidity support, we didn't have to rewrite the Reddit contracts or try to mimic their functionality using an unfamiliar paradigm. Nope, none of that. We launched the Reddit contracts unmodified on Arbitrum Rollup complete with support for minting and distributing points. Like every Arbitrum Rollup chain, the chain included a bridge interface in which users can transfer Community Points or any other asset between the L1 and L2 chains. Arbitrum Rollup chains also support dynamic contract loading, which would allow third-party developers to launch custom ecosystem apps that integrate with Community Points on the very same chain that runs the Reddit contracts.
1.1 Why Ethereum
Perhaps the most exciting benefit of distributing Community Points using a blockchain is the ability to seamlessly port points to other applications and use them in a wide variety of contexts. Applications may include simple transfers such as a restaurant that allows Redditors to spend points on drinks. Or it may include complex smart contracts -- such as placing Community Points as a wager for a multiparty game or as collateral in a financial contract.
The common denominator between all of the fun uses of Reddit points is that it needs a thriving ecosystem of both users and developers, and the Ethereum blockchain is perhaps the only smart contract platform with significant adoption today. While many Layer 1 blockchains boast lower cost or higher throughput than the Ethereum blockchain, more often than not, these attributes mask the reality of little usage, weaker security, or both.
Perhaps another platform with significant usage will rise in the future. But today, Ethereum captures the mindshare of the blockchain community, and for Community Points to provide the most utility, the Ethereum blockchain is the natural choice.
1.2 Why Arbitrum
While Ethereum's ecosystem is unmatched, the reality is that fees are high and capacity is too low to support the scale of Reddit Community Points. Enter Arbitrum. Arbitrum Rollup provides all of the ecosystem benefits of Ethereum, but with orders of magnitude more capacity and at a fraction of the cost of native Ethereum smart contracts. And most of all, we don't change the experience from users. They continue to use the same wallets, addresses, languages, and tools.
Arbitrum Rollup is not the only solution that can scale payments, but it is the only developed solution that can scale both payments and arbitrary smart contracts trustlessly, which means that third party users can build highly scalable add-on apps that can be used without withdrawing money from the Rollup chain. If you believe that Reddit users will want to use their Community Points in smart contracts--and we believe they will--then it makes the most sense to choose a single scaling solution that can support the entire ecosystem, eliminating friction for users.
We view being able to run smart contracts in the same scaling solution as fundamentally critical since if there's significant demand in running smart contracts from Reddit's ecosystem, this would be a load on Ethereum and would itself require a scaling solution. Moreover, having different scaling solutions for the minting/distribution/spending of points and for third party apps would be burdensome for users as they'd have to constantly shuffle their Points back and forth.
2. Arbitrum at a glance
Arbitrum Rollup has a unique value proposition as it offers a combination of features that no other scaling solution achieves. Here we highlight its core attributes.
Decentralized. Arbitrum Rollup is as decentralized as Ethereum. Unlike some other Layer 2 scaling projects, Arbitrum Rollup doesn't have any centralized components or centralized operators who can censor users or delay transactions. Even in non-custodial systems, centralized components provide a risk as the operators are generally incentivized to increase their profit by extracting rent from users often in ways that severely degrade user experience. Even if centralized operators are altruistic, centralized components are subject to hacking, coercion, and potential liability.
Massive Scaling. Arbitrum achieves order of magnitude scaling over Ethereum's L1 smart contracts. Our software currently supports 453 transactions-per-second for basic transactions (at 1616 Ethereum gas per tx). We have a lot of room left to optimize (e.g. aggregating signatures), and over the next several months capacity will increase significantly. As described in detail below, Arbitrum can easily support and surpass Reddit's anticipated initial load, and its capacity will continue to improve as Reddit's capacity needs grow.
Low cost. The cost of running Arbitrum Rollup is quite low compared to L1 Ethereum and other scaling solutions such as those based on zero-knowledge proofs. Layer 2 fees are low, fixed, and predictable and should not be overly burdensome for Reddit to cover. Nobody needs to use special equipment or high-end machines. Arbitrum requires validators, which is a permissionless role that can be run on any reasonable on-line machine. Although anybody can act as a validator, in order to protect against a “tragedy of the commons” and make sure reputable validators are participating, we support a notion of “invited validators” that are compensated for their costs. In general, users pay (low) fees to cover the invited validators’ costs, but we imagine that Reddit may cover this cost for its users. See more on the costs and validator options below.
Ethereum Developer Experience. Not only does Arbitrum support EVM smart contracts, but the developer experience is identical to that of L1 Ethereum contracts and fully compatible with Ethereum tooling. Developers can port existing Solidity apps or write new ones using their favorite and familiar toolchains (e.g. Truffle, Buidler). There are no new languages or coding paradigms to learn.
Ethereum wallet compatibility. Just as in Ethereum, Arbitrum users need only hold keys, but do not have to store any coin history or additional data to protect or access their funds. Since Arbitrum transactions are semantically identical to Ethereum L1 transactions, existing Ethereum users can use their existing Ethereum keys with their existing wallet software such as Metamask.
Token interoperability. Users can easily transfer their ETH, ERC-20 and ERC-721 tokens between Ethereum and the Arbitrum Rollup chain. As we explain in detail below, it is possible to mint tokens in L2 that can subsequently be withdrawn and recognized by the L1 token contract.
Fast finality. Transactions complete with the same finality time as Ethereum L1 (and it's possible to get faster finality guarantees by trading away trust assumptions; see the Arbitrum Rollup whitepaper for details).
Non-custodial. Arbitrum Rollup is a non-custodial scaling solution, so users control their funds/points and neither Reddit nor anyone else can ever access or revoke points held by users.
Censorship Resistant. Since it's completely decentralized, and the Arbitrum protocol guarantees progress trustlessly, Arbitrum Rollup is just as censorship-proof as Ethereum.
Block explorer. The Arbitrum Rollup block explorer allows users to view and analyze transactions on the Rollup chain.
Although this is a bake-off, we're not going to sugar coat anything. Arbitrum Rollup, like any Optimistic Rollup protocol, does have one limitation, and that's the delay on withdrawals.
As for the concrete length of the delay, we've done a good deal of internal modeling and have blogged about this as well. Our current modeling suggests a 3-hour delay is sufficient (but as discussed in the linked post there is a tradeoff space between the length of the challenge period and the size of the validators’ deposit).
Note that this doesn't mean that the chain is delayed for three hours. Arbitrum Rollup supports pipelining of execution, which means that validators can keep building new states even while previous ones are “in the pipeline” for confirmation. As the challenge delays expire for each update, a new state will be confirmed (read more about this here).
So activity and progress on the chain are not delayed by the challenge period. The only thing that's delayed is the consummation of withdrawals. Recall though that any single honest validator knows immediately (at the speed of L1 finality) which state updates are correct and can guarantee that they will eventually be confirmed, so once a valid withdrawal has been requested on-chain, every honest party knows that the withdrawal will definitely happen. There's a natural place here for a liquidity market in which a validator (or someone who trusts a validator) can provide withdrawal loans for a small interest fee. This is a no-risk business for them as they know which withdrawals will be confirmed (and can force their confirmation trustlessly no matter what anyone else does) but are just waiting for on-chain finality.
3. The recipe: How Arbitrum Rollup works
For a description of the technical components of Arbitrum Rollup and how they interact to create a highly scalable protocol with a developer experience that is identical to Ethereum, please refer to the following documents:
Arbitrum Rollup Whitepaper
Arbitrum academic paper (describes a previous version of Arbitrum)
4. Developer docs and APIs
For full details about how to set up and interact with an Arbitrum Rollup chain or validator, please refer to our developer docs, which can be found at https://developer.offchainlabs.com/.
Note that the Arbitrum version described on that site is older and will soon be replaced by the version we are entering in Reddit Bake-Off, which is still undergoing internal testing before public release.
5. Who are the validators?
As with any Layer 2 protocol, advancing the protocol correctly requires at least one validator (sometimes called block producers) that is honest and available. A natural question is: who are the validators?
Recall that the validator set for an Arbitrum chain is open and permissionless; anyone can start or stop validating at will. (A useful analogy is to full nodes on an L1 chain.) But we understand that even though anyone can participate, Reddit may want to guarantee that highly reputable nodes are validating their chain. Reddit may choose to validate the chain themselves and/or hire third-party validators.To this end, we have begun building a marketplace for validator-for-hire services so that dapp developers can outsource validation services to reputable nodes with high up-time. We've announced a partnership in which Chainlink nodes will provide Arbitrum validation services, and we expect to announce more partnerships shortly with other blockchain infrastructure providers.
Although there is no requirement that validators are paid, Arbitrum’s economic model tracks validators’ costs (e.g. amount of computation and storage) and can charge small fees on user transactions, using a gas-type system, to cover those costs. Alternatively, a single party such as Reddit can agree to cover the costs of invited validators.
6. Reddit Contract Support
Since Arbitrum contracts and transactions are byte-for-byte compatible with Ethereum, supporting the Reddit contracts is as simple as launching them on an Arbitrum chain.
Minting. Arbitrum Rollup supports hybrid L1/L2 tokens which can be minted in L2 and then withdrawn onto the L1. An L1 contract at address A can make a special call to the EthBridge which deploys a "buddy contract" to the same address A on an Arbitrum chain. Since it's deployed at the same address, users can know that the L2 contract is the authorized "buddy" of the L1 contract on the Arbitrum chain.
For minting, the L1 contract is a standard ERC-20 contract which mints and burns tokens when requested by the L2 contract. It is paired with an ERC-20 contract in L2 which mints tokens based on whatever programmer provided minting facility is desired and burns tokens when they are withdrawn from the rollup chain. Given this base infrastructure, Arbitrum can support any smart contract based method for minting tokens in L2, and indeed we directly support Reddit's signature/claim based minting in L2.
Batch minting. What's better than a mint cookie? A whole batch! In addition to supporting Reddit’s current minting/claiming scheme, we built a second minting design, which we believe outperforms the signature/claim system in many scenarios.
In the current system, Reddit periodically issues signed statements to users, who then take those statements to the blockchain to claim their tokens. An alternative approach would have Reddit directly submit the list of users/amounts to the blockchain and distribute the tokens to the users without the signature/claim process.
To optimize the cost efficiency of this approach, we designed an application-specific compression scheme to minimize the size of the batch distribution list. We analyzed the data from Reddit's previous distributions and found that the data is highly compressible since token amounts are small and repeated, and addresses appear multiple times. Our function groups transactions by size, and replaces previously-seen addresses with a shorter index value. We wrote client code to compress the data, wrote a Solidity decompressing function, and integrated that function into Reddit’s contract running on Arbitrum.
When we ran the compression function on the previous Reddit distribution data, we found that we could compress batched minting data down to to 11.8 bytes per minting event (averaged over a 6-month trace of Reddit’s historical token grants)compared with roughly 174 bytes of on-chain data needed for the signature claim approach to minting (roughly 43 for an RLP-encoded null transaction + 65 for Reddit's signature + 65 for the user's signature + roughly 8 for the number of Points) .
The relative benefit of the two approaches with respect to on-chain call data cost depends on the percentage of users that will actually claim their tokens on chain. With the above figures, batch minting will be cheaper if roughly 5% of users redeem their claims. We stress that our compression scheme is not Arbitrum-specific and would be beneficial in any general-purpose smart contract platform.
8. Benchmarks and costs
In this section, we give the full costs of operating the Reddit contracts on an Arbitrum Rollup chain including the L1 gas costs for the Rollup chain, the costs of computation and storage for the L2 validators as well as the capital lockup requirements for staking.
Arbitrum Rollup is still on testnet, so we did not run mainnet benchmarks. Instead, we measured the L1 gas cost and L2 workload for Reddit operations on Arbitrum and calculated the total cost assuming current Ethereum gas prices. As noted below in detail, our measurements do not assume that Arbitrum is consuming the entire capacity of Ethereum. We will present the details of our model now, but for full transparency you can also play around with it yourself and adjust the parameters, by copying the spreadsheet found here.
Our cost model is based on measurements of Reddit’s contracts, running unmodified (except for the addition of a batch minting function) on Arbitrum Rollup on top of Ethereum.
On the distribution of transactions and frequency of assertions. Reddit's instructions specify the following minimum parameters that submissions should support:
Over a 5 day period, your scaling PoC should be able to handle:
We note that assuming that there are only 300,000 transactions that arrive uniformly over the 5 day period will make our benchmark numbers lower, but we believe that this will reflect the true cost of running the system. To see why, say that batches are submitted every five minutes (20 L1 blocks) and there's a fixed overhead of c bytes of calldata per batch, the cost of which will get amortized over all transactions executed in that batch. Assume that each individual transaction adds a marginal cost of t. Lastly assume the capacity of the scaling system is high enough that it can support all of Reddit's 300,000 transactions within a single 20-block batch (i.e. that there is more than c + 300,000*t byes of calldata available in 20 blocks).
Consider what happens if c, the per-batch overhead, is large (which it is in some systems, but not in Arbitrum). In the scenario that transactions actually arrive at the system's capacity and each batch is full, then c gets amortized over 300,000 transactions. But if we assume that the system is not running at capacity--and only receives 300,000 transactions arriving uniformly over 5 days-- then each 20-block assertion will contain about 200 transactions, and thus each transaction will pay a nontrivial cost due to c.
We are aware that other proposals presented scaling numbers assuming that 300,000 transactions arrived at maximum capacity and was executed in a single mega-transaction, but according to our estimates, for at least one such report, this led to a reported gas price that was 2-3 orders of magnitude lower than it would have been assuming uniform arrival. We make more realistic batching assumptions, and we believe Arbitrum compares well when batch sizes are realistic.
Our model. Our cost model includes several sources of cost:
Our model also shows that Arbitrum can scale to workloads much larger than Reddit’s nominal workload, without exhausting L1 or L2 resources. The scaling bottleneck will ultimately be calldata on the L1 chain. We believe that cost could be reduced substantially if necessary by clever encoding of data. (In our design any compression / decompression of L2 transaction calldata would be done by client software and L2 programs, never by an L1 contract.)
9. Status of Arbitrum Rollup
Arbitrum Rollup is live on Ethereum testnet. All of the code written to date including everything included in the Reddit demo is open source and permissively licensed under the Apache V2 license. The first testnet version of Arbitrum Rollup was released on testnet in February. Our current internal version, which we used to benchmark the Reddit contracts, will be released soon and will be a major upgrade.
Both the Arbitrum design as well as the implementation are heavily audited by independent third parties. The Arbitrum academic paper was published at USENIX Security, a top-tier peer-reviewed academic venue. For the Arbitrum software, we have engaged Trail of Bits for a security audit, which is currently ongoing, and we are committed to have a clean report before launching on Ethereum mainnet.
10. Reddit Universe Arbitrum Rollup Chain
The benchmarks described in this document were all measured using the latest internal build of our software. When we release the new software upgrade publicly we will launch a Reddit Universe Arbitrum Rollup chain as a public demo, which will contain the Reddit contracts as well as a Uniswap instance and a Connext Hub, demonstrating how Community Points can be integrated into third party apps. We will also allow members of the public to dynamically launch ecosystem contracts. We at Offchain Labs will cover the validating costs for the Reddit Universe public demo.
If the folks at Reddit would like to evaluate our software prior to our public demo, please email us at [email protected] and we'd be more than happy to provide early access.
11. Even more scaling: Arbitrum Sidechains
Rollups are an excellent approach to scaling, and we are excited about Arbitrum Rollup which far surpasses Reddit's scaling needs. But looking forward to Reddit's eventual goal of supporting hundreds of millions of users, there will likely come a time when Reddit needs more scaling than any Rollup protocol can provide.
While Rollups greatly reduce costs, they don't break the linear barrier. That is, all transactions have an on-chain footprint (because all calldata must be posted on-chain), albeit a far smaller one than on native Ethereum, and the L1 limitations end up being the bottleneck for capacity and cost. Since Ethereum has limited capacity, this linear use of on-chain resources means that costs will eventually increase superlinearly with traffic.
The good news is that we at Offchain Labs have a solution in our roadmap that can satisfy this extreme-scaling setting as well: Arbitrum AnyTrust Sidechains. Arbitrum Sidechains are similar to Arbitrum Rollup, but deviate in that they name a permissioned set of validators. When a chain’s validators agree off-chain, they can greatly reduce the on-chain footprint of the protocol and require almost no data to be put on-chain. When validators can't reach unanimous agreement off-chain, the protocol reverts to Arbitrum Rollup. Technically, Arbitrum Sidechains can be viewed as a hybrid between state channels and Rollup, switching back and forth as necessary, and combining the performance and cost that state channels can achieve in the optimistic case, with the robustness of Rollup in other cases. The core technical challenge is how to switch seamlessly between modes and how to guarantee that security is maintained throughout.
Arbitrum Sidechains break through this linear barrier, while still maintaining a high level of security and decentralization. Arbitrum Sidechains provide the AnyTrust guarantee, which says that as long as any one validator is honest and available (even if you don't know which one will be), the L2 chain is guaranteed to execute correctly according to its code and guaranteed to make progress. Unlike in a state channel, offchain progress does not require unanimous consent, and liveness is preserved as long as there is a single honest validator.
Note that the trust model for Arbitrum Sidechains is much stronger than for typical BFT-style chains which introduce a consensus "voting" protocols among a small permissioned group of validators. BFT-based protocols require a supermajority (more than 2/3) of validators to agree. In Arbitrum Sidechains, by contrast, all you need is a single honest validator to achieve guaranteed correctness and progress. Notice that in Arbitrum adding validators strictly increases security since the AnyTrust guarantee provides correctness as long as any one validator is honest and available. By contrast, in BFT-style protocols, adding nodes can be dangerous as a coalition of dishonest nodes can break the protocol.
Like Arbitrum Rollup, the developer and user experiences for Arbitrum Sidechains will be identical to that of Ethereum. Reddit would be able to choose a large and diverse set of validators, and all that they would need to guarantee to break through the scaling barrier is that a single one of them will remain honest.
We hope to have Arbitrum Sidechains in production in early 2021, and thus when Reddit reaches the scale that surpasses the capacity of Rollups, Arbitrum Sidechains will be waiting and ready to help.
While the idea to switch between channels and Rollup to get the best of both worlds is conceptually simple, getting the details right and making sure that the switch does not introduce any attack vectors is highly non-trivial and has been the subject of years of our research (indeed, we were working on this design for years before the term Rollup was even coined).
12. How Arbitrum compares
We include a comparison to several other categories as well as specific projects when appropriate. and explain why we believe that Arbitrum is best suited for Reddit's purposes. We focus our attention on other Ethereum projects.
Payment only Rollups. Compared to Arbitrum Rollup, ZK-Rollups and other Rollups that only support token transfers have several disadvantages:
While it's ultimately up to the judges’ palate, we believe that Arbitrum Rollup is the bakeoff choice that Reddit kneads. We far surpass Reddit's specified workload requirement at present, have much room to optimize Arbitrum Rollup in the near term, and have a clear path to get Reddit to hundreds of millions of users. Furthermore, we are the only project that gives developers and users the identical interface as the Ethereum blockchain and is fully interoperable and tooling-compatible, and we do this all without any new trust assumptions or centralized components.
But no matter how the cookie crumbles, we're glad to have participated in this bake-off and we thank you for your consideration.
About Offchain Labs
Offchain Labs, Inc. is a venture-funded New York company that spun out of Princeton University research, and is building the Arbitrum platform to usher in the next generation of scalable, interoperable, and compatible smart contracts. Offchain Labs is backed by Pantera Capital, Compound VC, Coinbase Ventures, and others.
Ed Felten is Co-founder and Chief Scientist at Offchain Labs. He is on leave from Princeton University, where he is the Robert E. Kahn Professor of Computer Science and Public Affairs. From 2015 to 2017 he served at the White House as Deputy United States Chief Technology Officer and senior advisor to the President. He is an ACM Fellow and member of the National Academy of Engineering. Outside of work, he is an avid runner, cook, and L.A. Dodgers fan.
Steven Goldfeder is Co-founder and Chief Executive Officer at Offchain Labs. He holds a PhD from Princeton University, where he worked at the intersection of cryptography and cryptocurrencies including threshold cryptography, zero-knowledge proof systems, and post-quantum signatures. He is a co-author of Bitcoin and Cryptocurrency Technologies, the leading textbook on cryptocurrencies, and he has previously worked at Google and Microsoft Research, where he co-invented the Picnic signature algorithm. When not working, you can find Steven spending time with his family, taking a nature walk, or twisting balloons.
Harry Kalodner is Co-founder and Chief Technology Officer at Offchain Labs where he leads the engineering team. Before the company he attended Princeton as a Ph.D candidate where his research explored economics, anonymity, and incentive compatibility of cryptocurrencies, and he also has worked at Apple. When not up at 3:00am writing code, Harry occasionally sleeps.
Sourcesubmitted by pascalbernoulli to Yield_Farming [link] [comments]
It’s effectively July 2017 in the world of decentralized finance (DeFi), and as in the heady days of the initial coin offering (ICO) boom, the numbers are only trending up.
According to DeFi Pulse, there is $1.9 billion in crypto assets locked in DeFi right now. According to the CoinDesk ICO Tracker, the ICO market started chugging past $1 billion in July 2017, just a few months before token sales started getting talked about on TV.
Debate juxtaposing these numbers if you like, but what no one can question is this: Crypto users are putting more and more value to work in DeFi applications, driven largely by the introduction of a whole new yield-generating pasture, Compound’s COMP governance token.
Governance tokens enable users to vote on the future of decentralized protocols, sure, but they also present fresh ways for DeFi founders to entice assets onto their platforms.
That said, it’s the crypto liquidity providers who are the stars of the present moment. They even have a meme-worthy name: yield farmers.
Where it startedEthereum-based credit market Compound started distributing its governance token, COMP, to the protocol’s users this past June 15. Demand for the token (heightened by the way its automatic distribution was structured) kicked off the present craze and moved Compound into the leading position in DeFi.
The hot new term in crypto is “yield farming,” a shorthand for clever strategies where putting crypto temporarily at the disposal of some startup’s application earns its owner more cryptocurrency.
Another term floating about is “liquidity mining.”
The buzz around these concepts has evolved into a low rumble as more and more people get interested.
The casual crypto observer who only pops into the market when activity heats up might be starting to get faint vibes that something is happening right now. Take our word for it: Yield farming is the source of those vibes.
But if all these terms (“DeFi,” “liquidity mining,” “yield farming”) are so much Greek to you, fear not. We’re here to catch you up. We’ll get into all of them.
We’re going to go from very basic to more advanced, so feel free to skip ahead.
What are tokens?Most CoinDesk readers probably know this, but just in case: Tokens are like the money video-game players earn while fighting monsters, money they can use to buy gear or weapons in the universe of their favorite game.
But with blockchains, tokens aren’t limited to only one massively multiplayer online money game. They can be earned in one and used in lots of others. They usually represent either ownership in something (like a piece of a Uniswap liquidity pool, which we will get into later) or access to some service. For example, in the Brave browser, ads can only be bought using basic attention token (BAT).
If tokens are worth money, then you can bank with them or at least do things that look very much like banking. Thus: decentralized finance.
Tokens proved to be the big use case for Ethereum, the second-biggest blockchain in the world. The term of art here is “ERC-20 tokens,” which refers to a software standard that allows token creators to write rules for them. Tokens can be used a few ways. Often, they are used as a form of money within a set of applications. So the idea for Kin was to create a token that web users could spend with each other at such tiny amounts that it would almost feel like they weren’t spending anything; that is, money for the internet.
Governance tokens are different. They are not like a token at a video-game arcade, as so many tokens were described in the past. They work more like certificates to serve in an ever-changing legislature in that they give holders the right to vote on changes to a protocol.
So on the platform that proved DeFi could fly, MakerDAO, holders of its governance token, MKR, vote almost every week on small changes to parameters that govern how much it costs to borrow and how much savers earn, and so on.
Read more: Why DeFi’s Billion-Dollar Milestone Matters
One thing all crypto tokens have in common, though, is they are tradable and they have a price. So, if tokens are worth money, then you can bank with them or at least do things that look very much like banking. Thus: decentralized finance.
What is DeFi?Fair question. For folks who tuned out for a bit in 2018, we used to call this “open finance.” That construction seems to have faded, though, and “DeFi” is the new lingo.
In case that doesn’t jog your memory, DeFi is all the things that let you play with money, and the only identification you need is a crypto wallet.
On the normal web, you can’t buy a blender without giving the site owner enough data to learn your whole life history. In DeFi, you can borrow money without anyone even asking for your name.
I can explain this but nothing really brings it home like trying one of these applications. If you have an Ethereum wallet that has even $20 worth of crypto in it, go do something on one of these products. Pop over to Uniswap and buy yourself some FUN (a token for gambling apps) or WBTC (wrapped bitcoin). Go to MakerDAO and create $5 worth of DAI (a stablecoin that tends to be worth $1) out of the digital ether. Go to Compound and borrow $10 in USDC.
(Notice the very small amounts I’m suggesting. The old crypto saying “don’t put in more than you can afford to lose” goes double for DeFi. This stuff is uber-complex and a lot can go wrong. These may be “savings” products but they’re not for your retirement savings.)
Immature and experimental though it may be, the technology’s implications are staggering. On the normal web, you can’t buy a blender without giving the site owner enough data to learn your whole life history. In DeFi, you can borrow money without anyone even asking for your name.
DeFi applications don’t worry about trusting you because they have the collateral you put up to back your debt (on Compound, for instance, a $10 debt will require around $20 in collateral).
Read more: There Are More DAI on Compound Now Than There Are DAI in the World
If you do take this advice and try something, note that you can swap all these things back as soon as you’ve taken them out. Open the loan and close it 10 minutes later. It’s fine. Fair warning: It might cost you a tiny bit in fees, and the cost of using Ethereum itself right now is much higher than usual, in part due to this fresh new activity. But it’s nothing that should ruin a crypto user.
So what’s the point of borrowing for people who already have the money? Most people do it for some kind of trade. The most obvious example, to short a token (the act of profiting if its price falls). It’s also good for someone who wants to hold onto a token but still play the market.
Doesn’t running a bank take a lot of money up front?It does, and in DeFi that money is largely provided by strangers on the internet. That’s why the startups behind these decentralized banking applications come up with clever ways to attract HODLers with idle assets.
Liquidity is the chief concern of all these different products. That is: How much money do they have locked in their smart contracts?
“In some types of products, the product experience gets much better if you have liquidity. Instead of borrowing from VCs or debt investors, you borrow from your users,” said Electric Capital managing partner Avichal Garg.
Let’s take Uniswap as an example. Uniswap is an “automated market maker,” or AMM (another DeFi term of art). This means Uniswap is a robot on the internet that is always willing to buy and it’s also always willing to sell any cryptocurrency for which it has a market.
On Uniswap, there is at least one market pair for almost any token on Ethereum. Behind the scenes, this means Uniswap can make it look like it is making a direct trade for any two tokens, which makes it easy for users, but it’s all built around pools of two tokens. And all these market pairs work better with bigger pools.
Why do I keep hearing about ‘pools’?To illustrate why more money helps, let’s break down how Uniswap works.
Let’s say there was a market for USDC and DAI. These are two tokens (both stablecoins but with different mechanisms for retaining their value) that are meant to be worth $1 each all the time, and that generally tends to be true for both.
The price Uniswap shows for each token in any pooled market pair is based on the balance of each in the pool. So, simplifying this a lot for illustration’s sake, if someone were to set up a USDC/DAI pool, they should deposit equal amounts of both. In a pool with only 2 USDC and 2 DAI it would offer a price of 1 USDC for 1 DAI. But then imagine that someone put in 1 DAI and took out 1 USDC. Then the pool would have 1 USDC and 3 DAI. The pool would be very out of whack. A savvy investor could make an easy $0.50 profit by putting in 1 USDC and receiving 1.5 DAI. That’s a 50% arbitrage profit, and that’s the problem with limited liquidity.
(Incidentally, this is why Uniswap’s prices tend to be accurate, because traders watch it for small discrepancies from the wider market and trade them away for arbitrage profits very quickly.)
Read more: Uniswap V2 Launches With More Token-Swap Pairs, Oracle Service, Flash Loans
However, if there were 500,000 USDC and 500,000 DAI in the pool, a trade of 1 DAI for 1 USDC would have a negligible impact on the relative price. That’s why liquidity is helpful.
You can stick your assets on Compound and earn a little yield. But that’s not very creative. Users who look for angles to maximize that yield: those are the yield farmers.
Similar effects hold across DeFi, so markets want more liquidity. Uniswap solves this by charging a tiny fee on every trade. It does this by shaving off a little bit from each trade and leaving that in the pool (so one DAI would actually trade for 0.997 USDC, after the fee, growing the overall pool by 0.003 USDC). This benefits liquidity providers because when someone puts liquidity in the pool they own a share of the pool. If there has been lots of trading in that pool, it has earned a lot of fees, and the value of each share will grow.
And this brings us back to tokens.
Liquidity added to Uniswap is represented by a token, not an account. So there’s no ledger saying, “Bob owns 0.000000678% of the DAI/USDC pool.” Bob just has a token in his wallet. And Bob doesn’t have to keep that token. He could sell it. Or use it in another product. We’ll circle back to this, but it helps to explain why people like to talk about DeFi products as “money Legos.”
So how much money do people make by putting money into these products?It can be a lot more lucrative than putting money in a traditional bank, and that’s before startups started handing out governance tokens.
Compound is the current darling of this space, so let’s use it as an illustration. As of this writing, a person can put USDC into Compound and earn 2.72% on it. They can put tether (USDT) into it and earn 2.11%. Most U.S. bank accounts earn less than 0.1% these days, which is close enough to nothing.
However, there are some caveats. First, there’s a reason the interest rates are so much juicier: DeFi is a far riskier place to park your money. There’s no Federal Deposit Insurance Corporation (FDIC) protecting these funds. If there were a run on Compound, users could find themselves unable to withdraw their funds when they wanted.
Plus, the interest is quite variable. You don’t know what you’ll earn over the course of a year. USDC’s rate is high right now. It was low last week. Usually, it hovers somewhere in the 1% range.
Similarly, a user might get tempted by assets with more lucrative yields like USDT, which typically has a much higher interest rate than USDC. (Monday morning, the reverse was true, for unclear reasons; this is crypto, remember.) The trade-off here is USDT’s transparency about the real-world dollars it’s supposed to hold in a real-world bank is not nearly up to par with USDC’s. A difference in interest rates is often the market’s way of telling you the one instrument is viewed as dicier than another.
Users making big bets on these products turn to companies Opyn and Nexus Mutual to insure their positions because there’s no government protections in this nascent space – more on the ample risks later on.
So users can stick their assets in Compound or Uniswap and earn a little yield. But that’s not very creative. Users who look for angles to maximize that yield: those are the yield farmers.
OK, I already knew all of that. What is yield farming?Broadly, yield farming is any effort to put crypto assets to work and generate the most returns possible on those assets.
At the simplest level, a yield farmer might move assets around within Compound, constantly chasing whichever pool is offering the best APY from week to week. This might mean moving into riskier pools from time to time, but a yield farmer can handle risk.
“Farming opens up new price arbs [arbitrage] that can spill over to other protocols whose tokens are in the pool,” said Maya Zehavi, a blockchain consultant.
Because these positions are tokenized, though, they can go further.
This was a brand-new kind of yield on a deposit. In fact, it was a way to earn a yield on a loan. Who has ever heard of a borrower earning a return on a debt from their lender?
In a simple example, a yield farmer might put 100,000 USDT into Compound. They will get a token back for that stake, called cUSDT. Let’s say they get 100,000 cUSDT back (the formula on Compound is crazy so it’s not 1:1 like that but it doesn’t matter for our purposes here).
They can then take that cUSDT and put it into a liquidity pool that takes cUSDT on Balancer, an AMM that allows users to set up self-rebalancing crypto index funds. In normal times, this could earn a small amount more in transaction fees. This is the basic idea of yield farming. The user looks for edge cases in the system to eke out as much yield as they can across as many products as it will work on.
Right now, however, things are not normal, and they probably won’t be for a while.
Why is yield farming so hot right now?Because of liquidity mining. Liquidity mining supercharges yield farming.
Liquidity mining is when a yield farmer gets a new token as well as the usual return (that’s the “mining” part) in exchange for the farmer’s liquidity.
“The idea is that stimulating usage of the platform increases the value of the token, thereby creating a positive usage loop to attract users,” said Richard Ma of smart-contract auditor Quantstamp.
The yield farming examples above are only farming yield off the normal operations of different platforms. Supply liquidity to Compound or Uniswap and get a little cut of the business that runs over the protocols – very vanilla.
But Compound announced earlier this year it wanted to truly decentralize the product and it wanted to give a good amount of ownership to the people who made it popular by using it. That ownership would take the form of the COMP token.
Lest this sound too altruistic, keep in mind that the people who created it (the team and the investors) owned more than half of the equity. By giving away a healthy proportion to users, that was very likely to make it a much more popular place for lending. In turn, that would make everyone’s stake worth much more.
So, Compound announced this four-year period where the protocol would give out COMP tokens to users, a fixed amount every day until it was gone. These COMP tokens control the protocol, just as shareholders ultimately control publicly traded companies.
Every day, the Compound protocol looks at everyone who had lent money to the application and who had borrowed from it and gives them COMP proportional to their share of the day’s total business.
The results were very surprising, even to Compound’s biggest promoters.
COMP’s value will likely go down, and that’s why some investors are rushing to earn as much of it as they can right now.
This was a brand-new kind of yield on a deposit into Compound. In fact, it was a way to earn a yield on a loan, as well, which is very weird: Who has ever heard of a borrower earning a return on a debt from their lender?
COMP’s value has consistently been well over $200 since it started distributing on June 15. We did the math elsewhere but long story short: investors with fairly deep pockets can make a strong gain maximizing their daily returns in COMP. It is, in a way, free money.
It’s possible to lend to Compound, borrow from it, deposit what you borrowed and so on. This can be done multiple times and DeFi startup Instadapp even built a tool to make it as capital-efficient as possible.
“Yield farmers are extremely creative. They find ways to ‘stack’ yields and even earn multiple governance tokens at once,” said Spencer Noon of DTC Capital.
COMP’s value spike is a temporary situation. The COMP distribution will only last four years and then there won’t be any more. Further, most people agree that the high price now is driven by the low float (that is, how much COMP is actually free to trade on the market – it will never be this low again). So the value will probably gradually go down, and that’s why savvy investors are trying to earn as much as they can now.
Appealing to the speculative instincts of diehard crypto traders has proven to be a great way to increase liquidity on Compound. This fattens some pockets but also improves the user experience for all kinds of Compound users, including those who would use it whether they were going to earn COMP or not.
As usual in crypto, when entrepreneurs see something successful, they imitate it. Balancer was the next protocol to start distributing a governance token, BAL, to liquidity providers. Flash loan provider bZx has announced a plan. Ren, Curve and Synthetix also teamed up to promote a liquidity pool on Curve.
It is a fair bet many of the more well-known DeFi projects will announce some kind of coin that can be mined by providing liquidity.
The case to watch here is Uniswap versus Balancer. Balancer can do the same thing Uniswap does, but most users who want to do a quick token trade through their wallet use Uniswap. It will be interesting to see if Balancer’s BAL token convinces Uniswap’s liquidity providers to defect.
So far, though, more liquidity has gone into Uniswap since the BAL announcement, according to its data site. That said, even more has gone into Balancer.
Did liquidity mining start with COMP?No, but it was the most-used protocol with the most carefully designed liquidity mining scheme.
This point is debated but the origins of liquidity mining probably date back to Fcoin, a Chinese exchange that created a token in 2018 that rewarded people for making trades. You won’t believe what happened next! Just kidding, you will: People just started running bots to do pointless trades with themselves to earn the token.
Similarly, EOS is a blockchain where transactions are basically free, but since nothing is really free the absence of friction was an invitation for spam. Some malicious hacker who didn’t like EOS created a token called EIDOS on the network in late 2019. It rewarded people for tons of pointless transactions and somehow got an exchange listing.
These initiatives illustrated how quickly crypto users respond to incentives.
Read more: Compound Changes COMP Distribution Rules Following ‘Yield Farming’ Frenzy
Fcoin aside, liquidity mining as we now know it first showed up on Ethereum when the marketplace for synthetic tokens, Synthetix, announced in July 2019 an award in its SNX token for users who helped add liquidity to the sETH/ETH pool on Uniswap. By October, that was one of Uniswap’s biggest pools.
When Compound Labs, the company that launched the Compound protocol, decided to create COMP, the governance token, the firm took months designing just what kind of behavior it wanted and how to incentivize it. Even still, Compound Labs was surprised by the response. It led to unintended consequences such as crowding into a previously unpopular market (lending and borrowing BAT) in order to mine as much COMP as possible.
Just last week, 115 different COMP wallet addresses – senators in Compound’s ever-changing legislature – voted to change the distribution mechanism in hopes of spreading liquidity out across the markets again.
Is there DeFi for bitcoin?Yes, on Ethereum.
Nothing has beaten bitcoin over time for returns, but there’s one thing bitcoin can’t do on its own: create more bitcoin.
A smart trader can get in and out of bitcoin and dollars in a way that will earn them more bitcoin, but this is tedious and risky. It takes a certain kind of person.
DeFi, however, offers ways to grow one’s bitcoin holdings – though somewhat indirectly.
A long HODLer is happy to gain fresh BTC off their counterparty’s short-term win. That’s the game.
For example, a user can create a simulated bitcoin on Ethereum using BitGo’s WBTC system. They put BTC in and get the same amount back out in freshly minted WBTC. WBTC can be traded back for BTC at any time, so it tends to be worth the same as BTC.
Then the user can take that WBTC, stake it on Compound and earn a few percent each year in yield on their BTC. Odds are, the people who borrow that WBTC are probably doing it to short BTC (that is, they will sell it immediately, buy it back when the price goes down, close the loan and keep the difference).
A long HODLer is happy to gain fresh BTC off their counterparty’s short-term win. That’s the game.
How risky is it?Enough.
“DeFi, with the combination of an assortment of digital funds, automation of key processes, and more complex incentive structures that work across protocols – each with their own rapidly changing tech and governance practices – make for new types of security risks,” said Liz Steininger of Least Authority, a crypto security auditor. “Yet, despite these risks, the high yields are undeniably attractive to draw more users.”
We’ve seen big failures in DeFi products. MakerDAO had one so bad this year it’s called “Black Thursday.” There was also the exploit against flash loan provider bZx. These things do break and when they do money gets taken.
As this sector gets more robust, we could see token holders greenlighting more ways for investors to profit from DeFi niches.
Right now, the deal is too good for certain funds to resist, so they are moving a lot of money into these protocols to liquidity mine all the new governance tokens they can. But the funds – entities that pool the resources of typically well-to-do crypto investors – are also hedging. Nexus Mutual, a DeFi insurance provider of sorts, told CoinDesk it has maxed out its available coverage on these liquidity applications. Opyn, the trustless derivatives maker, created a way to short COMP, just in case this game comes to naught.
And weird things have arisen. For example, there’s currently more DAI on Compound than have been minted in the world. This makes sense once unpacked but it still feels dicey to everyone.
That said, distributing governance tokens might make things a lot less risky for startups, at least with regard to the money cops.
“Protocols distributing their tokens to the public, meaning that there’s a new secondary listing for SAFT tokens, [gives] plausible deniability from any security accusation,” Zehavi wrote. (The Simple Agreement for Future Tokens was a legal structure favored by many token issuers during the ICO craze.)
Whether a cryptocurrency is adequately decentralized has been a key feature of ICO settlements with the U.S. Securities and Exchange Commission (SEC).
What’s next for yield farming? (A prediction)COMP turned out to be a bit of a surprise to the DeFi world, in technical ways and others. It has inspired a wave of new thinking.
“Other projects are working on similar things,” said Nexus Mutual founder Hugh Karp. In fact, informed sources tell CoinDesk brand-new projects will launch with these models.
We might soon see more prosaic yield farming applications. For example, forms of profit-sharing that reward certain kinds of behavior.
Imagine if COMP holders decided, for example, that the protocol needed more people to put money in and leave it there longer. The community could create a proposal that shaved off a little of each token’s yield and paid that portion out only to the tokens that were older than six months. It probably wouldn’t be much, but an investor with the right time horizon and risk profile might take it into consideration before making a withdrawal.
(There are precedents for this in traditional finance: A 10-year Treasury bond normally yields more than a one-month T-bill even though they’re both backed by the full faith and credit of Uncle Sam, a 12-month certificate of deposit pays higher interest than a checking account at the same bank, and so on.)
As this sector gets more robust, its architects will come up with ever more robust ways to optimize liquidity incentives in increasingly refined ways. We could see token holders greenlighting more ways for investors to profit from DeFi niches.
Questions abound for this nascent industry: What will MakerDAO do to restore its spot as the king of DeFi? Will Uniswap join the liquidity mining trend? Will anyone stick all these governance tokens into a decentralized autonomous organization (DAO)? Or would that be a yield farmers co-op?
Whatever happens, crypto’s yield farmers will keep moving fast. Some fresh fields may open and some may soon bear much less luscious fruit.
But that’s the nice thing about farming in DeFi: It is very easy to switch fields.
As part of Space Race, all miners on the Filecoin testnet can compete for a reward of up to 4 million FIL. While FIL tokens are not yet live, IOU tokens that bet on the future price of FIL are currently worth $15. If this price turns out to be accurate then the 4 million FIL tokens would be worth $5.9 million. The tokens will be handed out as ... To clean up any files created while running the testnet and restore to the original state: $ make clean Using with docker. This testnet-box can be used with Docker to run it in an isolated container. Building docker image. Pull the image. docker pull freewil/bitcoin-testnet-box; or build it yourself from this directory. docker build -t bitcoin ... Creating a Local Bitcoin Testnet / Regtest - Programming Bitcoin UPDATE: a few specifics have changed, see below for up-to-date commands In this video we create a local bitcoin testnet within a docker container. Then we'll connect to our testnet from Bitcoin-Qt on our desktop (host) machine. Here's the docker box we're going to use: github.com ... Generate new address ., , , , . Bip38 encryption allows you to protect your paper wallet with a password, giving it more security. If your paper wallet is stolen or the private key is exposed, your funds will still be safe, because it cannot be unlocked without the password. ... I have bitcoin-core installed, I am running it in testnet mode. Now if I want to fund my wallet, I need to know the receiving address. How do find my receiving address, so that I can fund it and then complete a transaction. I am using bitcoin-cli -testnet , what is best way to fund my own wallet so that I can send some coins to another address?
[index]          
A continuing look at updates and developments in the EXSCUDO space. There is a lot of buzz happening now that the ICO is over but let’s take focus on the next step. In this video we cover: 1 ... Bitcoin für Anfänger einfach erklärt! [auf Deutsch] Bitcoin-Börse (erhalte 10€ in BTC) https://finanzfluss.de/go/bitcoin-boerse *📱 Sicheres Bitcoin-Wallet... A continuing look at updates and developments in the EXSCUDO space. There is a lot of buzz happening now that the ICO is over but let’s take focus on the next step. In this video we cover: 1 ... If you want to someone to send you money to your Bitcoin account, Give them this address. you may donate to our network via Bitcoin as well :) Bitcoin addres... A continuing look at updates and developments in the EXSCUDO space. There is a lot of buzz happening now that the ICO is over but let’s take focus on the next step. In this video we cover: 1 ...