2

Doing some research on decentralized exchanges, particularly on IDEX. https://idex.market

  • IDEX mentions its a decentralized exchange, but is there a way to interact with this DEX without going to the website? What stops some country from banning that domain name.
  • It mentions you can submit a token to be listed on the IDEX. But isn't that a centralized control of who gets listed or not?

Maybe i'm interpreting "Decentralized" Exchange wrong. But isn't it suppose to be a self running contract without the need of 3rd party intervention?

What other features we know CANNOT be decentralized?

  • the website address is irrelevant. you can send trade to any ethereum node. you just have to know what parameters to send to the contract. the exchange is 100% decentralized, unless the contract has some backdoors or hidden code, which you can verify before trading – Nulik Jun 30 '18 at 15:32
  • Do you have an example code of sending these parameters to this contract? I'd like to see how someone can do it without accessing the website... – Patoshi パトシ Jun 30 '18 at 23:03
  • Yes. The methods are called FillOrder and CancelOrder: github.com/0xProject/contracts/blob/master/contracts/… , with a bit of understanding how all this stuff works you are going to be able to submit valid values, with a simple sendTransaction() call to any Ethereum node that is currently mining transactions. – Nulik Jul 1 '18 at 1:16
  • I'm a bit new to this doing it via code. How can I submit values to these methods? What applications do I need to do it manually? – Patoshi パトシ Jul 2 '18 at 15:08
  • it is done with geth in a single instruction: contract.FillOrder.sendTransaction([params],{from:...,to contract_addr,value:...}) , where params are the parameters for FillOrder() contract method, which you must build yourself, from,to and value are the usual sendTransaction() options. contract is the contract object created from contract's ABI. It is not an easy without knowledge, this is why the website does all this stuff for you. – Nulik Jul 2 '18 at 16:22
3

IDEX is not decentralized at all, it's fully centralized.

There's no way to use the system without IDEX team allow you to do so. If they don't want to process your transactions, your transactions will not be processed. If their servers goes down, the full system stops. You cannot trade tokens not white-listed by IDEX team. Etc, etc... Exactly the same way as a centralized exchanger works.

Said that, IDEX has some peculiar characteristics that make it in some way a little bit different from other centralized exchanger, so maybe if you already use centralized exchanger you can find something interesting in their approach.

The main (and IMHO actually the only one) difference is the way user submit trades: the user must sign every trade - i.e. buys and sells - with its own private key before they can be executed on the Ethereum network: this way, IDEX team cannot actually initialize trades without your consent.

Please consider that managing credentials (i.e. creating private keys in a decentralized approach, signing messages, etc.) is not a part of the IDEX platform but a base function of many blockchain platforms, including Ethereum.

So again: IDEX by its own has really no part that can be considered decentralized.

And to answer your other questions:

  • Q: IDEX mentions its a decentralized exchange, but is there a way to interact with this DEX without going to the website? A: No

  • Q: What stops some country from banning that domain name? A: Nothing

  • It mentions you can submit a token to be listed on the IDEX. But isn't that a centralized control of who gets listed or not? A: Yes, it is.

  • So why does @nulik say you can interact with the contract itself without the website? Isn't that still decentralized? – Patoshi パトシ Aug 28 '18 at 17:21
  • 2
    He is confusing two projects. He is talking about a project called 0x, but here we are talking about IDEX. You can check the IDEX contract here: etherscan.io/address/… and as you can see only admins can send trades to the smart contract – Giuseppe Bertone Aug 29 '18 at 11:39
  • And if you still have doubts, here the full list of project that currently support 0x protocol: 0xproject.com/wiki#List-of-Projects-Using-0x-Protocol Obvioulsy IDEX is not in there – Giuseppe Bertone Aug 29 '18 at 11:40
  • I think that IDEX has some decentralised aspects, in particular that all trades are executed through a public smart contract (even if they can only be submitted by IDEX) and also crucially that the exchange doesn't have custody of your funds (you can always withdraw your funds regardless of what IDEX do by interacting directly with the contract). – Adam Dossa Aug 29 '18 at 14:41
  • 1
    Sorry Adam but you are wrong. 1) All trades pass through central control of IDEX that actually choose what can be sent to the smart contract and what should not. This is exactly by its own definition a centralized system. About the "crucial" custody of funds, again, it is false you can always withdraw your funds: IDEX has inserted in the SC several mechanisms that let them lock your funds at their own will. – Giuseppe Bertone Aug 29 '18 at 23:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.