MAGICGrants / Monero-Fund

13 stars 1 forks source link

[Grant Application] xmrtoken #30

Closed Rucknium closed 2 months ago

Rucknium commented 2 months ago

general_fund

true

explore_page

false

project_name

xmrtoken

your_name

cnerd

email

[omitted]

github

personal_github

https://github.com/C-NERD

other_contact

t.me/C_NERD (telegram)

short_description

An anonymous monero token on the aptos chain

long_description

A monero token on the aptos chain which leverages the power of the movelang vm to extend monero without compromising it's security

free_open_source

true

are_you_lead

true

other_lead

potential_impact

The main Impact on the monero community is that this project will allow the community to build tools that properly integrates with monero

timelines

Budget for project is about $40,000 mostly for payment of developers, penetesters and to pay for server infrastructure for testing code

bios

rbrunner7 commented 2 months ago

With your application you address an audience that knows nothing or next to nothing about Aptos, and a community that is very skeptical when it comes to "tokens", "defi", "smart contracts" and similar.

If you are serious about your application and it's more than an alibi exercise of sorts, I propose that you carefully and extensively describe in the long_description and potential_impact sections what your proposal is about, what "integrating" Aptos with Monero would mean exactly, what kind of tools could be built based on the result, and give some links to further sources of relevant info for readers. In the lucky case that similar integrations already exist, it would of course be very interesting to learn about those.

C-NERD commented 2 months ago

With regards to my grant application, I discovered that there is already a project out there with a similar idea called Tari. But, I'll go ahead and explain what I had in mind. My idea is a project which extends the current functionalities of monero. From what I understand, the monero blockchain does not plan on bundling a vm into the blockchain for use of smart contract languages, but there should be no problem if an external relay node is created to interface with monero and another blockchain. And if this relay node happens to support smart contracts, all the better. My idea involves creating a node which includes the core functions of the aptos and monero chains running and communicating together and interfaces with both blockchains. The aptos side would have a token which would be an xmr analogue on the aptos chain. This token will have the ability to function as a normal token on the aptos chain and more importantly, it will have the ability to be converted to xmr on the monero chain. This will be the main feature of the project as if xmr can interact with the aptos xmr analogue and the aptos xmr analogue can behave like a normal aptos token. It means, move code can be written on top of the code for the aptos xmr analogue to extend the functionalities of the monero blockchain in whole. Now like xmr, the transactions on the aptos xmr analogue will also be encrypted to allow for the privacy provided by monero to extend over to the aptos side, and to save resources the relay node will only keep ledger of transactions involving the exchange of xmr and the aptos xmr analogue.

C-NERD commented 2 months ago

As at the time I thought of the idea, the main use case I had was for a way to secure peoples funds from exit scammers. The main reason for exit scam is in most case due to the scammer having a lot of control over user funds. If there is a way to offer decentralized control over user funds with code that control such funds being made open source (all lib code on the aptos chain is opened source). This provides more security for users of the monero chain against such bad actors. This is just one such use case of how the monero chain could benefit from extensibility.

rbrunner7 commented 2 months ago

Thanks for the info. Much clearer now.

I am quite sceptical whether such a solution is feasible, within the timelines you give, or maybe at all.

Did you already have a closer look at the Monero codebase? It's an impressing mass of complex C++ code. In your timelines you mention "Implementation of monero tooling for interoperability between the two chains (6-8 weeks)" - well, I think you could spend 6 weeks merely reading your way into the codebase until you are able to make substantial changes ...

And it moves fast, Monero is probably by now the blockchain with the most hardforks done. Which means it's something like a "moving target", and it's not only question to build once what you propose, but also to carry it into the future indefinitely. That would need devs "fluent" both with the Monero codebase and with Aptos, and where would we find those long time?

And those nodes interacting with both blockchains, how will you secure their proper functioning? Everything is open-source, what will prevent me from providing a "doctored" node that changes XMR into those new "Aptos XMR" tokens at half the proper rate?

Maybe this particular scenario is not possible with your proposed solution, but as far as know I never saw a fully trustless cross-blockchain solution - there was always some catch ...

C-NERD commented 2 months ago

The timelines given in the grant proposal are not accurate timelines as I can't say for certain how long each aspect of the project will take, I just used these values as placeholders. I have skimmed over some parts of the monero code, mostly the message.cpp in the rpc directory to try to understand the communication protocols implemented by the rpc servers. I have no solid answer on how to match the development of this project with the speed of the development of monero. For the security of the nodes, my idea was that the node will require 2 private keys to authenticate a transaction to convert XMR to 'aptos XMR' and vice versa. These keys will be used to sign the transactions on their respective chains with each chain having a group of accounts permitted to initiate token exchange. But under proper scrutiny of this idea, I realize that it's terrible. The node will need to keep records of the private key of these accounts and since these nodes will be made public, The private keys will become a security risk.

Rucknium commented 2 months ago

@C-NERD, the MAGIC Monero Fund committee voted to reject this funding proposal. The vote was:

Against: @Rucknium, @kowalabearhugs, @kayabaNerve, @monerobull For: None Not attending meeting: artlimber