Wenn Sie begonnen haben, Ihren Zeh in die Welt des Ethereum einzutauchen, haben Sie wahrscheinlich Etherscan gesehen oder wurden dorthin umgeleitet. Etherscan ist ein Block-Explorer, der es Benutzern ermöglicht, Informationen über Transaktionen anzuzeigen, die an die Blockchain übermittelt wurden, den Vertragscode zu überprüfen und Netzwerkdaten zu visualisieren. Dieser Leitfaden konzentriert sich auf die Erläuterung der Informationen, die für verschiedene Arten von Transaktionen auf Etherscan angezeigt werden.

Komponenten einer Ethereum-Transaktion auf Etherscan

  • Transaktions-Hash: Ein eindeutiger Identifier, der verwendet werden kann, um eine bestimmte Transaktion zu lokalisieren.
  • Status: Der aktuelle Status einer Transaktion (erfolgreich, fehlgeschlagen oder schwebend).
  • Block: Die Blocknummer, in den die Transaktion aufgenommen wurde.
  • Zeitstempel: Die Zeit, zu der der Block gemined wurde, in UTC.
  • Von: Das Konto, von dem die Transaktion ursprünglich gesendet wurde.
  • An: Das Konto, an das die Transaktion adressiert ist.
  • Wert: Der Betrag von Ether, der in der Transaktion enthalten ist.
  • Transaktionsgebühr: Der an den Miner für die Abwicklung der Transaktion gezahlte Ether-Betrag, der durch Multiplikation der verbrauchten Gasmenge mit dem Gaspreis berechnet wird.
  • Gaslimit: Die Obergrenze, wie viel Rechenarbeit und Speicherplatz der Sender bereit ist, für die Transaktion aufzuwenden.
  • Von der Transaktion verbrauchtes Gas: Die Menge an Rechen- und Speicherarbeit, die für die Transaktion verwendet wird.
  • Gaspreis: Die Menge an Ether pro Gaseinheit, die der Nutzer bereit ist, für die Transaktion zu zahlen, üblicherweise in einer Untereinheit von Ether, die als Gwei bezeichnet wird. 1 Gwei = 1×10^-9 Ether.
  • Nonce: Die Anzahl der Transaktionen, die vom Konto weggeschickt werden. Die Zahl wird mit 0 initialisiert und für jede gesendete Transaktion um 1 erhöht.
  • Eingabedaten: Informationen, die an einen intelligenten Vertrag übergeben werden, wenn eine Transaktion an seine Adresse gesendet wird. Wenn die Transaktion jedoch einen Vertrag erstellt, wird der Bytecode des Vertrags in das Eingabedatenfeld gesetzt.

Ich empfehle Ihnen, diesen Artikel zu lesen, wenn Sie mit der Verwendung von Gas in Ethereum nicht sehr vertraut sind. Weiterlesen

Lending is the natural next step for any new nascent financial market. The house of Rothschild got its start by collecting and exchanging coins (moneychanging). Once they had enough value under their custody, the natural step was to put it to work (moneylending). Then they expanded by doing the same for rulers locally and then, doing the same across Europe.


This is a simple working example of a flash arbitrage smart contract, whereby within a single transaction it:

  1. Instantly flash borrows a certain asset (ETH in this example) from Aave lending pools with zero collateral
  2. Calls UniswapV2 Router02 to wrap the flash liquidity of ETH into WETH and exchange it for DAI tokens
  3. Checks the exchange rate of DAI back into ETH on Sushiswap V1
  4. Calls SushiswapV1 Router02 to swap the DAI back into WETH and then ETH
  5. There’s also an independent function to withdraw all ETH and ERC20 tokens at the contract owner’s discretion

Before you start playing with this I highly recommend to have a read of the Aave Flash Loan mechanism and get an indepth conceptual understanding, as it’s equally important as understanding the code.

Since Sushiswap is a fork of UniswapV2, I also suggest familiarising yourself with the Uniswap V2 guide on trading via smart contracts, particularly if you plan on adding more swaps to your arbitrage strategy.


