over budget
Multi-chain token bridge
Current Project Status
Unfunded
Amount
Received
$0
Amount
Requested
$231,525
Percentage
Received
0.00%
Solution

We built Erdstall, a trust-less multi-chain L2 platform already targeting Ethereum. We plan to expand to Cardano (and many other chains later) and add true token bridge functionality (wrapped tokens).

Problem

Cardano, like most blockchains, is currently isolated and only few solutions for bridges exist. Existing solutions are not extendable to new chains or require trust in its operators (can get hacked).

Impact / Alignment
Feasibility
Auditability

PolyCrypt

2 members

Multi-chain token bridge

Please describe your proposed solution.

Scope In this grant, we bring a bi-directional Ethereum token bridge to Cardano, which will be extended to target many more chains in the future. We will support ETH and any ERC20 and ERC721 tokens (potentially other token standards, too) to be transferred from Ethereum to Cardano as wrapped tokens, and Cardano-native tokens will be transferable to Ethereum as a wrapped token of an appropriate type. We achieve this by extending our trust-less multi-chain L2 platform – Erdstall – to Cardano and adapting our protocol to also allow withdrawing funds to chains other than their original chain as wrapped tokens (fungible and non-fungible). Compared to many conventional token bridge designs, our concept is superior in that it is easily extensible and completely trust-less: even if the operator were to behave maliciously or go offline completely, no funds could possibly be lost or stolen. At all points in time, the user is in complete possession of all his funds and can withdraw them back to the blockchain of origin even in the worst case scenario of a permanent total outage of the service.

Fees In the beginning, we will not take any fees on Erdstall or for products we build on top of it, to give back to the Cardano community. We have not yet decided on how we will take profits from Erdstall, whether there will be subscriptions, per-use fees, or other venues for profit, such as donations. At least during the first year of mainnet operations, Erdstall will be operated and fully usable free of charge.

About Erdstall Erdstall is the multi-L1 L2 chain we are developing, and it is based on novel CommiTEE commit-chain protocol co-invented by our research lead at TU Darmstadt in 2020. Erdstall as an asset layer is superior to most off-chain solutions in that it has instant transaction finality, and is completely trust-less: even if the operator were to behave maliciously or go offline completely, no funds could possibly be lost or stolen. At all points in time, the user is in complete possession of all his funds and can withdraw them back to the blockchain of origin even in the worst case scenario of a permanent total outage of the service. Yet, Erdstall also Erdstall will not only connect to Cardano and Ethereum, but every time we connect Erdstall to another blockchain in the future, Cardano would also benefit from it immediately, as NFTs and FTs from more and more blockchains can be exchanged for each other.

Cutting-edge L2 technology Erdstall is a unique L2 platform based on novel research into more efficient side-chains (by the Chair of Applied Cryptography at TU Darmstadt, Germany, which we are in close contact with), as well as follow-up in-house research to improve on the initial designs. We have started working on Erdstall during the EthOnline 2020 hackathon, where it allowed us to emerge as a winning contestant, and currently, Erdstall runs on the Goerli test-net on Ethereum. Erdstall achieves not only the latency, throughput, and low power consumption of centrally operated plasma chains, but also the verifiability and reliability of decentrally operated ZK roll-ups, thereby surpassing both technologies individually.

As it achieves the following properties, Erdstall is a top-notch upcoming L2 platform (some of these are still under active development, but will all be finished by the end of the grant):

  • Trust-less, auditable, verifiable: All of the system's transactions, checkpoints and balance proofs are publicly verifiable by everyone, and no single party has to be trusted to behave faithfully, only the underlying technology itself needs to be trusted.
  • Non-custodial: the smart contracts governing the system are designed in a way that even if there were to be a total outage of the system, everyone could still withdraw his deposits and the off-chain balances of the most recent checkpoint. Users have full control and ownership of their funds at all points in time.
  • Off-chain checkpoints, compact balance proofs: as opposed to ZK roll-ups and plasma chains, Erdstall's checkpoints are not posted on-chain, but are just as valid, redeemable, and trustworthy. These checkpoints contain balance proofs for each account, and can be used to withdraw funds on-chain. Balance proofs are compact (O(1) instead of O(log(n)), resulting in low withdrawal transaction fees, and because the checkpoints do not have to be posted on-chain to be valid, Erdstall does not passively congest the blockchain.
  • Extremely lightweight and efficient: Erdstall is very lean, and we already achieve a transaction throughput of up to 2000 transactions per second (under optimal conditions), with potential to scale further in the future, if necessary.
  • L3-ready: knowing that other second-layer solutions quickly reach their maximum throughput, we designed Erdstall with the explicit goal of being L3-ready, so that as many transactions and computations as possible will be handled "off-Erdstall". Erdstall only provides the primitives needed for L3 dApps to function, but those dApps are not intended to be run on Erdstall directly, keeping the network from congesting, and keeping transaction fees low. We already have made preparations for integrating future L3 technologies such as off-chain contract execution, payment channels, and more (however, none of these are within the scope of this grant). With this foresight, we have created a future-proof cryptocurrency ledger.
  • Instant transaction finality: transactions are instantly processed and proofs for their correct execution are very efficient to generate. Thus, we have a very short latency (sub-second, mostly determined by communication latency). Furthermore, transactions cannot be rolled back once they have been processed and a proof of execution has been generated.
  • Decentralized: Erdstall is operated in a decentralized manner and has no single point of failure, and is therefore more resilient and reliable than centrally operated L2 platforms. Moreover, the unique transaction processing algorithm we came up with is not affected by the slow-down that decentralization commonly entails. Note that in the beginning, we intend to host the official operator nodes ourselves so we can establish a certain quality of service, but we hope to open up Erdstall hosting to the community in the future, both for more reliable and diverse hosting and for making Erdstall a more independent platform.
  • Environmentally friendly: Erdstall does not require compute clusters for proof generation (as opposed to ZK roll-ups), and does not post any unnecessary on-chain transactions (checkpoints), so even if we expand to many PoW chains in the future, Erdstall will not needlessly pollute the environment by burdening the L1 chains with on-chain checkpoint transactions.

