Analysing Ethereum contract gas costs during development

Updating the state of a smart contract in Ethereum costs money. In this post I will go a bit into detail why this is necessary in Ethereum and how to check easily (with truffle test) your gas costs during local development. For this we will use a little pet example, you can use for your own deployments. Gas cost - why? Ethereum smart contracts are deployed at an address in the Ethereum network. They are...

06 November 2018

Analysing Bitcoin smart contracts from a mechanism design perspective

Contracts can be used to enforce agreements between entities. To this extent, smart contracts have been proposed by Nick Szabo and implemented for example in Bitcoin. This article covers the basics of mechanism design of smart contracts in the context of Bitcoin. Mechanism design is concerned with creating or encoding preferences in an agreement. Hence, an author of a smart contract can create a mechanism that enforces certain behaviour of the agents (or humans) interacting...

12 September 2018

Blockchain getting started and further resources

Blockchains have become a somewhat big hype and when I got into the field the number of resources was still sparse. I am trying to compile here a list of getting started guides and resources that I find generally useful. These are not limited to blockchain related aspects, but will also cover general CS related resources I find useful for blockchain development. Also, the resources are somewhat research related. I am trying my best to...

18 October 2017

Interact with Ethereum contracts from python with web3py

In Ethereum and other blockchains there are still a lot of proof of concept implementation and developers trying out how to cope with the new concepts. As part of the dInvest dInvest post series I was also looking into Ethereum and trying to implement a hedge fund in a blockchain. In a previous post I discussed how to get a quantitative framework in python up and running. In this post I will write how to...

14 February 2017

Building a value investment algorithm with zipline

As stated in the dInvest post series the idea is to build a hedge fund in a blockchain. Due to computational limitations, it is not feasible to implement investment agents in the blockchain. In dInvest an investment agent should do the following: (1) Get a list of all available financial assets to trade; (2) based on the data given (i.e. financial data and fundamentals data) make a recommendation which assets to buy; (3) keep track...

10 February 2017

Using deep learning to automatically break CAPTCHAs

Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) is a way of differentiating humans and machines and was coined by von Ahn, Blum, Hopper, and Langford [5]. The core idea is that reading distorted letters, numbers, or images is achievable for a human but very hard or impossible for a computer. CAPTCHAs might look like the one below. Most likely the reader has already seen one, when trying to register at...

12 January 2017

dInvest: hedge fund in a blockchain

As public reputation becomes one of the most important success factors beyond financial success, investment opportunity should ensure ethical decisions and keep sustainable investment as core of their strategy. These long-term investment strategies based on criteria other than pure financial data are summarized under “Value Investment”. Value investment is based on the assumption that the current price of an asset might not be the actual value of an asset (e.g. stocks and derivatives). Thus, criteria other...

10 January 2017

Dominik Harz, 2018
Boilerplate Skeleton | Picture Steve Roe on unsplash | Menu icon by Timothy Miller [CC BY-SA 3.0 ], via Wikimedia Commons