The contract can be plonked directly onto Remix, using solidity compiler 0.6.12, and Metamask using Injected Web3.

On deployment, set the following parameters:

  • _AaveLendingPool: the LendingPoolAddressesProvider address corresponding to the deployment environment. see Deployed Contract Instances.
  • _UniswapV2Router: the Router02 address for UniswapV2 see here.
  • _SushiswapV1Router: the Router02 address for SushiswapV1. There isn’t an official testnet router02 so for demo purposes you can just use the uniswapV2 address when playing on the testnet since their codebase is identical (for now – which may not be the case in the future). Alternatively see Sushiswap repo for the mainnet router02 address to test in prod or deploy your own version of Router02 onto testnet.
  • Click ‚transact‘ and approve the Metamask pop up.
  • Once the flash arb contract is deployed, send some ETH or ERC20 token to this contract depending on what asset you’re planning to flash borrow from Aave in case you need extra funds to cover the flash fee.


On execution, set the following parameters:

  • _flashAsset: address of the asset you want to flash loan. e.g. ETH is 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE. If you want to flash anything else see Reserved Assets but you will need to adjust the executeArbitrage() function accordingly.
  • _flashAmount: how much of _flashAsset you want to borrow, demoniated in wei (e.g. 1000000000000000000 for 1 ether).
  • _daiTokenAddress: for this demo we’re swapping with the DAI token, so lookup the reserved address of the DAI token. See Reserved Assets.
  • _amountToTrade: how much of the newly acquired _flashAsset you’d like to use as part of this arbitrage.
  • _tokensOut: how much of the ERC20 tokens from the first swap would you like to swap back to complete the arb. Denominated in actual tokens, i.e. 1 = 1 DAI token.
  • Click ‚transact‘ and approve in Metamask.


If all goes well, a successful execution of this contract looks like this (Ropsten testnet).

Tips for further customization

  • This contract would typically be executed by a NodeJS bot (not part of this demo) via a web3.eth.Contract() call, referencing the deployed address of this contract and its corresponding ABI. You would usually get the bot to interact with price aggregators such as 1inch to assess arb opportunities and execute this contract if the right opportunity is found.
  • To have any chance of getting in front of other arb bots on significant arb opportunities the NodeJS bot needs to be hosted on your own fast Ethereum node. You will most likely come off second best going through the Infura API to interact with the Ethereum blockchain.
  • Some people like to get an unfair advantage by building Transaction-Ordering Dependence (front running) capabilities into the NodeJS component, typically using web3.eth.subscribe(‚pendingTransactions‘..) to monitor for newly submitted arb TXs. However this smart contract would then need to be significantly more complex and flexible enough to cater for a wide range of arbitrage permutations across multiple protocols.
  • User specified parameters (as opposed to hardcoded variables) should be passed via the flashloan() function in the first instance. You can subsequently set these parameters to contract variables with higher visibility across the contract.
  • There are no direct ETH pairs in UniswapV2 therefore the need for a WETH wrapper. Since Sushiswap is forked from UniswapV2 you’ll need to wrap in WETH as well.

If you found this useful and would like to send me some gas money:


Thanks, @fifikobayashi

Source: https://github.com/fifikobayashi/Flash-Arb-Trader

  • The European Commission has today officially proposed a regulatory framework for crypto-assets and stablecoins after a leaked draft proposal went viral last week.
  • The official proposal recommends a “bespoke” regime for crypto-assets and stablecoins.
The European Commission has today officially proposed a regulatory framework for crypto-assets and stablecoins after a leaked draft proposal went viral last week.

The 168-page official draft proposal (provisional), published Thursday, highlights the need for a „sound“ legal framework, clearly defining the regulatory treatment of all crypto-assets that are not covered by existing EU financial services legislation.

Crypto assets, especially stablecoins, have the potential to become widely accepted, said the commission. Hence, they would be subject to „more stringent requirements“ regarding capital, investor rights, and supervision. The proposal is in line with the leaked version from last week.

