I Have Gambled and Lost Devcon5. Meditations on Why I am Here

I have to excuse myself for the inability to make a summary of this essay. This essay is long and I made it as short as I felt possible.

I Have Gambled and Lost

The poll was also posted on Reddit.

The outcome was:

  • $726.41. I needed $1500

All donations have been returned. I withdrew my participation.

Notice that 25 votes were against Pipeline, without giving any feedback as to why. This is a lot. I am inviting you all to tell me what I am doing wrong technically!

Why 200 Votes, Why 3 Days

Twitter Stats:

I chose 200 votes because I consider it to be a minimum threshold of interest, at least for user-facing projects presenting at Dappcon. Other types of applications may need less.

I chose 34% ($1500) from the Devcon5 estimated travel costs as the minimum threshold, because this would have signaled real interest from the community. I was ready to pay for the rest from my own pocket if the community wanted Pipeline to be presented. Otherwise, I could have spent up to $4500 to attend a conference where not enough people would be interested in my projects. Some would say that the exposure given by Devcon would be worth such a sum. Maybe for a company that has funds, but not for an individual. And exposure is not guaranteed — especially for workshops, which may not even be live-streamed.

Why 3 days? 3 days should be enough for an interesting project to gather attention and to go somewhat viral. There was also a deadline on September 1st, for submitting workshop presentations. I wanted to leave enough time in case another workshop would be given my spot, especially considering the Berlin Blockchain Week & ETHBerlin events.

Why So Last Minute?

One answer is: We did not have time to chase all sorts of funding options. Our time goes into planning and developing our ideas ( Pipeline, dType).

Another answer is: Where can we go to ask for funds for a project that wants to benefit Ethereum and not only a specific project? Our projects were created with the scope of enhancing interoperability between ecosystem projects. All of our efforts go into this direction. If the Ethereum community did not see value in them after all our demos and articles, it is highly unlikely that we would receive proper funding for the right reasons, even if we would spend our time applying left & right.

Post-poll Donations

Meditations on Why I am Here

What I Thought About the Ethereum Community

I thought that the people who started Ethereum appreciated and wanted to preserve these principles:

  • truth / transparency
  • decentralization
  • striving for perfection
  • righteousness / meritocracy
  • open collaboration
  • freedom of expression

And I am especially talking about those who started building Ethereum from the ground up. Without knowing that it will have success, without being paid at that time. I saw in the Devcon0 videos people who were idealists.

How I Thought I Could Help

Pipeline was created in an attempt to interconnect and make the projects collaborate with each other. I have presented Pipeline multiple times, including at EthCC Paris. Until now, there was no project interested in having its contracts represented in our database, so people or other projects can use them independently. None of the people that knew about Pipeline truly wanted to collaborate. Some expressed interest. Some mentioned integrating Pipeline into their product but offered no real developer support. Some wanted to hire me, but there was no action from their part to collaborate after it was clear that the IP would not be theirs.

This is expected capitalist behavior, with which I would not disagree in the context of our current society. But Ethereum promised to be different.

Saying that you want to collaborate does not mean you really have the intent to collaborate. It is the actions that matter.

dType was started as a tool for collaborating on standardizing data types across projects, using the infrastructure that Ethereum provides. We created EIPs for dType, so our intention was clear: we do not view it as only our project, we view it as a project for the community and we wanted feedback. No one told us it was a bad idea. Some gave good feedback. Some attacked our incipient implementation without having an intention to collaborate and help us improve. From all the people that, for some reason liked or shared dType & Alias ideas, nobody had the intent to act and collaborate on ideas, implementation, adoption.

From the dType principles, we published the Master/Cache Shard idea — how shards can collaborate with one another and cache some of their most-used content on this Cache Shard, to avoid expensive inter-shard communication for public good data. Aside from initial good feedback on the idea, 52 likes & 13 retweets, nobody expressed any intent of collaboration. We proposed dType for a Devcon5 talk, for the Eth2 track. It got rejected. I can, therefore, understand that the idea has little value for the Ethereum core developers. I never got a technical explanation as to why.

