Michael Parsons FCA - Chairman of the Cardano Foundation
22 July 2016 Charles Hoskinson <1 min read
The first Scorex-based testnet, Lagonaki, combines the Permacoin consensus protocol implementation with a simple, Nxt-like payments module. After Lagonaki, the next Scorex-based testnet will be Ergaki, a block chain system that will be used as a public and performant bulletin board for various protocols including voting and auctions. The components of Ergaki are the following:
A new Proof-of-Work scheme based on RollerChain. By default, nodes will follow a "rational behavior", and will remove blocks that are not needed for Proof-of-Work mining. Potentially, a scheme like Ghost/Spectre or Bitcoin-NG/ByzCoin will be used to increase the system's troughput.
A new transactional module where state will be comprised of boxes. This transactional model will be different from that of Bitcoin, therefore there will be no stack-language scripts.
A new fee model by which mandatory fees will not be based on transaction size but on state increment. For example, a transaction that is lowering the state size would have a minimal or no fee at all. In addition, the storage of boxes in a state will incur fees not only based on size, but also based on life timespan also, with a possible exception for a box of some minimal size. So, unlike all other blockchains, it would be not possible to store anything in the Ergaki blockchain forever by paying only once.
A new improved difficulty-adjustment algorithm. A white-paper on that is basically ready and will be published before the release of Ergaki.
The IOHK Scorex team will test the Ergaki testnet on some applications by using a large testbed against a private Ethereum network. The goal is outperform the latter by the orders of magnitude.
Ergaki is planned to be released in September, 2016.
A Scorex application is comprised if core, and Scorex itself is the core functions and module interfaces, and modules. The current testnet, Lagonaki, is made of Permacoin consensus protocol implementation and a simplest Nxt-like payments module. Next testnet release will be called Ergaki. It will be truly experimental and innovative blockchain system intended to be a performant public bulletin board for different protocol(voting, auctions etc). What will be inside Ergaki?
New Proof-of-Work scheme based on RollerChain. Rational behaviour will be switched on by default, so a node will remove blocks not needed for Proof-of-Work mining. We are also thinking about increasing throughtput with Ghost/Spectre or Bitcoin-NG/ByzCoin scheme.
New transactional module. State will be comprised of boxes, transactional model will be different from Bitcoin, so no stack-language scripts.
New fees model. Basically, a minimal mandatory fee will be not calculated based on a transaction size, but on state increment. So if a transaction is about state size lowering, it is about minimal or no fee at all. And storing boxes in a state will be charged not for size only, but for life timespan also(with possible exception for a box of some minimal size). So, unlike all other blockchains, it would be not possible to store anything in the Ergaki blockchain forever paying only once.
New improved difficulty adjustment algorithm. A paper on that is basically ready and will be published before release.
We will test Ergaki on some applications using large testbed against a private Ethereum network. The goal is outperform the latter by the orders of magnitude.
Planned testnet release time is about September, 2016.
After reading Mike Hearn's farewell letter to the community, I've decided to finally draft my thoughts on the blocksize debate, but first a few things about Mike. Hearn, joined the Bitcoin community back in May of 2009 and has been an active contributor for as long as I can remember in some capacity or another. He's also an incredibly bright and creative person who brought a lot to this ecosystem in its earliest days.
The point of decentralized systems is never to reach ubiquitous consensus about truth. Settling upon a final truth is pyrrhic at best and almost certainly a sisyphean endeavor. The goal is to facilitate the free flow of ideas and provide an effective framework to actually test them with something at stake.
Mike was a voice for a certain philosophy and regardless of whether you feel that philosophy is correct, it is a terrible tragedy that our community descended into the murky swamps of censorship and personal attacks. I will miss Mike and want to extend a profound thank you for all he has done and good luck on future projects.
All this said about Mike's contributions and positive influence on the space, I would be remiss if I didn't comment on his core argument that the Bitcoin project has failed. It's not only wrong, but utterly offensive to the thousands who have contributed weekends, painful explanations about the nature of money to their friends at bars and the repeated scorn of having to endure the scams, exchange failures and regulatory misunderstandings.
Burt Wagner was arrested for legally selling bitcoin and had to spend his life savings to have the State of Colorado accept its own laws. He's still in the Bitcoin space. Many of the thousands affected by the collapse in MtGOX are still in the space. There are hundreds of meetup groups actively evangelizing, onboarding their local communities and coming up with creative solutions to various problems. A colleague of mine even paid for a recent meal at the Shard with Bitcoin thanks to the magic of Xapo (American beef is still better :) ):
|Mike thinks we don't matter :(|
|In Pounds; Paid in Bitcoin|
|Mike thinks we don't matter :(|
So Mike I'm terribly sorry that you lost the XT fight and it's definitely true that it wasn't a fair fight, but don't take your anger out on Bitcoin the experiment nor the Bitcoin community:
|Darth Vader on Mike Hearn|
Some Basics About BlocksizeNow on to blocksize, there is already a great deal of detailed content floating around the interwebs on the various issues thus I will quickly summarize the crux of the matter. Bitcoin blocks have an arbitrary size cap of X MBs and each transaction takes on average Y bytes. As the network grows, we will (and have) hit this cap and the result will be an overall reduction of performance, reliability and robustness of the Bitcoin network.
So how does one resolve this seemingly intractable problem? The naive and kicking the can down the road solution is simply to increase the blocksize from X to a new arbitrary amount- say X(1). If Bitcoin continues to grow, then we'd have the same debate all over again in a few months or perhaps years (see US Debt Ceiling Debates). This said, one could develop either an algorithm to scale blocksize via some set of network parameters or increase it at regular intervals similar to how coinbase awards are cut in half every four years.
One could also increase the rate of block production (referred to as the block interval). There have been several proposals to do this in a way that wouldn't increase the amount of stale blocks and Ethereum even implemented one called GHOST developed by Zohar and Sompolinsky. The basic concept is turn Bitcoin's blockchain into a directed acyclic graph from an append only linked list. This path is reasonable, but doesn't resolve the issue of data bloat (more on this later).
We could approach the problem from the other side by examining transactions. Again the most naive approach is to reduce the size of transactions from Y to something smaller say Y(1). Again this approach doesn't solve the fundamental problem that future growth will push blocks to their cap.
Along the same line of thought, one could create a mechanism to gradually retire transactions (called pruning) or reduce the amount stored on chain. There have been some interesting ideas proposed like segregated witnesses and Pieter Wuille has been a great mind in considering pruning. It's a nice efficiency improvement and something that could definitely help the network, but again doesn't solve the core issue of long term growth.
Finally, one could push transactions off-chain so they don't appear in the Bitcoin network at all or eventually in a reduced form. This idea is seen in efforts like the Bitcoin Lightning Network and the Sidechains project. It's the most politically friendly of all proposals as there are already many projects exploring how to facilitate the offchain infrastructure without necessarily requiring a fork of the Bitcoin protocol (or at least a dramatic hard fork). As a side note, It's probably not an accident that a large pool of the Bitcoin core developers happen to work for the company spearheading these approaches.
|Blade Runner's take on Transaction Pruning and Off-Chain Solutions|
I recall the argument to get merchants to adopt bitcoin is to use services like Bitpay, yet then we go back to the solution to asset volatility of our decentralized network is to connect all the merchants to a centralized service provider? The same applies for transaction scalability solutions for the Bitcoin network. Seek decentralization wherever possible!
|What the Bitcoin movement is trying to do in a nutshell|
Solutions in a Technological Context
|I created this graphic on Gliffy. Gliffy is pretty Spiffy!|
All the parts are wired together with some form of crypto. The block body is connected to the header via a merkle tree data structure. The headers are wired together via hash pointers. And proof of work provides a mechanism for validating a given collection of blocks (the proposed blockchain) is the correct one via the notion of algorithmic weight (the proposed chain with the most work wins).
So we have been given a menu of options to change the core protocol to reflect the goal of more transactions. Increasing the blocksize makes the block contents heavier (larger merkle tree), but has no impact on the block header. It's an interesting question to consider the impact of larger blocks on block propagation times. I'd highly recommend this excellent paper studying propagation in general by Decker and Wattenhoffer.
Reducing the block interval will likely involve changing the structure from a single hash pointer to multiple hash pointers to different blocks, but no impact on the block contents. Inclusion of double spend transactions and longest chain selection rules are the topics of primary interest here. I'd recommend two papers to get a deeper understanding. First, Sergio Lerner's DAG-Coin proposal and then Lewenberg et all Inclusive Blockchain Protocols.
Pruning means that over time certain leaves in the merkle tree should be removed or perhaps even entire blocks replaced with different representations. It's also interesting to consider what other authenticated data structures could be put into the block headers to improve scalability or better facilitate pruning schemes without compromising trust. The Bitcoin wonderkid researcher Andrew Miller has done some foundational research with Katz and others.
And finally off-chain means that we are effectively wiring something more onto the block via the header or more likely in the block contents. The concept here is separation of concerns and layering. For example, rootstock is discussing how to do smart contracts via a sidechain of bitcoin. This area reduces the need for whole sets of transactions by simply having them done outside of the main Bitcoin blockchain in different domain. It also modularizes the set of things a client has to download.
The Hidden Demons Behind the DebateThe original design of Bitcoin was to have a completely decentralized network of equal actors with no barrier to entry for participation. Mining was done on ordinary CPUs (in fact Satoshi mined more than a million bitcoins using CPUs). Maintaining a full node wasn't a serious commitment. It was less taxing than running bittorrent with a few HD movies.
The separation of block headers from the block contents does suggest a path to heterogeneity via light nodes holding only the header collection; however, again this action isn't forced upon anyone.
Now enter 2016, Bitcoin is a very different animal. The Bitcoin blockchain has grown considerably. Mining is heavily centralized:
|These Guys Own More than 51 Percent of the Mining Power|
|Totally not trying to co-opt the ecosystem!|
I feel that this debate has exposed more than certain people's inability to work productively with each other or the need for a new set of reddit moderators. It has exposed that Bitcoin is basically at a philosophical impasse. There really isn't a clear direction for the Bitcoin ecosystem to take. Is it supposed to be the ultimate payment system with a super cool deflationary digital gold coin backing it? Is it a settlement layer for many systems to eventually clear upon? Is it the arbiter of digital truth providing a cryptographic beacon, notary services and a logical clock? Is it a system for decentralized governance?
Fair arguments can be made for any of these directions and there is a legion of good tech to sneak into the protocol to make Bitcoin better suited for these tasks. In general, Bitcoin could basically be the entire financial stack:
|Bitcoin could be the whole stack|
Should Bitcoin be blind and deaf to other systems and cryptocurrency or does it need to talk to them on a regular basis? Are we going to tokenize all assets like gold and USDs and trade them in a decentralized network? Or are we going to trade them on exchanges and move them between exchanges using some connection to the Bitcoin blockchain? If there is a dispute, then is arbitration connected to the data held on a blockchain?
Each of these questions and the hundreds more have a dramatic impact on what needs to go into a transaction, how of many per second we need to include in the Bitcoin blockchain and also the intended set of users. Let's be intellectually honest, have we answered them? Where do you even go to start that process? Who gets to decide?
In effect, we don't have a blocksize crisis, we have a governance and philosophy crisis. And the pain will continue until this crisis has been resolved either out of some cabal gaining control of the network or by a new mechanism to decide things in a decentralized manner (See DAOs).
My Proposal to Solve the DebateSince everyone has a proposal, I might as well throw my hat into the ring. First, we need to solve the immediate crisis at hand. Let's take Kryder's Law of storage growth and combine it with Nielsen's law of bandwidth to produce a reasonable rate of block growth in regular intervals. The basic idea is that blocks will grow at a rate that scales with local storage and the rate of bandwidth increases of internet connections.
Second, adopt the plan devised at the scaling bitcoin conference. It's reasonable and doesn't require dramatic action. Segregated witnesses in particular are a very solid concept. Furthermore, scaling bitcoin should really be a bi-annual event moving forward- get people talking to each other on a regular basis.
Both of these actions will take the pain off of the network and give us some breathing room. We have to then move on to phase II, which is investing in some foundational technology to radically improve the entire network.
- Sidechains is a fundamentally sound and reasonable idea. It's a conversation about getting blockchains to talk to each other and move value without needing special actors. The project is also incredibly well funded and backed by some of the best people in the space. Sprinkle some soft fork on that shit. In the absence of soft forking, BTC-Relay is pretty cool.
- Reducing the block interval is a really good idea. Ethereum's implementation of GHOST serves as a great example of a path to do this and the researchers behind DAGs are solid people. Faster settlement with the same level of security as the slower interval is frankly good for us all.
- Change Bitcoin's consensus algorithm from proof of work to something else. Mining centralization is a problem. The original idea was that the network was to be secured by many different people not a small cabal of anonymous mining corporations floating around Asia. Furthermore, we have a lot of cool things that can be done with different consensus algorithms like voting and allowing for many assets to exist concurrently on the Bitcoin network in a scalable and mobile friendly way.
- Invest in Blockchain sharding. There is an interesting project by Professor Shirer that has some legs. The point here is that Bitcoin's data model is 1 byte requires N bytes of total storage with N being the set of full nodes. It's terribly wasteful. Increase the dataset from D to D(1) via erasure codes and then chop up the blockchain into reasonable sets of shards. We could have a many petabyte blockchain that is in 50 MB pieces. Changes to Bitcoin's consensus algorithm and fundamental data structures could dramatically help here.
- Develop more productive federation technology for service providers in the Bitcoin space to interact with the Bitcoin blockchain. The reality is that we'll still have a lot of services off-chain entirely for privacy, cost or performance reasons, but we shouldn't have to completely trust the people running those networks. Ideas like Pavel Kravchenko's Infraproject and Blockstream's Liquid are movements in the right direction as are concepts like proof of solvency.
- Create a mechanism to incentivize data relay on the Bitcoin network. As the network scales, there will be enormous amounts of data floating around and it needs to be economically optimized or else you'll have centralized hubs acting as relays to millions of dependent nodes. Eric Lombrozo has been a great voice of reason in this respect.
Until the development of Bitcoin is free from outside corporate influences, it can't be discussed in an objective and fact based way, and the stakeholders of the system are able to decide instead of a cabal of well capitalized actors, we aren't going to gain the resilience of the crowd.
This phase is probably an innovation of the size and scale of Bitcoin itself and thus is unlikely to materialize immediately, but organically over a collection of hundreds of experiments. And like Bitcoin, it would fundamentally change the very nature of organizations, their mandate and the flow of funding.
Thanks for Reading!
I've been thinking about the Bitcoin Foundation over the last few months. After I left as the first chairman of the education committee back in late 2013, I dismissed the Foundation as a mostly inept attempt by some business interests in the community to gain an edge over their competitors. The actions of Peter Vessenes and Mark Karpeles alongside the board's indifference to the Foundation's membership as well as the mainstream Bitcoin community made it seem likely that the Foundation would simply go bankrupt and collapse under its own weight like a great battleship built for a war that would never happen and then left to rust in neglect (see I can be poetic too). Sure enough, they are functionally bankrupt having burnt through about 7 million dollars worth of Bitcoin (they even spent a million dollars on that spiffy Amsterdam conference!).
So why the sudden interest after my self-imposed exile? After traveling extensively throughout the world, I've notice that there is still an impression internationally that the Foundation is relevant and in some way represents Bitcoin- especially among the international press. It's not accurate and probably similar in spirit to the headlines stating Bitcoin's CEO has been arrested.
We also have a larger, but somewhat related problem that the blocksize debate has made blatantly clear- governance. It seems nearly impossible to get the community to agree on anything outside of trying to increase adoption and the underlying value of the bitcoin token.
Hence, I think we have an opportunity to solve two problems at once. The Foundation can be productively reborn preventing another media boondoggle and at the same time we have an excellent opportunity to explore new types of governance, algorithmic regulation and social consensus.
So assuming it's somehow a good idea to rebuild the Foundation (I fully agree that there are solid arguments to simply let it burn), let's explore what it would take to do so. As a side-note, I would be equally happy with seeing the Foundation shutdown if it didn't harm the Bitcoin brand and community.
First, the Foundation has lost any form of legitimacy. It's broke because prior leaders looted it. It's undemocratic by forcing out elected board members and replacing them with appointed ones. It's utterly unable to listen to outside opinions and conduct basic affairs such as managing board meetings, elections or produce a viable road-map.
Thus these issues need to be corrected before any future progress can be made. So let's start with an independent audit of the Foundation's books, relationships and accomplishments. Hire an auditor paid from an outside pool of capital (hell I'll throw some money into that fund) and give him a mandate to do the following:
- Build a timeline of all major events since the Foundations inception
- Provide detailed financial records on the Foundation's expenses and income
- Annotate all business relationships the Foundation has had since its inception and their association (if any) to current and past board members and executive directors
- Provide an HR database of all personnel that the foundation has retained and their compensation. Also build a social graph showing the relationship between the Foundation employees and the board members past and present including if they worked for or with the board members in previous or current ventures
- List the major efforts the Foundation has embarked upon and rate their success based upon the Auditor's best judgement and whatever objective metrics can be established
- Give each executive director- past and present- an opportunity to write an explanation for the findings of the auditor.
Here's what an audit accomplishes:
- It divorces the Foundation from its past by bringing everything out into the light and exposing any corruption from past or present leadership. If anyone is responsible for criminal acts, then they will be exposed and I'd hope prosecuted
- It acts as a basis for the Foundation to re-engage the Bitcoin community. The Foundation can say ok this is what we did wrong so tell us how we can be better in the future?
- Those who are asking for the Foundation to be shutdown can now have a fair debate. The audit will provide an independent assessment of where the Foundation has been and what it has accomplished given its resources
Second, let's say the Foundation somehow survives an audit and the community -or a wealthy patron(s)- seeks to continue the Foundation's existence, then the next step is to solidify the organization behind a new mission and values. This action is a wonderful opportunity to work with several ventures such as Colony and Boardroom focusing on DAOs and other algorithmically enforced structures of governance.
But it's natural to ask to what end? I don't think Charles Hoskinson should decide that. More to the point, no one person should. Instead let's make proposals and draft a candidate constitution. Then have the Bitcoin community vote on proposals. In my view, the core value proposition for continuing the Foundation is to experiment with technology that allows for decentralized governance. If the Foundation should continue under an unelected or pseudo-elected board, then just shut it down. We created Bitcoin to get away from these things.
This process could be amazingly beneficial. It- like Bitcoin was and still is- serves as an experiment driven by a well intended community instead of the mandate of an overlord seeking power or control (also drop Satoshi from the board, it's insulting). We would also gain tangible data on how to discuss controversial ideas within a productive framework with the aim of eventually reaching a community consensus (can you think of any debate Bitcoiners are having right now?). Finally, the community can also explore how to regulate a custodial entity using cryptography instead of trusted founders (wow, think of all those smart contracts and prove of solvency proposals that people have been preaching about- someone call Peter Todd!).
And now comes the objection: But Charles there isn't enough money to do this stuff! And I say: Aren't Mirror, Coinprism and other Bitcoin companies incredibly well funded, and don't they need a good showcase for their tech? Wouldn't the good press and community goodwill serve as excellent advertisement for their platforms?
Money is never the issue. It's vision and the ability to forge partnerships around it. If the current board can't accomplish this task, then fire them or shut the whole thing down. I'm extremely tired of hearing that we can't accomplish something. The entire point of Bitcoin has been doing the stuff that people have been saying we can't do on a consistent basis.
The argument above showcases my primary issue with the Foundation. It just doesn't lead. It lacks any notion of a vision or a purpose. Let's not blame them for it. Let's just install one that benefits the entire community.
Third, let's discuss management and global representation. Traveling around the world, I've had the privilege to meet some exceptional people from Switzerland to Japan. I'm headed to Argentina next month and will have a chance to spend some time with one of the most passionate Bitcoin communities that you can find. It utterly disturbing to see the passive level of commitment that the current (and former) members of the Foundation's leadership have outside of Bruce and a few others.
There are legions of Bitcoiners who would work with the Foundation full or part time with both enthusiasm and zeal if only given a chance. If the Foundation is going to continue existing, then it should reach out to the existing Bitcoin communities. More specifically, the Bitcoin meetup groups. They are run by passionate volunteers who love this space, the technology and its rich philosophical roots.
The Bitcoin meetup groups are also largely responsible for Bitcoin's growth from a novel technology to a global movement. I'd love to see the Foundation serve as a hub connecting them together and recruiting from within their ranks on a global basis. When people are given a great vision and a purpose, they aren't motivated by money to do work. The open source movement has proven this truth time and again.
Alright, so in conclusion, audit the Foundation, turn over any evidence of criminal conduct to the relevant authorities, draft a constitution via community participation, govern using tech from well funded Bitcoin startups, and link all the Bitcoin meetup groups together to act as the execution engine, talent farm and source of great ideas (See Social Physics).
It's really not that hard to accomplish something great. It just takes vision, persistence, honesty and leadership. If the Foundation has it, then it should survive. If it doesn't, then don't worry it will eventually collapse.