The commission has today proposed a „bespoke“ regime for crypto-assets and stablecoins. „The bespoke regime for crypto-assets will ensure a high level of consumer and investor protection and market integrity, by regulating the main activities related to crypto-assets,“ said the commission. The main activities include such as crypto exchange and wallet services.

„By imposing requirements (such as governance, operational requirements) on the main crypto-asset service providers and issuers operating in the EU, the proposal is likely to reduce the amounts of fraud and theft of crypto-assets,“ said the commission, adding:

„The bespoke regime will introduce specific requirements on e-money tokens, significant e-money tokens, asset-referenced tokens and significant asset-referenced tokens in order to address the potential risks to financial stability and monetary policy transmission these can present. Finally, it will address market fragmentation issues arising from the different national approaches across the EU.“

The commission has today also proposed a regulatory sandbox to allow companies to test blockchain technology in trade and settlement processes.

The proposals are part of the commission’s newly adopted Digital Finance Package. The package will „boost Europe’s competitiveness and innovation in the financial sector, paving the way for Europe to become a global standard-setter,“ said the commission. „It will give consumers more choice and opportunities in financial services and modern payments, while at the same time ensuring consumer protection and financial stability.“

Source: theblockcrypto.com


What Are Cryptocurrencies?

A potential new form of money offers benefits while posing risks

Antoine Bouveret and Vikram Haksar

Back to Basics

Hundreds of them have sprouted, with fanciful names like Primecoin, Dash, and Verge. They have developed cult-like followings among the tech-savvy. Their values fluctuate wildly. Some people say these mysterious bits of computer code will someday replace money as we know it. What exactly are these cryptocurrencies, and what makes people think they are worth anything at all? To answer these questions, let’s first look at how money evolved.

Uses of money

Money serves as a store of value, a means of exchange for goods and services, and a unit of account that measures value. Before money, human societies exchanged goods and services directly—a bushel of grain for a pig, say. This was not very efficient. As societies grew more complex, commodity monies were developed—from seashells to copper, silver, and gold. Some states introduced fiat money—which has no intrinsic value other than the promise to pay—such as paper money in eighth century China under the Tang dynasty.

Most early forms of fiat money were neither very stable nor widely accepted, as people did not believe the issuer would honor its commitment to redeem the money. Governments were tempted to print more money to buy goods or raise wages, which fueled inflation (think of people moving cash around in wheelbarrows in post–World War I Germany). Modern central banks seek to maintain price stability by regulating the supply of money on behalf of governments.

Bookkeeping and ledgers

An increasingly extensive and complex financial system gave rise to the need for trusted intermediaries and credible accounting systems. The development of double-entry bookkeeping in Renaissance Italy was a major innovation that strengthened the role of large private banks. In modern times, central banks emerged at the apex of payment systems. With computerized bank ledgers, the coordinating role of central banks increased.

How do such ledgers work? Financial institutions adjust the positions of their account holders in their internal ledgers, while the central bank validates transactions among financial institutions in a central ledger. For example, Mehrnaz uses money from her account in bank A to buy goods from Mary, who has an account in bank B. Bank A debits the money from Mehrnaz’s account. The central bank moves money from bank A to bank B and records the transaction in its central ledger. Bank B then adds the money to Mary’s account. As you can see, the system is based on trust in the central bank and in its ability to safeguard the integrity of the central ledger and ensure that the same money is not spent twice.

With many cryptocurrencies, on the other hand, there is no need for a trusted central agent. Instead, they rely on distributed ledger technology, such as blockchain, to construct a ledger (effectively a database) that is maintained across a network. To ensure that the same cryptocurrency is not spent twice, each member of the network verifies and validates transactions using technologies derived from computing and cryptography. Once a decentralized consensus is achieved among members of the network, the transaction is added to the ledger, which is validated. The ledger provides a complete history of the transactions associated with a particular cryptocurrency that is permanent and cannot be manipulated by a single entity. This ability to achieve consensus on the validity of transactions between accounts in a distributed network is a foundational technological shift.

