Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XCM Domain Service #1733

Merged
merged 1 commit into from
May 17, 2023
Merged

XCM Domain Service #1733

merged 1 commit into from
May 17, 2023

Conversation

wottpal
Copy link
Contributor

@wottpal wottpal commented May 11, 2023

Project Abstract

Our team secured first place in the ETHWarsaw hackathon in 2022 with AZERO.ID, an on-chain domain service using ink!, by winning the Aleph Zero Foundation's bounty. The team has since developed a sophisticated on-chain NFT domain platform in ink! v4, and is set to launch on the Aleph Zero mainnet. Our next objective is to expand the platform to the Dotsama ecosystem and leverage its full potential by enhancing it with the use of XCM. Moreover, we have already challenged the potential value creation for the Polkadot ecosystem with different people at Parity.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (bank details via email or BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) address in the application).
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@CLAassistant
Copy link

CLAassistant commented May 11, 2023

CLA assistant check
All committers have signed the CLA.

keeganquigley
keeganquigley previously approved these changes May 12, 2023
Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the application @wottpal it looks really good, and I'm personally happy to support your research. I will mark your application as ready for review, as other committee members might have questions/comments.

@keeganquigley keeganquigley self-assigned this May 12, 2023
@keeganquigley keeganquigley added the ready for review The project is ready to be reviewed by the committee members. label May 12, 2023
Copy link
Contributor

@dsm-w3f dsm-w3f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your application. Very interesting theme. I reviewed the application and I have some questions and concerns about it.

As a research grant application, I expected some knowledge to be produced as a result of the grant effort. Conversely, it seems that the main product of the application is the design/architecture of an application, which looks pretty much like an extension of AZERO.Id, a product of your company, and will be published as a lite-paper. My questions are:

  • How would the community benefit from the product of this grant?
  • Wouldn't this benefit only your company?
  • What ultimately is the knowledge generated by this research?

Reading the research questions, most of them are pretty straightforward to answer, and some are related to gathering knowledge about XCM. Furthermore, the team already has experience with domain services. In this way, the effort for developing this grant seems to be overestimated for me. Is it possible to reduce the price?

Please also detail the deliverables 2. Architecture and 3. Technical Deliverable - "We will develop two sample ink! smart contracts that exchange messages with each other via XCM, and showcase their interaction on two local nodes.".

  • What is included in the architecture?
  • Which artifacts will be produced?

Regarding deliverable 3, it will be a PoC of the architecture designed? What will be the use cases available?

@wottpal
Copy link
Contributor Author

wottpal commented May 14, 2023

Hey Diogo, thanks for reviewing! Glad you brought those points up & happy to answer them. :)

How would the community benefit from the product of this grant?
Wouldn't this benefit only your company?

We're always thinking community-first at Scio Labs, which is also why we build public goods (i.e. stablecoins.wtf) and developer tooling (i.e. inkathon.xyz) on the sideline. Further, we are pushing for the general adoption of ink! and helping Parity with co-hosting dev meetups in Berlin. This grant, AZERO.ID, and its potential XCM counterpart also have a strong community focus which becomes apparent as follows:

  • All results from this research, without exception, will be publicly shared and even condensed in an easier-to-digest format (i.e. blog post, Twitter thread, etc.) to reach an even larger audience, additionally.
  • In theory, everyone can take the results and start building something even better from it. We're also open-sourcing our current smart contract architecture very soon after the security audit went through successfully, so these can also be reused by anyone. And, of course, after we've developed a production-ready XCM extension, this and all of its components will be open-sourced, too. So there is no kind of IP value creating happening here solely for our company.
  • We are a team that is deliberately focused on building user-facing end-to-end applications with great UX. As far as we are aware, this is exactly what the Dotsama ecosystem needs right now. In combination with exceptional base-layer technology like XCM & WASM/ink!, this project could result in a great synergy that enriches the Polkadot ecosystem by showcasing its abilities, which benefits the community and further, increases adoption. This grant lays the foundation for us to kickstart these efforts.
  • We are aiming for full decentralization & community governance with our whole domain platform in the long term. After all, providing a domain name service strongly relies on community consensus & ecosystem integrations. We don't think this can be achieved with a single for-profit beneficiary, but only community-first and a community-governed treasury that enriches the ecosystem in the long term.

What ultimately is the knowledge generated by this research?
What is included in the architecture?
Is it possible to reduce the price?

The generated knowledge, which will all be fully broken down for the reader, will be:

  • An understanding of the concepts, abilities, and limitations of XCM & ink! & available standards in their current form.
  • Potential integrations with XCM that a "cross-parachain" domain service could/should leverage.
  • Technical assessments of the feasibility of all these potential integrations.
  • A proposed contract architecture incl. sequence diagrams of the more complex cross-chain interactions, function interface definitions, and also some pseudocode-like implementations of interesting parts.
  • On top, there will be a technical deliverable (see below).