I am trying to figure out the reasons why Pipeline & dType are not truly appreciated. Given a community that respects the above principles and therefore acts in the best interest of Ethereum, one would expect that novel ideas or effort would be noticed and appreciated through some form of support — collaboration on ideas & implementation, grants, exposure, etc.

If the Ethereum community’s interests are moral, then the fault lies with me and my projects. But I would have expected by now to receive proper technical feedback as to what the faults are — and in more than 1 year working on these projects, I never got it.

If the fault is mine, then the Ethereum community as a whole has a fault too: it is not capable of giving truthful, technically sound criticism.

If the fault is not entirely mine, then what are the principles that govern the Ethereum community as it stands today?

These are honest questions because my next steps depend on their answers. I cannot continue to contribute as a volunteer to a community that does not share my values. But if there are signs that at least part of the community adheres to the above principles and is active in its intent to achieve interoperability between projects and collaboration across standards, I will continue.

What Are the Signs of Change?

Open, Easily Retrievable Data

There is no easy way to gather this data, so you can build on top of it. I started the ContractFinder project because I needed ABIs from deployed smart contracts, for Pipeline. And I open-sourced the data.

A common good project that solves this issue is EthPM. It was built as a tool to both open-source code and to aid in on-chain bytecode verification. There are only a few people working on it, with little support from other projects, which have not used it to publish their smart contracts data.

Transparency and Public Scrutiny

The process of adding new EIP editors is still unclear, with conflicting opinions and actions. No one wants to take the responsibility of writing such a process and at the same time, editors dismiss processes that are being proposed, without the intent of improving them, saying that a process is not needed, or would be too restrictive. In the meanwhile, things do not change and Draft EIPs pile up.

Hard forks do not engage the public enough. Yes, there is a limited number of people that truly understand the EVM and the problems that trigger EIP changes. And there are efforts from core developers to explain the effects of core EIP changes. But there is no standardized voting process to gauge the opinion of miners, developers, and users. You cannot have a well-formed opinion without this feedback. Stability, even for breaking changes can be reached through proper announcements and planning. The EF should support this process at least by announcing these voting events on all available channels.

The Ethereum Foundation’s processes are not transparent — from details about how it functions, who they employ, how much they pay their employees, to how it organizes Devcon, gives grants or handles the ethereum.org site.

How would a transparent process look like, for an organization that wants to change the world?

  • have clear-cut principles, put under public scrutiny and feedback
  • make the above information public
  • have a feedback system
  • make grant applications public, open to debate and voting
  • make conference applications public, open to debate and voting (pre and post-conference)
  • make it easy to contribute and expose your work at their events & conferences: tele/remote participation (not everybody has money for trips, not everybody wants to be tied in sponsorships, it is less costly), tracks with 5-minute pitches from projects that are good but did not make the cut
  • use a meritocratic system, to protect from spam — at least start with ecosystem contributors
  • have clear processes and deadlines, announced in advance, so you can plan

For Devcon, imagine being able to present your project or participate in important discussions from any place in the world.

Decentralization does not work without a meritocratic system in place — either public votes, effort & idea contribution points, even money contributions. But Ethereum has been building tools for these issues for years. Why is the EF not using them? How is the EF expecting that others will use them if they themselves don’t?

For the sake of being transparent:

  • I applied for Devcon5 with a Pipeline workshop (accepted) and a dType + Master/Cache Shard presentation for the Eth 2.0 tract (rejected without feedback)
  • I applied for an ECF grant for Pipeline in October 2018, where the only feedback was: we need to see interest in Pipeline from the community; no other technical feedback, no other offer
  • Gitcoin wanted to discuss a grant for Pipeline in December 2018, but by that time we decided to work more on our vision and planning, to make sure we receive grants for the right reasons: our tech
  • I applied for an EF grant to improve the existing ContractFinder in June 2019, entered the interview process on August 14th and was rejected without a clear technical reason, other than — you should collaborate with another project that is just starting now (I open-sourced our +4000 contract data; I think that is a good collaboration start)

What bothered me in the above interactions more than the refusal was the lack of clear feedback. If your project lacks technically, you want to know it. If you are going to be refused, it should not take 2.5 months to know it. And if the decision of awarding a grant is based on being supported and known by popular projects and persons inside the community, then why are you not having interviews directly with them?