Network members who verify and validate transactions are usually rewarded with newly minted cryptocurrency. Many cryptocurrencies are also pseudo-anonymous: holders of the currency have two keys. One is public, such as an account number; another, private key is required to complete a transaction. So, to continue the previous example, Mehrnaz wants to buy goods from Mary using a cryptocurrency. To do so, she initiates a transaction with her private key. Mehrnaz is identified in the network by her public key, ABC, and Mary is identified by hers, XYZ. Network members verify that ABC has the money she wants to transfer to XYZ by solving a cryptography puzzle. Once the puzzle is solved, the transaction is validated, a new block representing the transaction is added to the blockchain, and the money is transferred from ABC’s wallet to XYZ’s.

Benefits, risks

Now that we understand the technology, let’s return to the genesis of cryptocurrencies. The first one, Bitcoin, was introduced in 2009 by a programmer (or group of programmers) using the pseudonym Satoshi Nakamoto. As of April 2018, there were more than 1,500 cryptocurrencies, according to coinmarketcap.com; along with Bitcoin, Ether and Ripple are the most widely used.

Despite the hype, cryptocurrencies still don’t fulfill the basic functions of money as a store of value, means of exchange, and unit of account. Because their value is highly volatile, they have little use so far as a unit of account or a store of value. Limited acceptance for payment restricts their use as a medium of exchange. Unlike with fiat money, the cost of producing many cryptocurrencies is high, reflecting the large amount of energy needed to power the computers that solve the cryptographic puzzles. Finally, decentralized issuance implies that there is no entity backing the asset, so acceptance is based entirely on users’ trust.

Cryptocurrencies and their underlying technologies offer benefits but also carry risks. Distributed ledger technology could reduce the cost of international transfers, including remittances, and foster financial inclusion. Some payment services now make overseas transfers in a matter of hours, not days. The technology can provide benefits beyond the financial system. For example, it can be used to securely store important records, such as medical histories and land deeds. On the other hand, the pseudo-
anonymity of many cryptocurrencies makes them vulnerable to use in money laundering and terrorism financing, if no intermediary checks the integrity of transactions or the identity of the people making them. Cryptocurrencies could also eventually present challenges for central banks were they to affect control over the money supply and therefore the conduct of monetary policy.

Source: imf.org

An Ultimate, In-depth Explanation of How EVM Works.

This post is a continuation of my Getting Deep Into Series started in an effort to provide a deeper understanding of the internal workings and other cool stuff about Ethereum and blockchain in general which you will not find easily on the web. Here are the previous parts of the Series in case you missed them:

Getting Deep Into Geth: Why Syncing Ethereum Node Is Slow
Downloading the blocks is just a small part. There is a lot of stuff going on…
Getting Deep Into Ethereum: How Data Is Stored In Ethereum?
In this post, we will see how states and transactions are stored in Ethereum and how it is different from Bitcoin.

In this part, we are going to explore explain and describe in detail the core behavior of the EVM. We will see how contracts are created, how message calls work, and take a look at everything related to data management, such as storagememorycalldata, and the stack.

To better understand this article, you should be familiar with the basics of the Ethereum. If you are not, I highly recommend reading these posts first.

8 Resources to Get Started With Ethereum
The ultimate guide for understanding & Starting with Ethereum.

Throughout this post, we will illustrate some examples and demonstrations using sample contracts you can find in this repository. Please clone it, run npm install, and check it out before beginning.

Enjoy, and please do not hesitate to reach out with questions, suggestions or feedback.

EVM: 10,000 ft Perspective

Before diving into understanding how EVM works and seeing it working via code examples, let’s see where EVM fits in the Ethereum and what are its components. Don’t get scared by these diagrams because as soon as you are done reading this article you will be able to make a lot of sense out of these diagrams.

The below diagram shows where EVM fits into Ethereum.

The below diagram shows the basic Architecture of EVM.

This below diagram shows how different parts of EVM interact with each other to make Ethereum do its magic.

We have seen what EVM looks like. Now it’s time to start understanding how these parts play a significant role in the way Ethereum works.

Ethereum Contracts