Overall, we believe that these results could be a great value-add, as they will further educate the developer ecosystem about XCM and show off its abilities in an actual application scenario that's way more complex than just "transferring funds". We wouldn't feel comfortable though with lowering the price given the potential complexities & road blockers that could come up during the process when working with such a fresh technology (e.g. the specification is always in flux, ink! doesn't even natively support it yet, or the only available PoC is outdated). But to find common ground and further increase overall value creation we decided to extend the technical deliverable (see below).

Regarding deliverable 3, it will be a PoC of the architecture designed? What will be the use cases available?

Initially, we intended to deliver a technical implementation that solely showcases sending/receiving arbitrary XCM messages in ink! that are unrelated to a DNS (which is also not fully trivial given the above caveats). Because unfortunately, a full implementation of the proposed architecture (even a PoC) is out of scope for a level-2 grant. But we decided to extend the technical deliverables as follows:

  • We propose to resolve paritytech/pallet-contracts-xcm issue paritytech/polkadot#6 & issue paritytech/polkadot#7 (cc @cmichi @athei).
  • We propose to implement a basic address-to-domain mapping that can be registered across the two nodes and maintains a unique namespace, all with the assessed techniques from the preceding research items.

I just updated the proposal.

Looking forward to your feedback. 👋

@wottpal wottpal requested a review from keeganquigley May 15, 2023 15:39
Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your in-depth answers to the questions @wottpal I'm still happy to go ahead with it.

@randombishop
Copy link
Contributor

Thank you for this application @wottpal !
I think this line of R&D is indeed valuable for the ecosystem.
I only have one question: is there a chance that after the milestone 1 study, the plan becomes building on an existing solution such as Polkadot Name System; or is your objective already going towards a new standard and implementation from scratch? If it's the latter, can you elaborate on the reasons why we need a completely new system?

Copy link
Contributor

@dsm-w3f dsm-w3f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wottpal thank you for your answer and for updating the proposal. We appreciate your previous collaborations with Parity & W3F. I understood that are some small issues that need to be fixed in order to make this system works, which you addressed now in the application. The deliverables are more clear and complete as well. I'm happy to support your proposal. Hope to see the results soon.

@semuelle semuelle merged commit b3a2124 into w3f:master May 17, 2023
@github-actions
Copy link
Contributor

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at grantsPR@web3.foundation and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@wottpal
Copy link
Contributor Author

wottpal commented May 20, 2023

Glad we got this through and excited to start working on it. 🔥

We also just released our updated landing page on AZERO.ID. The information there might also give a good glimpse into our overall vision for the project. :)


Hey @randombishop, happy to still elaborate a bit on your questions still! The outcome of our research will be free to use for all teams building on Polkadot/Kusama via XCM. From our side, we will most likely use the results of this research process to develop a solution tailored to our ink!-based domain system, which we announced recently (see above).

One of the main reasons why we want to develop a new domain standard for the Substrate ecosystem is the innovation of Rust-based smart contracts via ink!. We believe this will become the leading smart contract standard native to the ecosystem and implemented by standalone Substrate chains and Parachains on Polkadot and Kusama.

In the future, rapidly growing ecosystems such as Aleph Zero will be connected via XCM to the entire Dotsama ecosystem and other standalone Substrate chains. Therefore, we believe that a combination of ink! & XCM to create a sophisticated domain service for the whole ecosystem is the best way to go forward. These resources provide a good overview of the advantages of ink! over Solidity and Wasm over the EVM: https://use.ink/ink-vs-solidity & https://alephzero.org/blog/fundamentals-wasm-evm-aleph-zero-explores-new-frontier/.

But as outlined above and in the proposal, a name service solution depends on community consensus, so we'll do our best to work as community-focused as possible. The feedback we're getting already is almost only very positive, and people are excited. 🙌

@Polkadot-Forum
Copy link

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/name-service-pallet-introduction-and-call-for-frame-devs-to-finalise-review/3480/13

@dsm-w3f dsm-w3f mentioned this pull request Sep 22, 2023
10 tasks
@Polkadot-Forum
Copy link

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/developer-experience-must-be-our-1-priority/3957/31

@keeganquigley
Copy link
Contributor

Hi @wottpal any updates on milestone 2?

@wottpal
Copy link
Contributor Author

wottpal commented Oct 6, 2023

gm @keeganquigley, glad you checked in. happy to report that we're 90%+ done with code & report of M2 (writing the first-ever XCM-ready ink! contracts was definitely not that straightforward). we'll submit next week or the week after!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants