Æternity blockchain is an Erlang-based scalable smart contract platform engineered to address some of the most fundamental challenges native to earlier blockchains using Proof-of-Work. Æternity are investigating the integration of hyperchains, allowing Proof-of-Stake chains to be integrated into Proof-of-Work chains, leveraging the strengths of both approaches whilst mitigating their weaknesses.
Erlang Solutions proposes to research, prototype and develop a hyperchains solution which will integrate in the æternity blockchain platform. Each phase will provide guidance, input and estimates on to the next phase.
The current blockchain market is dominated in terms of number of nodes by networks such as Bitcoin and Ethereum. While through their extension they provide a strong level of security, neither of these networks offers satisfactory features to a demanding market which is longing for low price, high throughput, low latency and a fair decentralised governance.
A variety of side chains bound to these two dominant chains have managed to introduce part of these attractive range of features to the market without compromising on the inherent security threats that smaller networks are exposed to. Such offers have greatly contributed to their widespread adoption in a variety of use cases: fintech, gaming, digital collectibles etc… The discussed phenomenon has reached an extent that one of this year’s dominant themes is in fact the chase for cross chain interoperability.
This is the scenario in which, at present, a window of opportunity exists for æternity to gain traction on the market. Its high quality code base encapsulated in an appropriate set of APIs will unleash the potential for the technology to be swiftly reassembled in a variety of forms in response to existing market demands.
We see a potential to experiment on a number of consensus models including but not limited to proof of stake and byzanthine fault tolerant. These networks can be delivered in a permissionless or permissioned fashion at a competitive time to market.
The hyperchain is one of the most attractive formulas that combines a feature rich consensus model with the underlying POW strength of widespread networks, ensuring that there is virtually no compromise on security and decentralisation.
Erlang Solutions consists of a talented team of software experts, passionate about Erlang & Elixir and with an unwavering belief in the open-source future. We’re a safe pair of hands; one that liberates our partners from operational complexity so they can focus on their business growth. It’s simple, we help keep our clients’ businesses moving by building trusted, fault-tolerant systems that can scale to billions of users. Our Erlang & Elixir expertise is the backbone of our clients’ operations.
Erlang Solutions has been involved in a number of commercial engagements in the distributed ledger technology space, ranging from the contribution to the blockchain core R&D for a global payment provider, æternity development, as well as architectural reviews and feature development with multiple blockchain companies, including some of the early pioneers of side chains. We recently started the design and development work for an innovative distributed private key vault. In conjunction with these assignments, we have engaged in the analysis of prominent blockchain core technologies such as Ethereum, Bitcoin, Cardano, Tezos, R3 Corda. We are actively engaged in cultural exchanges in the core blockchain and smart contracts development communities.
We propose to break up the development work into three phases, where the output of each phase will provide a better understanding of the subsequent phases, help formalise the requirements and provide high level estimates. Written deliverables can be produced in a format which can be shared publicly and all code can be released as open source.
Phase 1: Research & Due Diligence
The first phase of the project will entail investigating hyperchains implementations and approaches, and the impact on the existing codebase. This work will provide the input needed to suggest one or more potential approaches which can be prototyped.
- Understanding and documenting the full æternity hyperchains use-case and requirements.
- Carry out detailed architectural discussions with the æternity management team, the core development team and the community.
- Researching existing hyperchains solutions and implementations.
- Understand what approaches have been proposed publicly, which ones have been implemented, and where applicable, which ones have failed to gain traction.
- Research the impact of adding hyperchains to the existing end-to-end architecture. This will be done independently of the approach recommended in 3.
- Document an API which can be used to integrate different Hyperchains implementations independently of one other.
- Propose one or more approaches to the æternity hyperchains solutions which will serve as the foundation for the proof-of-concept.
- Provide high level estimates and a risk assessment for the implementation of the suggested solutions proof-of-concept.
- A document, written jointly, outlining both the business requirements, and use-cases for the æternity hyperchains.
- A document outlining different hyperchains approaches and solutions.
- A document defining the API needed to integrate hyperchains with the æternity blockchain platform.
- A proposal for the proof-of-concept for one of more prototypes integrating hyperchains in the æternity blockchain platform.
The outcome of the research and due diligence phase is the foreground information and knowledge needed to make a decision on how to proceed with the hyperchain prototypes.
Research: 2 week, architect
Due Diligence: 2 week, senior developer
Approaches: 2 week architect, 1 week senior developer
Phase 2: Proof of Concepts
The second phase of the project will implement one or more proof of concepts to better understand whether the proposed hyperchains implementations are able to address the business requirements in a cost effective way. Following the wise words of Erlang co-inventor Mike Williams, it is not good enough to have ideas, you need to make sure they work. And if you are going to make mistakes, you want to make them on a small scale, and not in a production project.
The proof of concept will validate the defined APIs and a subset of features and business requirements defined in the research and due-diligence phase. The focus of the proof of concept should reflect the challenges and features which are a cause of concern to the æternity technical and management teams and Erlang Solutions team alike.
Development of the POC
- In week long sprints with weekly demos, evaluate one or more of the potential alternatives which align with the business requirements.
- Define and implement metrics measuring key-performance-indicators such as throughput, memory utilization, etc.
- Pick a subset of features and get them working end-to-end.
- One or more working prototypes demonstrating how hyperchains can be integrated in the æternity blockchain platform.
- A document addressing (or explaining why they failed to address) the joint concerns, ideas and approaches proposed in Phase 1.
- A final design recommendation and time estimates for the development process.
The outcome of the proof of concept is to prove that the ideas and approaches put forward work in practice and can be realistically and cost-effectively implemented and integrated in the æternity blockchain platform. The work will also show the API developed in the research and these outputs will be used for a go-no-go decision to carry out the implementation.
Proof-of-concept: The duration is to be determined, but will be based on the estimates derived in phase 1. POCs usually take between 10-20 person weeks, and multiple POCs if necessary can be run in parallel by different teams.
Phase 3: Development
The third phase of the project will be the development and deployment of the hyperchains proposal based on the outcomes and learnings from the proof of concept. This will be done following the aeternity and Erlang Solutions best practices and include test driven development, peer reviews and capacity planning.
- Fully functioning implementation, developed and deployed in increments.
The outcome of the development phase is to develop, deploy and test the first iteration of the Hyperchains implementation addressing concerns derived in Phase 2.
The duration is to be determined, but will be based on the estimates derived in phase 2.