July 29, 2024 3:16 pm

Why did Dash Evolution take so long to release?

Disclaimer: I am writing this in good faith as an explanation from a personal point of view on why it took Dash Evolution so many years to be released since it was first announced back in 2015. For context, I have been around in Dash development for a long time, as a very part time contributor from 2015 to 2017, then as head of mobile team from 2018 until I became CTO in 2021. I participated in some conversations with our founder when Evolution was conceived, and even though I did not actively contribute to Evolution until late 2020, Iโ€™ve witnessed its entire lifecycle up to this point. In this blog post my goal is not to diminish the efforts of any previous contributor, but to honestly lay out things as I saw them unfold.

So why did this take so long to build?

Short answer:

Multiple development teams took a crack at it. Almost all of what is being released was built after I became CTO in 2021. The current team, mainly people who were hired by myself, have delivered it. The amount of work accomplished in just 3 years by our team is quite impressive.

Long answer:ย 

Dash Evolution development took place generally among 5 eras.

Era 1 (2015 – mid 2017): Evan Duffield + small team. After Evan Duffield, Dashโ€™s founder, announced Dash Evolution back in 2015 he got to work trying to build it, his original approach had some merit, he decided to use an SQLite Database on all masternodes to try to store data that could be accessed by the network.

Characteristics of Era 1:

  • Project was not well defined, but had a vision.
  • Development was ad-hoc and not managed.
  • DCG was not incorporated.
  • Masternodes were not on chain.
  • ~5-10 volunteer or part time devs.

Opinion: Not much work actually took place on Evolution. I was a part time contributor, mostly for iOS development.

Era 2 (mid 2017 – mid 2018): Andy Freer (transition to CTO) + Ryan Taylor (transition to CEO). Andy Freer took charge as the new lead of development. During this phase many ideas came into existence.ย 

Characteristics of Era 2:

  • Evolution started to be defined. This was an ideas phase.
  • Data contracts and state transitions, foundational concepts that are still around, were conceptualized.
  • Development was still ad-hoc and only minimally managed.
  • DCG as a structure was created.
  • Trust protector system was created.
  • ~5-10 -> ~15-20 or so part time devs.

Opinion: Many interesting ideas for Evolution, but not enough technical competence to build them. Decision to use MongoDB and Javascript which were bad architectural decisions. Lack of implementation progress. Many wasted efforts.

Era 3 (mid 2018 – mid 2021): Bob Caroll (CTO) + Ryan Taylor (CEO). Bob Caroll was hired as CTO and worked on bringing stability to our teams. During this phase very ad-hoc development became structured thanks in part to efforts by our COO Robert Wiecko.

Characteristics of Era 3:

  • Heavy amount of hiring in 2018.
  • Division of 4 main teams:
    • Core team: responsible for Core Blockchain development
    • Mobile team: responsible for Mobile wallets (I was head of mobile team)
    • Platform team: responsible for the delivery of Platform
    • Dashpay team: responsible for the delivery of Dashpay mobile app.
  • Many non development teams (Marketing, Strategy, Business Development).
  • A Dashpay team existed but did not deliver.
  • Training team on agile practices, teams became managed.
  • Many external partners.
  • Core team delivered many innovations, including long living masternode quorums, chain locks and instant send.
  • Decision to build a new blockchain for Dash Evolution.
  • Decision to fork Tendermint, change the consensus mechanism to SBFT and call it Tenderdash, start of development. (2020)
  • Mobile team delivered Dashpay (not activated as no Evolution on Mainnet).
  • Proof of concept releases: Evonet and initial Testnet.
  • Team size between 35 and 50 people. About half are part of development.

Opinion: Many things that looked good on paper happened in this era, but we had very bad technical foundations for Evolution. Some people worked very hard for very little achievements. This period had a very large number of meetings. The Core and Mobile teams however did very well with the Core team laying the foundation of the future consensus that will drive Evolution.

Era 4 (early 2021 – March 2022): Samuel Westrich (head of mobile team -> interim CTO -> CTO) + Ryan Taylor (CEO): After losing faith in the ability of the teams to deliver, I decided to do my best to build things myself. I started by building out the consensus mechanism that I saw that was needed in Tenderdash. This received very positive feedback, so I then put forward my vision for both the project and delivery.

Characteristics of Era 4:

  • Heavy amount of hiring.
  • Decision to build GroveDB and start of development in December 2021.
  • Decision to gradually transition development from Javascript to Rust.
  • Decision to make Evolution into a full Web3 solution.
  • Decrease in team size.

Opinion: Dash Evolution development was not going well. Since I really believed in the overall project I decided to step up because I knew that more bad decisions could mean the end of the project. I inherited a very bad technical architecture coupled with promises to our community that the launch would be right around the corner. In 2021 and 2022, I had not yet fully realized how bad things were and only gradually understood. Most of the development existed in Javascript and Javascript is not a language suited for blockchain development. It was understood that a complete rewrite would take years. The technical team with me leading them decided to keep a part of the project in Javascript and the other part would be in Rust, with GoLang being kept for Tenderdash. At this time I trusted team members who believed such an architecture would work.

Transition between Era 4 and Era 5: In February 2022, our previous CEO Ryan Taylor resigned during a time where a sizable fraction of the Dash community expressed through voting their displeasure with the direction of DCG.

Characteristics of the transition period:

  • Less focus on marketing and business development.
  • All DCG board members except myself resigned.
  • Many other non technical departures.

Opinion: This transition is actually quite important. Before this event, almost all decisions I took needed to be justified and led to many meetings. There was a constant pressure to release fast, but in my opinion that pressure came with no long term vision on the health of the project.

Era 5 (February 2022 – now): Samuel Westrich (CTO) + DCG Board: This is the time where the vast majority of development took place.

Characteristics of Era 5:

  • Heavy development effort.
  • Leaner team and departure of most of the Era 3 Evolution developers.
  • DCG became in late 2023 a tech focused organization due to budgetary necessities.
  • Specialization of developers into zones of expertise (Tenderdash/Drive/GroveDB/SDK).
  • Most Platform related architectural decisions were made by myself.
  • Full transition away from previous less than optimal architecture.
  • Delivery of Platform.

Opinion: Obviously since I was leading development efforts during this time I will have a biased opinion of this phase. During this phase there were many very heated arguments about the architecture of Platform. I would often silo myself and work like a madman to prove to others that systems that I devised would work. I believe many team members adopted a similar approach, driven by our shared commitment to success. Ultimately, these efforts were rewarding. While I am confident that my architectural guidance and substantial development contributions were critical to our success, they were just one piece of the puzzle. The completion of Evolution was a result of a strong collaborative effort and would not have been produced if not for the amazing contributions from many of our team members. We have successfully delivered the project and laid an excellent foundation for future work. Letโ€™s start Era 6!


About the author


Samuel Westrich

CTO, Dash Core Group