I was not asking for money as a beggar who does nothing in return. I already put in $50,000 of personal effort into ContractFinder (part of Pipeline) by the time of this grant application. I was only asking for future expenses to be covered, for a production-ready version that would enable other Remix plugins to use it.

You can deny me the money, but at least show respect for my time and technical effort.

At this point, I decided to not apply for any other grants in the space. The little feedback that I got was clear: others need to acknowledge my work and think it is valuable. If so, they should propose to fund it.

This leads me to the following conclusions: The current grant system works well for companies. There is no reason for companies to disclose their grant applications because their interest is clear: the application needs to help the company and promote its brand.

EF is not a company. The existence of EF implies that it has the best interest of Ethereum at heart.

How should grants work for an organization that wants Ethereum to evolve?

It should scout projects that help & share the EF’s principles and offer support. Support can be anything from grants, development help, to exposure. But not alone. Such an organization should make its actions transparent. It can have a location where anyone can propose projects which follow Ethereum’s principles, discuss and debate them and also vote on them. For technical scrutiny, the organization must have proper hires to review proposals and leave technical feedback.

Less Unearned Profit

The price’s ups and downs make it a wild west market for short term traders. Their only purpose is short term gains, at the cost of the long term vision. The HODL movement was a good start, but greed is ingrained in us and tarnishes Ethereum’s reputation. The effects of this mindset go deep into the minds of developers and change their intent and project ideas.

So my unpopular opinion is: if it is unearned, it will destroy your moral backbone and slowly corrupt the entire ecosystem.

Collaboration

The EIP process represents a core principle of Ethereum: consensus/collaboration. And the EF does nothing to support or improve it. They can pay some of their employees to offer (limited) technical feedback and help EIPs get in shape, so it is easier to reach consensus. They can announce on their channels that EIP editors are needed and what are the requirements for this.

I know the EF practices subtraction, but has anyone asked the Ethereum community?

However, there are few EIPs, proposals or projects that target project interoperability.

Good examples of projects that promote common standards and collaboration across projects and dApps are WalletConnect and Remix. WalletConnet is a protocol — it abstracts wallet-dApp communication, so any wallet can interact with any dApp in the same way, through a QRcode and this is gold for mobile wallets. The new plugins system from Remix enables plugins/dApps to collaborate with one another, not just with Remix. I would like to know other such examples if they exist. They deserve promoting.

But Ethereum remains mostly a collection of enclave projects, each following their own personal interest. If a developer wants to interconnect multiple projects, said developer needs to know each project’s custom APIs and ABIs after looking through pages of documentation. This is not scalable and will not amount to global infrastructure and general machine readability. Ethereum projects are making the same mistake that Web2 did.

Ethereum does not have mechanisms for achieving community consensus. Ethereum has Reddit, Twitter and GitHub.

The Ethereum community is bad at giving feedback. See those 25 votes against the Pipeline workshop without any written criticism. Feedback is crucial. It pushes you to do better.

Ethereum does not have systems for agreeing on data types used across projects, in the EVM. Still, dType is the only EIP proposal of this kind and there was no interest in it.

If Ethereum cannot acknowledge better design solutions and integrate them, they are in the same position as Bitcoin is with Ethereum: not recognizing a superior solution — which is a morally and intellectually corrupt point of view. One such example is Libra/Move’s resources and typed bytecode, which attested the need for rich types inside the EVM — and it gave me confirmation that the dType project is valid and needed.

Moving Forward

To those that offered to hire me: after seeing the general effects of ICOs and enclave projects, I am reluctant to say yes and then find out that I am not working for the benefit of the Ethereum ecosystem, as I see it. I would rather see The World Computer come to life.

But, I will not rest. I will soon expand on the new generation of interoperable & composable dApps and I need your help to discuss the idea.

I have gambled and lost my participation, but I gained a vision of what Ethereum could become. Would anyone of you share into this vision?

Building bricks for the World Computer #ethereum #Pipeline #dType #EIP1900 https://github.com/loredanacirstea, https://www.youtube.com/c/LoredanaCirstea