Smart contracts are just computer programs, and we can say that Ethereum contracts are smart contracts that run on the Ethereum Virtual Machine. The EVM is the sandboxed runtime and a completely isolated environment for smart contracts in Ethereum. This means that every smart contract running inside the EVM has no access to the network, file system, or other processes running on the computer hosting the VM.

As we already know, there are two kinds of accounts: contracts and external accounts. Every account is identified by an address, and all accounts share the same address space. The EVM handles addresses of 160-bit length.

Every account consists of a balance, a noncebytecode, and stored data (storage). However, there are some differences between these two kinds of accounts. For instance, the code and storage of external accounts are empty, while contract accounts store their bytecode and the Merkle root hash of the entire state tree. Moreover, while external addresses have a corresponding private key, contract accounts don’t. The actions of contract accounts are controlled by the code they host in addition to the regular cryptographic signing of every Ethereum transaction.


The creation of a contract is simply a transaction in which the receiver address is empty and its data field contains the compiled bytecode of the contract to be created (this makes sense — contracts can create contracts too). Let’s look at a quick example. Please open the directory of exercise 1; in it, you will find a contract called MyContract with the following code:

Read on >>>>

This article explains how someone will be able to become a validator in Ethereum 2.0. New Ethereum will replace mining process as seen current Ethereum and use Proof of Stake consensus where validators will be the one maintaining the network. Those validators attestations are written on the Beacon chain. However, we won’t get into those technical details and you don’t even have to know all of that to take part in validating blocks.

What’s the current status of Ethereum 2.0 development?

Specification is there and seven different node clients are actively working on their implementation. The reason for this is that they are written in different languages and will have a different specializations i.e. being focused on the browser or resource constrained devices. Also, not all of them will survive (but that’s ok). In current Ethereum (Eth1) survivors are Geth and Parity. Current active Eth2 clients are: LodestarNimbusLighthousePrysmTrinity and Harmony + Artemis that should merge together.

They all have their own testnets but they all gathered in September on an interoperability event and created a multi-client testnet. Here is the historic tweet and we are glad that we could be there! Thanks Consensys.

First launch of the Ethereum 2.0 clients, tweet by Joseph Delong

Good news is that in the latest Eth2 spec release (v0.9.0) an official deposit contract has been declared as finished!

All inital deposits, that will happen on Eth1 chain, will be used by Eth2 chain to secure the network upon launch by leveraging the security pool and value of existing Ether.

How much can you earn by being a validator?

What a great question! Yes, you get a reward if your attestations get included in a block but the reward depends on the whole state of the network i.e. how many validators are online. The economics of this are still being examined and are to be tested. Latest estimates are that validators can expect 4.6% – 10.3% in annualized rewards. However, the spec is still being updated which results in a lot of estimates so we can only recommend you the following links to understand better: – Examining the Proposed Validator Economics of Ethereum 2.0 – Eth 2.0 Economics

Basically, the math for validator return of investment (ROI) is:

ROI = Validator rewards + Network fees - Cost to run a validator node

The goal is to encourage people to become validators and have many as possible to secure the network. Therefore, the whole PoS system is a collective rewards scheme where the more people online, the more everyone earns. Vice versa, the less people online, the less that people are earning. It is why there is a slight penalty if your validator client goes offline at any point. For example, if the current interest rate is 5%, you would lose 0.0137% of your deposit every day, but gain that for every day you’re online. In case of a bigger issue where 33% of validators are offline and you’re offline, you can lose 60% in 18 days. If at any point your deposit drops below 16 ETH you will be removed from the validator set entirely.

Unfortunately, the numbers above in the links are most probably going to be changed as the Eth2 spec is constantly being updated.

What do you need to become a validator?

Basically, here are the minimum requirements for being a validator: – have 32 ETH, – run validator node 247 (this can be your PC, remote server, Raspberry Pi or similar) with Internet connection, – have access to beacon node.

Hardware requirements for running the node will be better determined during testnet activities. For the validator client only something like Raspberry Pi will be enough but in case you are running your Beacon node, you’ll need a more powerful CPU and storage space.

