According to Dan Larimer here https://github.com/EOSIO/eos/issues/3032 "The Bancor Protocol math is wrong in their paper".

However I am reviewing the details here https://goo.gl/HXQBUr and it seems correct. (It is possible to reach the formulas in a simpler way without integrating). Can someone clarify this?


The forumula is ambiguous over "when" in time you read the balance (before or after). For all of my testing I was never able to get the paper's formula to work without giving profits to users.


After considerable thought and discussions with other people, I affirm that there is no error in Rosenfeld's Bancor paper as Dan Larimer suggests.

Therefore, there seems to be no theoretical explanation (so far) for the individual formulas implemented in convert_to_exchange and convert_from_exchange at exchange_state.cpp (EOSIO Dawn 4.0). https://github.com/EOSIO/eos/blob/master/contracts/eosio.system/exchange_state.cpp

However the composition of both formulas, lead to the conversion between EOS and RAM in such a way that the product of the connectors reserves (EOS times RAM) is constant. This means exact agreement with Rosenfeld's paper (https://goo.gl/HXQBUr) section "multiple reserve currencies" taking S=S_0, m=2 and F_1=F_2.

Thank you @bytemaster for your answers, attention, everything.


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.