Giter VIP home page Giter VIP logo

tornado-relayer's People

Contributors

0xzick avatar dan1kov avatar dependabot[bot] avatar feshchenkod avatar pertsev avatar poma avatar rstormsf avatar smart-ex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tornado-relayer's Issues

New Relayer, a fully serverless relayer

Mainnet Txn: https://etherscan.io/tx/0x4007f0f8fd09037465eb0bc4a31a2d2dfba69e9b3ba8d2e436c4679896595d25
Address: mainnet.serverless-relayer.eth

I haven't deployed testnet relayer because I don't think a testnet relayer is necessary and it's inconvenient to deploy another instance on a serverless platform. Please let me know if a testnet relayer is really really necessary.

I think this relayer has the best scaling ability.

Telegram: No username, find me in the group via 'Hertz'

New v2 Relayer (mainnet-v2.goblin.eth)

Hello guys,
I have deployed the relayers below, apply for listing on UI, thanks

Mainnet

Goerli

Telegram: @tornado_dav

Relayer

I have a relayer which I would like included in the available relayers. Where do I publish the details?

[New relayer] relayer-orage.xyz

Hi Tornado team and particularly @rstormsf !

I deployed a v4.0.0 relayer with a 0.02% withdrawal fee.

Network ENS withdrawal TX
mainnet mainnet-v2.relayer-orage.eth tx
goerli goerli-v2.relayer-orage.eth tx

New relayer

Hey team,

I'm hosting a relayer at tornado.mewwts.xyz, would love to be added to the list in the app for increased visibility.

New Relayer (mainnet-v2.therelayer.eth)

Hey @rstormsf !
Just setup a new relayer, tested in both networks, uptime is controlled by me and funds are in place.

mainnet-v2.therelayer.eth - Transaction:
https://etherscan.io/tx/0x71d40bdf8c79164eb7c6d989139b0082c43aa73026aa155abc92bbdbfdc10ae1

goerli-v2.therelayer.eth - Transaction:
https://goerli.etherscan.io/tx/0xf25b1b227665bc4d73b6e040a8af13c257481039ae50695c6a40422c6d3757b6

Telegram ID: @mrdmc

Let me know if there is any other information needed.

Can this be updated for BSC?

Since Binanace Smart Chain relayers do exist now, can the codebase be updated to allow for running BSC relayer nodes?

Arbitrum ETH Withdrawal “transaction failed: relayer could not sent your tx”” - Please try a different relayer

No matter how many times I try and which relayer I choose, still getting the above error.

During withdrawal, it goes to the very end where it shows "Accepted" then finally this error.

I also noticed that the "recent deposit" entry is not present for this deposit in the Tornado Deposit UI perhaps because i switched to ETH network while the deposit transaction was midway. Right now the funds are locked for me!

Any assistance will be appreciated! Thanks!

Note: After using wallet for gas payment, this problem went away

MAX_GAS_PRICE seems not working

Hello, I have deployed a relayer and tried to withdraw from it with a MAX_GAS_PRICE set to 100 GWei, but it seemed not effective when withdrawn and took 267 GWei when sending a transaction from relayer.
transaction

Minor error in README

In the README in the Deploy with docker-compose section point 1. I think that the probably file to be downloaded should be from the master branch now that the mining is merged into it.

And in Run locally point 6. it says to run the following command but the command is not specified.

New relayer

mainnet.openbridge.eth
kovan.openbridge.eth

everything is running

"Can not fetch status from the relayer" despite everything else working.

Hey, I hope you can help me understand what I am doing wrong.

I set up a relayer (deployed with docker-compose) and everything is running and working (./status etc. all 'normal').

My ENS Domain mainnet.*.eth is pointing to my address mainnet..com
and kovan.
.eth to kovan.*.com and both to the ip of the server the relayer is running on.

Using my "kovan.*.eth" domain as custom relayer for the kovan version of tornado.cash works just fine, but if I want to test the "mainnet.*.eth" domain for the mainnet version I always get the "Can not fetch status from the relayer" message.

They are all setup the same way, so why is the kovan relayer working, but the mainnet one not?

Thanks in advance! :)

EDIT Solution was:
Have at least 0.15 ETH in your relayer address.

Suggestion: Document whether or not relayers could act maliciously by recording all "notes" they process

I'm mainly asking for myself, but after searching the documentation I found no mention of this. Since you have to submit your "note" to a relayer in order for them to process it, wouldn't relayers be able to behave maliciously by recording all "notes" they process? Similar to a tor exit node recording all it's traffic, except in this case the relayer knows the source address as well!

Or am I mistaken on how the whole relayer process works? Is crypto magic used to hide the source address and the relayer can only see the destination address? I recommend documenting what's going on, and/or just answering my question here please :).

Do any 3rd parties (including tornado.cash webservers) see your "note" when a relayer is used, or is JS crytpo magic used to prevent that? Aside: It seems to me the compliance tool should only ever be run locally.

Relayer

Hey guys,
if I understood your telegram messages correctly this the correct next step? Well I hopefully set up a relayer correctly and its working!

Registered these domains extra for this 😀:
mainnet.relayme.eth, kovan.relayme.eth

Do you only need the ENS domains? Or is there anything more you need from me? :)
Greetings

P.S. I just read about #7 - is this an issue if there arent this enough ETH (0.15) on the account?

Charge fees by transaction gas limit, not by note size

For withdrawals through a relayer, the current implementation charges fees by the following scheme (notation mine, feel free to correct):

relayerFeeCurrent = noteSize * relayerFeeLevel + gasLimitPromised * gasPricePromised

To take a concrete example:

relayerFeeCurrent = 100 ETH * 1% + 500 000 gas * 20 gwei = 1.01 ETH

There are multiple problems with this scheme. The main one is that in practice the relayer's costs don't depend on the note size. Submitting a withdrawal for a 0.1 ETH and a 1000 ETH note is the same cost and effort for a relayer. The scheme thus results in rent-seeking behavior, which is economically non-optimal.

An economically optimal scheme would look like this:

relayerFeeOptimal = gasLimitPromised * gasPricePromised * ( 1 + relayerFeeLevel )

An example, with a different fee level:

relayerFeeOptimal = 500 000 gas * 20 gwei * ( 1 + 40% ) = 0.014 ETH

The actual fee level is not the important part, as it could be set to generate the same revenue for the relayer. The point is transparency. To get the same revenue (1.01 ETH) with this model, they would have to admit they are operating with a 10 000% (!) feeLevel when processing 100 ETH notes.

This new scheme reflects better the proportion of the actual fee, i.e. how expensive it is compared to the user withdrawing without a relayer, using their own ETH. That helps users make a rational decision between relayers (that is, if they know they have options, which is not really the case right now). Competition will drive fee levels down, making Tornado cheaper, attracting more users, and ultimately increasing the anonymity sets.

The above scheme doesn't deal with another problem, which I will address in another issue.

Edit: corrected equations and wording.

Deployment as hidden service

I'm trying to test a relayer as hidden service and I found few problems:

Those two line:

# depends_on: [mainnet]

# REDIRECT: mainnet:8000

should change mainnet with server.

It should be more clear that if you want to run it as hidden service you do not need nginx and letsencrypt (and probably dockergen but I'm not sure of what it does).

Moreover the web UI should not enforce https for .onion's relayers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.