Keep in mind that your uptime and therefore an Internet connection are the most important things as your stake gets slashed if you are offline, meaning that you are losing your money.

How to become a validator?

The validator setup requires some technical knowledge and understanding. However, we want to enable everyone to easily become a validator and know how well they perform. This will be possible with the desktop app that we are working on – ChainGuardian. Soon more info about that, you can track for progress our NodeFactory Twitter and ChainGuardian Github or join our Discord! This app is being built thanks to MolochDAO.

ChainGuardian is a Windows/Linux/Mac app that will be a one stop shop for validators. As a user, you will be able to fully onboard as a validator which includes: making an ETH deposit, generating or importing your required key pairs (which only you own!), running a validator client and a Beacon node. Most importantly, you will be able to observe the performance of your node, return of investment and get notified if your node is down so you don’t lose your earnings!

Here are a couple of sneak peaks below. We plan to expand these features to much more but currently we are focused to make a release where you can make an ETH deposit and effortlessly become a validator.

ChainGuardian desktop application previews

Basically, to become a validator, here are the steps that one needs to take:

  1. Install one of the previously listed Eth2 clients.
  2. Get Ether. In testnet case that’s Görli ETH. We understand this is not so easy to get so we will provide a faucet for you that will get you this ETH and submit your deposit transaction altogether.
  3. Generate a validator public and private key pair (used for signing your claims as a validator).
  4. Start your validator client along with Beacon chain. You can use your Beacon chain node or some existing public server.
  5. Make the ETH deposit (stake) to Eth1.
  6. Wait to get assigned as validator. Once your validator client is up and running you just have to wait for it’s activation. This takes a few minutes (or probably hours in case of mainnet) because of a voting period in which new deposits are added to the running chain from other validators.
  7. Watch your validator create, vote and attest for blocks as well as earn rewards!

Once again, those steps will be a part of the ChainGuardian app onboarding.

Note about your key pairs

What’s important to understand when handling your validator node are validator keys. You should have a signing key which is a hot wallet – unlocked account that app client uses for voting and proposing blocks. Also, you need a withdrawal key that is a separated cold wallet which will be used for funds withdrawal in case you want to stop being a validator or your signing key gets comprimised.


This is Ethereum 2.0 (Serenity) Phase 0 which includes launch of Beacon chain that manages the Casper Proof of Stake protocol for itself and all of the shard chains. Being a Phase 0 only, we won’t have all the new features of Ethereum 2.0 just yet. For example, there is currently no way to withdraw deposited Ether from Eth2 as it is effectively burned in Eth1. However, although the transfers weren’t planned in Phase 0, this is still open to discussion and changes.

Once Phase 0 is complete, there will be two active Ethereum chains – Eth1 chain (current) and the Eth2 chain (Beacon chain). They will operate in parallel during the Phase 1 and Phase 2 as well. However, the Eth1 to Eth2 transition is planned.

For the Beacon chain to start, there will be a minimum amount of ETH stake needed. It is defined in the deposit contract and currently this is set to 16384 validators (524,288 ETH).

It may seem that this Phase is not that significant as we won’t be available to use everything from Ethereum that we got used to but this is the foundation of the entire system. If we compare this phase to the beginning of the mining period, then we can certainly draw conclusions about advantages and profits in being the first in the line. However, there are all kinds of risks but seeing the community around this and efforts of the core developers, it’s only possible to be positive about how things will roll out.

Source: https://www.nodefactory.io/blog/how-to-become-a-validator-in-the-new-ethereum-2-proof-of-stake-system/

Ameen Soleimani – 8 min read

You’ve probably heard of Compound. They built compound.finance on Ethereum which allows you to lend and earn interest on your ETH, DAI, USDC, and several other ERC20s.

Today, the interest rate offered to DAI lenders is 10%, which is high enough to turn EthHeads’ heads (see cover photo).

