not approved

Trust-less non-custodial L2 NFT DEX

$264,600.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
解决方案

We built Erdstall, a trust-less multi-chain L2 platform currently deployed on Ethereum. We plan to expand it to Cardano and build a trust-less, non-custodial L2 NFT marketplace on Erdstall.

Problem:

Although some first DEXes are emerging, the Cardano ecosystem is lacking a fully trust-less, non-custodial off-chain and open-source NFT marketplace.

Yes Votes:
₳ 55,568,170
No Votes:
₳ 118,331,808
Votes Cast:
279

  • download
  • download

[IMPACT] Please describe your proposed solution.

Scope In this grant, we bring a trust-less, non-custodial L2 NFT marketplace to Cardano. We will only feature FT/NFT trades and auctions. We achieve this by extending our Ethereum-based trust-less multi-chain L2 platform – Erdstall – to Cardano and extending our already existing NFT marketplace demo on Erdstall into a fully-fledged NFT marketplace. Using the native features of Erdstall, our marketplace supports off-chain minting of NFTs (they are only minted on-chain once withdrawn), atomic non-custodial multi-asset swaps and auctions. Compared to existing DEXes, we are 100% non-custodial, trust-less, and achieve the latency and throughput of a centralized exchange/marketplace. Because everything happens off-chain, the trading fees are very low, and NFT creators have no up-front costs when minting their NFTs. Additionally, our marketplace can create unforgeable proofs of ownership for NFTs, which allows users to prove to a verifier that they currently own an NFT even if that verifier has no connection to the blockchain or the internet. This elevates our NFTs from simply being assets, granting them the ability to interact with services of all kinds (such as identity management, providing access control, authorisation, etc.).

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.

Erdstall's features Erdstall supports the following operations:

  • Off-chain NFT minting: NFTs minted on Erdstall only have to be minted on-chain if they are ever withdrawn into L1. Artists can mint and sell their NFTs on Erdstall without any upfront cost, the L1 minting cost is deferred to the person withdrawing it.
  • Multi-asset transfers: transactions can contain multiple currencies at once, allowing for bulk asset transfers within a single transaction.
  • Atomic multi-asset trades and auctions: we built a trading transaction right into the core of Erdstall. It allows users to atomically exchange two baskets, each possibly containing multiple currencies at once, and the transaction can also contain an optional matchmaker fee. This way, we have created a simple, yet powerful mechanism that allows markets to directly execute their trades securely on Erdstall. It is so versatile that we can even build auctions with it, where the seller can choose the highest bid and perform the trade.
  • Token burning: We natively support the burning of tokens.
  • NFT Proof of Ownership (PO): we are working on integrating a proof of ownership oracle for NFTs into Erdstall, which allows users to prove to on-chain and off-chain services that they currently own a specific token. POs can even be verified offline, without a need for a blockchain or Erdstall connection. They can be used to implement access control to physical and virtual resources and services associated with an NFT.

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.

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

We build a multi-chain NFT marketplace, which we expect will bring new users and attention to Cardano, due to its novel underlying technology that is superior to ZK rollups and Plasma chains. Erdstall itself also aims to be a foundation for many dApps to come, so any dApp running on Erdstall could also be considered to be within the Cardano ecosystem. As Erdstall is also suited for games, it might also help bringing more technically complex games to Cardano.

[IMPACT] 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.

[FEASIBILITY] 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/421608>. 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 upgrade our demo NFT marketplace on Erdstall into a real NFT marketplace. This milestone is only contained within this grant and if both grants are accepted, then we expect a delay here of up to about a month.

  • MS5 (Done after 7M): Turn the existing demo NFT Marketplace into a fully-featured NFT marketplace.

    [FEASIBILITY] 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: 2 months × 2 developers × ~$16.5k = $66,150

Total: $264,600

[FEASIBILITY] 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.

[FEASIBILITY] 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.

[AUDITABILITY] 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:

  • FT funds within the Erdstall network,

  • Number of NFTs minted off-chain vs on-chain,

  • Number of NFTs traded and auctioned within our marketplace,

  • Market cap of NFTs in our Marketplace.

  • Number of user accounts.

    [AUDITABILITY] What does success for this project look like?

We will have Erdstall running on Cardano mainnet, and our NFT marketplace will handle real funds and NFTs from Ethereum, Cardano, and Erdstall-native NFTs. Users will trust-lessly trade off-chain minted NFTs and native NFTs from Ethereum and Cardano against ADA or ETH.

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

This is a new proposal.

社区顾问评论 (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3分钟24秒
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4分钟3秒
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3分钟48秒
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2分钟16秒
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3分钟14秒
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3分钟19秒
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4分钟59秒
    Darlington Kofa
0:00
/
~0:00