A note about TEE technology Erdstall uses TEE (trusted execution environment) features of modern processors containing a trusted platform module (TPM), such as Intel's SGX, AMD's TrustZone, etc. for provable tamper-free execution of its code. We especially rely on a TPM feature called remote attestation, which allows our operator to prove to the outside world that it is running an unmodified copy of a specific program within a protected region of the CPU. It is impossible to hack or tamper with a program running inside a TPM chip, even if you have full administrator access to the whole machine, so users can trust that our servers definitely execute our protocols correctly. As long as the TPM technology is secure, Erdstall is also secure. In order to not enforce trust in a specific TPM vendor, we will (after this grant) expand Erdstall to run on TPMs by multiple vendors. For now, we will solely use Intel’s SGX technology.

The current state of Erdstall Last time, during F8, we had already applied to build Erdstall in the scaling solutions category, but back then Erdstall was not as far as it is now, and we had not familiarized ourselves with Cardano’s eUTXO computation model yet. Back then, instead of Erdstall, our other project, Perun state channels, was chosen by the community, and we’re now getting experience in working with the eUTXO model. Compared to back then, Erdstall is much more mature, conceptually and implementation-wise, and we are nearing mainnet-readiness on Ethereum. Almost all the blockchain-independent logic is completely implemented, our client SDK is fully featured, and we are now in the last steps of implementing secure redundant execution in multiple TEEs to achieve high availability. Only a few steps are left for the mainnet release, such as a secure upgrade protocol, but those aren’t major issues compared to what we have already achieved. Additionally, we already built a proof of concept NFT marketplace on Erdstall, and even a native browser wallet is underway (currently, we simply use Metamask for on-chain and off-chain interactions).

The mission and philosophy of Erdstall Erdstall is still evolving, but it is heading towards a clear vision. We do not want to merely be another generic L2 side-chain that scales a single L1 chain or simply replicates that L1’s features. Second layer technologies should provide a simple set of abstract functionality that hides the complexity of the underlying L1 chains, thereby granting developers the ability to focus on building dApps instead of learning all the underlying L1 chains’ quirks. L2 technologies increase usefulness by strictly constraining the functionality of the underlying L1s, giving rise to a lean feature-set sporting powerful invariants. We aim to make Erdstall into a great base layer to build cross-chain/chain-agnostic dApps of all kinds on – we already feature a browser game on Erdstall – and hope to integrate many L1 chains into Erdstall, so that Erdstall will become an expansive ecosystem spanning all major L1 chains, interconnecting the splintered cryptocurrency world. Erdstall’s aim is not to compete against existing blockchains, but rather provide simple-to-use and powerful cross-chain functionality to existing chains. Applications written to run on Erdstall will be compatible and able to communicate with all blockchains that Erdstall is connected to, the number of which will be constantly increasing. We want Erdstall to provide a way to interact with assets and smart contracts in a way that the developers do not have to know which blockchain the funds are currently located on, or where they originated.

Similar to Cardano, we have learned from the short-comings of generic computation L1s. This is why we offer only the financial primitives and execution coordination primitives needed to execute smart transactions safely and securely, and all additional logic has to happen “off-Erdstall” on some external platform, such as an L1 chain (or even dedicated Erdstall-specific L3 platforms for scalability). By offloading all user logic, we keep our protocol lean and achieve maximum throughput within Erdstall, as the bare minimum of computation and asset movements are processed on Erdstall itself.

