Blog > 2017

Centralized cryptocurrencies

5 March 2017 Alexander Chepurnoy 6 mins read

Centralized cryptocurrencies - Input Output

Centralized cryptocurrencies

This article is inspired by my recent visit to a blockchain technology conference and my discussions with colleagues about ideas to improve blockchain. Most of the conference speakers were from big Russian banks and their talks were about blockchain use cases, mainly as databases or smart contract platforms. However, none of the speakers were able to answer the question, ‘why did they really need blockchain?’. The correct answer for this question recently came from the R3 CEV consortium: "no blockchain because we don't need one". Blockchain is not needed for banks, it is needed instead of banks. It is required for decentralized systems only, applications with a trusted party will always be more efficient, simple, etc. The meaning of decentralization has been widely discussed (see, for example, this post from Vitalik Buterin and it is the only real purpose of blockchains. In this blog post I'm going to discuss the degree of centralization of existing cryptocurrencies and the reasons leading to it.

Governance and development centralization

Let's start with a non-technical topic. It is nice to think that no-one controls blockchain, ie that network participants (miners) act as a decentralized community and chose the direction of development. In fact, everything is much worse.

The first source of centralization here, is the source of the protocol for improvement. Only a small group of core developers is able to accept changes to the source code or even understand some protocol improvement proposals. No-one works for free and the organization that pays money to the core team in fact controls the cryptocurrency’s source code. For example, Bitcoin development is controlled by Blockstream, and this organization has its own interests. A treasury system like the one for Dash or the one proposed for Ethereum Classic may be the solution here. However, a lot of questions are still open (for example, the 78 pages of ETC treasury proposal are quite complicated, while the Dash treasury system was developed without any documentation).

The next centralization risk in governance is the cult of personality. While Vitalik tells us in his post, that no-one controls cryptocurrencies, his opinion is so important for the Ethereum community, that most of its members accepted the bailout of the DAO, which breaks the basic immutability principle of cryptocurrencies.

Finally, there are a lot of interested parties behind cryptocurrencies, and the opinion of some of them (for example the end users of the currency) is usually ignored. Anyway, the development of cryptocurrencies is a social consensus, and it is good to have a manifesto, declaring its purpose from the start.

Services centralization

One of the biggest problems with existing cryptocurrencies is the centralization of services. Blockchain processing is heavy (eg Ethereum processing from the genesis block may take weeks) and regular users that just want to send some coins have to trust centralized services. Most Bitcoin users trust blockchain.info, Ethereum users trust myetherwallet and so on. If these popular wallets were to be compromised, users’ funds would be lost.

Moreover, most users trust in blockchain explorers and never check that the blocks in it are correct. What is the meaning of the "decentralized" social network Steemit, if almost none of its users download a blockchain and believe that the data on Steemit.com is correct? Or imagine that blockchain.info was compromised: an attacker could steal all the users’ money from their wallets, hide the criminal transactions and show user-created transactions in blockchain explorer, and the attack could go unnoticed for a long time. Thus, trust in centralized services produces a single point of failure, allows censorship and puts user coins in jeopardy.

Mining centralization

With popular cryptocurrencies, hardware requirements are high even just for blockchain validation. Even if you own modern hardware able to process blocks fast, your network channel may not be wide enough to download the created blocks fast enough. This leads to a situation where only a few high-end computers are able to create new blocks, which leads to mining centralization. Being open by design, Bitcoin mining power is now concentrated in a limited group of miners, which could easily meet and agree to perform a 51% attack (or just censor selected transactions or blocks). Mining pools worsen the situation, for example, in Bitcoin just five mining pools control more than 50% of the hash rate (at least if you believe blockchain.info. Another option for miners is to skip transaction processing and produce empty blocks, which would also make blockchain meaningless.

Proof-of-Stake is usually regarded as more hardware friendly, however, a really popular blockchain requires a wide network channel to synchronize the network anyway. Also, it is usually unprofitable to keep a mining node in PoS and just a small percentage of coins are online that makes the network vulnerable. This is usually fixed by delegating mining power to someone else, that also leads to a small amount of mining nodes.

Centralization as a solution

The most scary point of all this is that more and more often, centralization is regarded as a solution for some problems of cryptocurrencies. To fix scalability issues, cryptocurrencies propose to use a limited number of trusted "masternodes", "witnesses", "delegates", "federations" and so on to "fix" the too-large amount of mining nodes in the network. The number of these trusted nodes may vary, but by using this method to fix scalability issues, developers also destroy the decentralized nature of the currency. Eventually this would lead to a cryptocurrency with only one performing node, that processes transactions very efficiently, without confirmation delays and forks, but suddenly a blockchain is not needed, as in R3's case.

Unfortunately, most users are not able to determine the lie in cryptocurrencies and like these centralized blockchains more and more, because for sure, the centralized way is (and will always be) more simple and user-friendly.

Conclusion

We are going to see more centralized cryptocurrencies and that will inevitably lead to mass disappointment in blockchain technology, because it is not needed for centralized solutions. It is still a user choice, whether to believe a beautiful and fast web interface or to use trustless, but harmful software, requiring you to download blockchain data and process it.

Most centralization risks may be fixed, if trustless full-nodes, wallets, explorers are cheap to launch and easy to use. I'm not going to propose a solution in this paper, but I hope it is coming soon!

Scotland and Japan launch IOHK's research network

28 February 2017 Jeremy Wood 4 mins read

Scotland and Japan launch IOHKs research network - Input Output

L-R: Nikos Bentenitis, IOHK Chief Operating Officer; Aggelos Kiayias, IOHK Chief Scientist; Charles Hoskinson, IOHK Chief Executive Officer and Co-Founder; Johanna Moore, Head of the School of Informatics, University of Edinburgh; Jon Oberlander, Assistant Principal for Data Technology, University of Edinburgh Research is at the core of what IOHK does so I am extremely proud of the company’s achievement in launching blockchain research centres at two world-class universities in February. This is a recognition of the pioneering work that IOHK is doing in advancing the science of cryptocurrencies, producing research that will all be open source and patent-free and progress the industry as a whole.

We marked the launch of our [Blockchain Technology Laboratory at the University of Edinburgh’s](http://www.ed.ac.uk/informatics/news-events/recentnews/beyond-bitcoiniohk-and-university-of-edinburgh "IOHK and University of Edinburgh Blockchain Technology Lab") School of Informatics last week, which will be led by Professor Aggelos Kiayias, our Chief Scientist. It is Scotland’s first blockchain research partnership between academia and industry, and we are proud to open it at the UK’s leading university for computer science research. Starting immediately, the lab will train the next generation of cryptographers and computer scientists, from undergraduate to post doctoral and professor level. The lab will be interdisciplinary, bringing in experts from the fields that blockchain encompasses, from law to ethics, and from economics to distributed systems. The research centre will also serve as the headquarters for IOHK’s growing network of global university partnerships.

The lab will provide a direct connection between developers and researchers, helping to get projects live faster and will pursue outreach projects with entrepreneurs in Edinburgh’s vibrant local technology community. Recruiting and outreach will begin immediately, and the full facility will be operational from summer 2017, located in the School of Informatics’ newly refurbished Appleton Tower.

Professor Kiayias says: “We are very excited regarding this collaboration on blockchain technology between the School of Informatics and IOHK. Distributed ledgers is an upcoming disruptive technology that can scale information services to a global level. The academic and industry connection forged by this collaboration puts the Blockchain Technology Lab at Edinburgh at the forefront of innovation in blockchain systems.”

And it was only two weeks earlier that IOHK celebrated another significant deal, at [Tokyo Institute of Technology](http://www.titech.ac.jp/english/news/2017/037573.html "IOHK and Tokyo Institute of Technology blockchain partnership"), a prestigious Japanese university and a leader in technology. Our partnership with them in setting up a Cryptocurrency Collaborative Research Chair is the first time the university has done such a deal and we are honoured to receive this distinction.

Two of our top researchers, Mario Larangeira and Bernado David will be embedded into a team led by Professor Tanaka at Tokyo Tech’s main site, the Ookayama campus. The team, along with professors and graduate students, will tackle industry challenges in this rapidly developing area of research into cryptocurrencies and provide education for the Japanese market. The partnership also includes support for students and researchers to attend international conferences.

Charles Hoskinson and Yoshinao Mishima,
President of Tokyo Tech

Tokyo Tech President, Yoshinao Mishima, says: “This agreement is important because Tokyo Tech is seeking to enhance the collaboration with industries and universities in Japan and abroad by producing groundbreaking results in research and engineering which will be published in internationally renowned scientific journals and conferences.”

These launches are just the beginning of a global network of research centres that IOHK is building, to drive collaboration between the world’s best cryptographers and developers to create the cutting edge blockchain technology that will revolutionise the world’s financial services. Further centres are planned in the US, Europe and beyond. Expect more news this year and in 2018.

A Joint Statement on Ethereum Classic’s Monetary Policy

27 February 2017 Alan McSherry 3 mins read

A Joint Statement on Ethereum Classic’s Monetary Policy

I'd like to thank everyone from the Ethereum Classic community for their support. I'm really excited to present the following statement which is in reference to monetary policy for the ETC platform. The Ethereum Classic community has grown substantially since its inception in July of 2016. In order to further Ethereum Classic’s vision, the community needs to adopt a monetary policy that balances the long-term interests of investors, developers, and business operators.

This statement represents a collaborative show of support for the monetary policy proposed in ECIP 1017. As industry stakeholders, ETC community members, exchange operators, mining pool operators, miners, wallet providers, developers, the Distributed Autonomous Coalition Asia (DACA) and the China Ethereum Classic Consortium (ECC), and other industry participants; we are committed to jointly planning and implementing a road map to effect the future ETC monetary policy.

We have agreed on the following points:

  • We understand that a monetary policy has been proposed that establishes an upper bound on the total number of ETC that will ever be issued, and that this policy was the result of extensive discussions within the community. The policy also defines a method of reducing the block reward over time. It is available in English here and in Chinese here.

  • The new monetary policy sets a limit for the total ETC issuance. The block reward will be reduced by 20% at block number 5,000,000, and another 20% every 5,000,000 blocks thereafter. Uncle block rewards will also be reduced. Due to variations in the reward rate of ETC, we anticipate the total supply to be approximately 210 million ETC, not to exceed 230 million ETC.

  • We will continue to work with the Ethereum Classic protocol development community to develop, in public, a safe hard fork procedure based on the proposed monetary policy. ETCDEV Team will provide an implementation of the monetary policy for both the geth and parity clients after the hard fork procedure is agreed upon.

  • We will run consensus systems that are compatible with Ethereum Classic clients, which will eventually contain the ECIP 1017 monetary policy and the hard-fork, in production.

Based on the above points, the timeline will likely follow the below dates.

  • Geth and Parity clients that include the updated monetary policy are expected to be released in June 2017.

  • If there is strong network-level support, the hard-fork activation will likely happen around Fall 2017.

  • If the hard fork is activated, the first reduction in block reward will happen around December 2017.

Our common goal is to make Ethereum Classic a success. We believe that the community can unite and work together to achieve a sustainable global platform.

Together, we are:

  • 白洪日, CEO, 币创网bichuang
  • 陈刚, CEO, ETCWin & 91pool
  • 顾颖(初夏虎) Eric Gu, CEO, ViewFin & szzc.com
  • 郭宏才 Chandler Guo, Miner & Investor
  • 韩锋博士, Chairman, DACA区块链协会
  • 黄天威, CEO, 比特时代BTC38
  • 胡洪杰, Vice Chairman, DACA区块链协会
  • 李大伟, CEO, CHBTC
  • 毛世行, CEO, F2Pool
  • 徐刚 博士, Developer
  • 许子敬 Ryan Xu, Miner & Investor
  • 张淞皓, CEO, BTC123
  • 赵千捷, Vice President, BTCC
  • 邹来辉Roy Zou, Chairman, 以太坊原链协会 (Ethereum Classic Consortium)
  • Igor Artamonov, CTO, ETCDEV Team
  • Charles Hoskinson, CEO, IOHK
  • Michael Moro, CEO, Genesis Global Trading
  • Yates Randall, CTO, epool.io
  • Barry Silbert, Founder & CEO, Digital Currency Group & Grayscale Investments
  • Cory Tselikis, Miner Investor and Pool Operator, etc.minerhub.io & bec.minerhub.io

Mission one – Destination St Petersburg and Warsaw

22 February 2017 Jeremy Wood 3 mins read

Mission one – Destination St Petersburg and Warsaw - Input Output

Mission one – Destination St Petersburg and Warsaw

One of my first priorities after coming onboard with the Grothendieck team to take forward Ethereum Classic was to get out and meet colleagues and IOHK’s developers, wherever they might be. That meant making a trip to St Petersburg and to Warsaw, which was an excellent opportunity to meet face-to-face, and all the more valuable given that we are usually spread out around the world and across timezones. When I arrived in St Petersburg at the end of January to see Alex Chepurnoy, IOHK Research Fellow and Scorex Team manager, the temperature outside was hovering below zero degrees celsius. Lunch involved Alex and I walking across a frozen lake, where a guy was fishing through the ice and another brave citizen in swimming trunks was going for a quick splash in the lake’s icy water. Later, Alex and I put our heads together to look at Scorex and whether it would be compatible for our Scala implementation of the Ethereum Client. We got into detailed discussions on how consensus is formed in ETC and the differences between it and Scorex, before going on to consider the network layer, and I also learnt from Alex about some of the potential future attacks on Ethereum. By the end of the trip we concluded that Scorex was not the right fit for use on the ETC client, because Ethereum is specified to a much greater degree of detail than Scorex was designed to accommodate. It was a useful discussion to have. We also shared thoughts on the philosophy of how blockchains work and IODB, which Jan Kotek at IOHK has developed specifically as a blockchain database and which supports versioning and key value pairs. All in all, it was a productive trip, rounded off with a visit to the State Russian museum, which I highly recommend.

In early February I visited Warsaw, to get to know the part of the Grothendieck team based in Poland. They normally work from home, so we hired a co-working space in Warsaw. True to the spirit of remote working, we set up a laptop and the Grothendieck team’s Argentine contingent – Alan Verbner and Nicolas Tallar – joined online from Buenos Aires. It was a fun variation from our usual daily call to keep up to date.

So with the Polish part of the team – Radek Tkaczyk, Adam Smolarek, Lukasz Gasior and Jan Ziniewicz – we set out a timeline for our work on ETC and walked through all the functionality filling in gaps in each other’s knowledge as we went along. It was a very useful session followed by a well deserved team dinner and a beer (Thank you Pawel Marzec for organising!) On the second day, with the help of the whiteboard, we went through gas calculation, the architectural layer and architectural layering and components in the codebase.

Next stop, Argentina!

Authenticated Dynamic Dictionaries, with Applications to Cryptocurrencies

20 February 2017 Alexander Chepurnoy 3 mins read

Our paper "Improving Authenticated Dynamic Dictionaries, with Applications to Cryptocurrencies" will appear at the Financial Cryptography 2017 conference in Malta in April. It was also presented at the Real World Crypto 2017 conference in New York and I highly recommend watching the impressive presentation from Leonid Reyzin, professor of computer science at Boston University and one of the four authors of the paper.

Some background. Previously I worked for the Nxt platform which has assets and many more cool features. The problem is, the blockchain processing becomes incredibly heavyweight (considering the pretty low number of transactions, in comparison with Bitcoin) with new features added. The same problem with Ethereum these days - after the attacks in autumn, it is nearly impossible to wait until processing being finished on an ordinary laptop.

The problem is in a state (e.g. UTXO set in Bitcoin) persistence. Once it hits a secondary storage (HDD or SSD), processing becomes very slow.

Thus two considerations behind our work on AVL+ trees and a proposed scheme for cryptocurrencies:

  • It should be feasible to run a full-node (maybe not a mining node) on commodity hardware

  • Initial blockchain processing, and then block processing must use RAM only

As commodity hardware is pretty limited in RAM, the idea is not to store the state for full-nodes at all. The scheme is as follows:

  1. The state is authenticated with the help of a 2-party dynamic authenticated dictionary.

  2. A mining node is storing the whole state. When packing transactions into a block, it generates proofs of the authenticated state transformations and announces a new root hash after the transformations being done in a blockheader. Proofs are to be included into the block.

  3. A full-node receiving the block checks that 1) Transactions are correct (format and signatures are correct etc) 2) State transformation operations derived from the transactions are corresponding to the proofs 3) Proofs are correct 4) Resulting roothash (a verifier is getting it just by processing proofs) is the same as the announced one. Thus the node is checking everything, but without holding the state (e.g. UTXO set).

Then the paper is about to find a most efficient structure out of many candidates (and the winner is custom-tailored authenticated AVL+ trees).

Not mentioned in the paper but worth mentioning is that proofs in a block could be authenticated themselves (with the help of a Merkle tree which is perfect for static data) with a root hash included in a blockheader. Then if node is holding the state it could skip downloading proofs from the network, also there is possibility to prune them in the future (this scheme reminds me of the SegWit proposal for Bitcoin).

Proofs are adding a significant burden regarding block size (actually a proof can be longer than the corresponding transaction), so decreased throughput is to be considered seriously.

The code had been released on GitHub during RealWorldCrypto – see the section on authenticated data structures. There are some possible further minor optimizations (possibly reducing proof size by few percent in total) we are now discussing.