As the CEO of SpankChain, it’s my job to manage the company reserves, which also includes nearly half a million DAI. At 10% annual interest, that’s ~$4,000 per month that we’re leaving on the table by not moving our DAI into Compound. That’s quite the opportunity cost. But the thing to remember when investing is that there is no free lunch. All investments have their risks and lending on Compound is no exception.

I spent some time over the last month evaluating several categories of risk when lending on Compound:

  1. Contract Security Risks
  2. Centralized Points of Failure
  3. Bank Run Risk

I break my investigation down by category below, but the most important things to know are:

  1. The smart contract security seems legit.
  2. Compound is a CUSTODIAL system, all lending pools can be trivially drained if their admin private key is compromised.
  3. When you lend on Compound, you are NOT guaranteed to be able to withdraw whenever you want. If you try to withdraw your funds and all the money is locked up in outstanding loans, your withdrawal transaction will fail.

I hope these lenders understand the risks… source: https://defipulse.com/compound

Contract Security

Compound has been audited by several reputable smart contract security firms.

  1. OpenZeppelin Audit Report
  2. Trail of Bits Audit Report
  3. Certora Audit Report

In addition, Compound was offering a private bug bounty of up to $250,000 for critical vulnerabilities (defined as 1% of funds stolen or 10% frozen), and to my knowledge no independent security researchers have been able to claim the bounty.

The contracts have also held $20M+ for over 6 months, $50M+ for over 2 months, and currently hold $100M+. For me personally, the most important metric of contract security is total funds held in contract * time held in contract, and Compound has been secure with quite a large public bounty thus far.

Based on the above factors, I presently believe that the Compound smart contracts are secure.

Centralized Points of Failure

I’m not a smart contract security expert myself, so I enlisted the assistance of the one and only samczsun who famously found a critical bug in the 0x contracts (despite multiple audits from top firms) and was paid $100,000 for it. He had the following to report about centralized points of failure in Compound (emphasis mine):


OpenLaw will be launching the first limited liability for-profit DAO, named the LAO. The LAO will enable members to invest in Ethereum new ventures and generate a profit. A new era of DAOs is beginning.

The LAO: A For-Profit, Limited Liability Autonomous Organization

Since first proposed in 2013, the notion of decentralized autonomous organizations (DAOs) has animated the dreams of blockchain developers. For many, these Internet-native organizations represent the next step in the evolution of social and economic coordination, with blockchain technology and smart contracts streamlining voting, decision making, and the allocation of digital assets.

The notion of a DAO did not emerge in a vacuum. Instead, these organizations build on a long lineage of technical and legal innovation. The Romans devised a variety of commercial entities, such as the societas peculium and societas publicanorum, that enabled parties to share in an enterprise’s profits and losses while also providing limited liability. During the Middle Ages, Italians pioneered early versions of a limited partnership to finance maritime trade. Joint-stock companies emerged in England and the Netherlands in the 1600s, providing organizations state-granted monopolies to engage in productive commercial enterprises. The modern corporation took root in the United States in 1811, when New York granted private parties the power to form their own corporate structures without an extensive approval process. Weiterlesen

by Koh Wei Jie · 8 min read

Railway semaphore signals. Source: WikiMedia Commons

This year, Ethereum has undergone a privacy renaissance of sorts. Encouraged by prominent members of the community, researchers, programmers, and DAO funders have collaborated to accelerate the ideation and implementation of privacy solutions, particularly those which employ zero-knowledge proofs. We are now at a stage where a key privacy building block is emerging from research and entering production: Semaphore, a means for anonymous signalling.

Semaphore is the basis of an ETH and ERC20 token mixer named MicroMix. In the near future, it can be used for other privacy-enhancing applications such as anonymous login, anonymous DAOs, anonymous voting, and journalism.

This technical blog post will explain how Semaphore and MicroMix work, and how Semaphore enables MicroMix to provide users with transaction privacy in a noncustodial manner. It will also describe its performance and tradeoffs, and finally outline how Semaphore can enable other zero-knowledge applications which would be otherwise impractical.

Readers should understand how Ethereum smart contracts work and some basic cryptography, but do not need to be familiar with zero-knowledge proofs. Weiterlesen