We want to make cryptocurrencies accessible and viable for the traditional economy sectors, and for that, we want to provide a great platform for cryptocurrency service providers to build their products on, such as exchanges, crowdfunding platforms, and more. Hence, we want to be an easy-to-develop-on financial platform that satisfies real-world requirements, such as ease of use and integration, performance, security, stability, maintainability, and robustness. We focus on developer and user experience and offering primitives that allow building the most important kinds of services. That is why we provide our Erdstall SDK (currently only available for TS/JS) for dApp development. We use state-of-the-art technology to provide a performant, secure, and trust-less asset backend that services and businesses can build their business logic on, and guarantee trust even to users who might not necessarily trust the service operators they’re interacting with. Erdstall brings back the focus on securely and reliably transacting with currencies and assets in non-custodial dApps, and rather than directly providing computations on-chain, we want to provide the means to securely coordinate off-chain computations, as a narrower mission statement allows us to achieve more excellence by focusing our efforts. Thus, in the future, we’re planning to build a L3 framework for generic off-Erdstall smart contracts, but much of the research on this still has to be done. As a lean and explicitly L3-oriented L2 platform, we will be future-proof and will not get bogged down by any bloated features that would come back to haunt us years later, at which point we won't be able to change them easily any more.

Please describe how your proposed solution will address the Challenge that you have submitted it in.

Although a token bridge between Cardano and Ethereum already exists, this project will be a stepping stone for us to build a many-chain token bridge that will break the constraints between blockchains. Future extensions to other chains will most likely be funded through the grant programs of those chains, if possible, so the Cardano community will receive future token bridges for free (we will try to get all of the required funding from the specific target L1 being added).

The long-term vision we have for Erdstall aims to unify the blockchain world and detach services and their tokens from their original chains, providing the mobility allowing them to migrate to the most fitting chain at any point in time, and to off-load expensive on-chain computations onto other chains or L3 platforms. Doing so will increase the competition of blockchains to drive technological progress forward, and encourage the creation of chains that are specifically designed as asset management layers or for handling computations for other chains. We believe that there is no one-size-fits-all solution for everything, so we strive for an ecosystem of many different chains with different strengths and weaknesses that come together under our protocol to complement each other. However, this only becomes possible if those chains are all connected and can easily migrate state and assets.

Thus, this grant is an investment to get us going on the way towards fulfilling our grand vision. The immediate payoff is not huge in regard to the goals of the challenge, but all future extensions and protocol improvements to Erdstall would directly benefit the whole Cardano ecosystem and fit the scope of the challenge. The more chains we integrate with, the more additional sources of funding we can acquire for the development of our protocols, so we do not expect to rely solely on the Catalyst program in the future, and Cardano would essentially gain new token bridges for free after this initial investment.

What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

We see a risk in that there might be insufficient or incompatible typescript libraries for Cardano, which would delay the development of our Cardano-adaptor of the dApp SDK. To mitigate, we added a buffer for emergencies in our estimated timeline. Additionally, we are not sure how easily we can extract the block verification code from the Cardano main node which we need to verify blocks within Erdstall. We will try to get into close contact with Cardano’s core development team to get all the assistance we need. We hope that the consensus verification code can be configured so that it does not rely on hard disk storage, because in the threat model of Erdstall, the hard disk cannot actually be trusted by the program without employing additional cryptography to ensure tamper resistance. If it is not configurable to not use the hard disk, we hope to be able to get the ability to configure it merged into the Cardano core libraries so that we don’t have to maintain a separate version of Cardano’s core libraries for Erdstall. Additionally, as we are located in Germany, we hope that the current geopolitical situation will not escalate to the point where it would prevent us from continuing our development.

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

[Note: Due to the limited funding bucket size and the large amount of effort required to build a mainnet-ready Cardano extension for Erdstall, we have split our initial plan into two largely overlapping (in terms of milestones) grants that are each priced at a 50% discount so that we will achieve our full initial funding goal only if both gants are accepted. The other grant is found at <https://cardano.ideascale.com/c/idea/421609>. If only one grant is accepted, we will still build the full scope of that grant and self-fund the other half of our efforts. If both grants are accepted, they will barely interfere with each other’s timelines due to mostly shared milestones.

Some of our developers are still working on F8's Perun channels, but we have enough available manpower among the other developers to mitigate this, so the timeline will not be affected.]

The milestones are given in chronological order of their expected completion date. Many of those milestones will be worked on in parallel to achieve a timely delivery and completion of the grant's scope.

First, we migrate Erdstall to Cardano. These milestones are shared between both proposals, therefore, whether both grants get accepted will not affect this timeline.

  • MS1 (Done after 3M): Cardano contracts for depositing and withdrawing funds. This contains handling deposits and withdrawals of different token types, lazy minting of NFTs minted in Erdstall, and handling failsafes ensuring funds can be withdrawn even if the operator stops functioning.
  • MS2 (Done after 4M): Adapt our backend architecture to handle multiple blockchains and track the different origins of tokens.
  • MS3 (Done after 5M): Cardano backend in our operator. This includes block verification and processing within a TEE.
  • MS4 (Done after 5M): Add Cardano support to our TS Erdstall dApp SDK. This includes interacting with our own Cardano smart contracts (depends on milestone 1) for deposits and withdrawals, as well as on-chain event listening and correctly modelling and abstracting Cardano's ecosystem in TS.

Then, we add token bridging functionality to the Ethereum and Cardano contracts, as well as our core libraries and operator. This milestone is only contained within this grant and if both grants are accepted, then we expect a delay here of up to about two months.

MS5 (Done after 6M): extend our protocols with Token bridge support. This also includes extending the existing Ethereum and Cardano contracts to be able to withdraw non-native tokens as wrapped tokens. We implement two ways of withdrawing tokens: withdraw all tokens to one chain as native and/or wrapped tokens, or withdraw all owned tokens to their native chains, with Erdstall-native tokens going to a specified blockchain.

Please provide a detailed budget breakdown.

The pricing is calculated at our company's regular rate of 15,750€ ($16,537.50 USD at $1.05/€) per development month and includes the salaries of the developers, the researchers, management, up-front research and development, as well as a small margin for our company to cover general expenses and stay afloat amidst the current and projected levels of inflation in Europe. However, the milestones shared between both grants come at a 50% discount, for reasons noted above.

MS1: 3 months × 2 developers × ~$16,5k (-50%) = $49,612.50

MS2: 3 months × 2 developers × ~$16.5k (-50%) = $49,612.50

MS3: 2 months × 2 developers × ~$16.5k (-50%) = $33,075

MS4: 4 months × 2 developers × ~$16.5k (-50%) = $66,150

Shared milestones subtotal: 24 developer months × ~$16.5k (-50%) = $198,450

MS5: 1 month × 2 developers × ~$16.5k = $33,075

Total: $231,525

Please provide details of the people who will work on the project.

Prof. Dr. Sebastian Faust (Head of research): Co-founder of PolyCrypt and co-inventor of the Perun Protocols. Head of research group for applied cryptography at TU Darmstadt, Germany. Numerous publications at renowned cryptography and computer security conferences such as CRYPTO, EUROCRYPT, S&P, CCS.

Hendrik Amler (Head of business and project management): Co-founder and CEO of PolyCrypt. Leads the business development. Will support the project management.

Dr. Matthias Geihs (Head of development): PhD in computer science with a focus on cryptography and computer security. Leads the development of the Perun Framework since the beginning of 2021. Proven track record of successfully leading projects for integrating Perun with Cosmos and Polkadot, currently leading the Cardano integration. Skilled in a variety of programming languages, research and project management.

Steffen Rattay (Core developer): Core developer of Erdstall and of the Perun Framework since its beginning in 2019. Skilled in a variety of programming languages including Go and Rust. Expert for designing secure decentralised protocols.

Norbert Dzikowski (Core developer): Core developer of Erdstall and of the Perun Framework since mid 2020. Experienced in a variety of programming languages including Go and Haskell. One of our Cardano & eUTXO experts. Already has experience developing contracts for Cardano (currently also working on F8's Perun state channels). One of our Cardano & eUTXO experts.

Ruben Krüpper (Core developer): Core developer of Erdstall since 2021. Our most capable front-end developer, also capable in backend development. Has previous experience in the financial industry.

Jan Bormet (Core developer): Core developer of the Perun Framework since 2022. Full stack developer with programming experience including Go and Haskell. One of our Cardano & eUTXO experts. Already has experience developing contracts for Cardano (currently also working on F8's Perun state channels).

Jens Winkle (Core developer): Core developer of Erdstall since 2022, and our expert for TEE programming. Currently working on mainnet readiness for Ethereum.

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

The proposal is self-contained and does not require further funding, however we want to return to future funding rounds to build new features, such as a L3 generic computation framework / smart contracts.

Please describe what you will measure to track your project's progress, and how will you measure these?

We will measure and publish the following KPIs:

  • Number of native NFTs deposited from each chain,
  • Number of wrapped NFTs withdrawn to each chain,
  • Per fungible token: amount of tokens wrapped and unwrapped.

What does success for this project look like?

We will have Erdstall running on Cardano mainnet, and our token bridge will handle real funds and NFTs from Ethereum, Cardano, and Erdstall-native NFTs. Users will transfer NFTs and FTs from Cardano to Ethereum as wrapped tokens, and NFTs and FTs from Ethereum to Cardano as wrapped tokens.

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

New proposal

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00