In 1 sentence

In our way to decentralisation of the Byteball network, we want to start a discussion in our community: would it be a good decision to make the Byteball full node operated by major crypto exchange bittrex.com to be chosen as one of the 12 default byteball witnesses?



Summary

In the recent weeks, we witnessed several serious attacks against blockchains (against Bitcoin Gold, Verge, and now Zencash). It turned out that the biggest loss was suffered by crypto exchanges, who credited high amounts of coins based on confirmed blocks, and those blocks were finally rolled back due to the attack.

In Byteball, instead of Proof of Work, or Proof of Stake consensus mechanisms, we rely on the honesty of the witnesses.

Now, since crypto exchanges have a lot to lose if the coin is attacked, we might suspect that crypto exchanges have a very strong incentive to behave honest as a Byteball witness!

Bittrex.com - one of the biggest crypto exchanges in the world - is operating a Byteball full node, for receiving and paying out Byteball bytes from/to its customers.

We have the option to choose the Byteball full node of Bittrex to be one of our default witnesses (with or without their consent - see details on it later) we believe they have no interest in "misbehaving", so they would be a good choice.

In order to evaluate if Bittrex is a good choice or not, we need to know what are the requirements of being a Byteball witness, how they can break the rules, and what they can win or lose by breaking the rules of a witness (“misbehaving”).

We would like to start a discussion in our community about this topic, and later decide with your help guys!

What are the requirements of being a Byteball witness?

A witness is required to post regularly to the DAG. Bittrex.com fulfills this requirement with their full node issuing new a transaction several times each hour.

to the DAG. Bittrex.com fulfills this requirement with their full node issuing new a transaction several times each hour. A witness is required to create reference between their own units: when issuing a new unit, they should create it with a reference from the new one (that is to be inserted to the DAG) to their last one (that is already in the DAG). That means all the units/transactions of the witness has to be in a single chain. Bittrex.com probably operates a standard byteball full node, so probably fulfills this requirement.

Possibilities of misbehaving

A witness can stop issuing new units /transactions, or it can simply shut down.

/transactions, or it can simply shut down. A witness can fail to reference their own last unit/transaction when issuing a new one.

their own last unit/transaction when issuing a new one. A witness can create a “shadow chain” of their own transactions and later join this shadow chain to the DAG.

What could Bittrex win or lose by misbehaving?

This is the key point. We will see that there is no real advantage for Bittrex misbehaving!

By shutting down or stopping issuing new units to the DAG from they full node, Bittrex could contribute to a “no confirmations attack” : if the majority of witnesses stop issuing new units to the DAG, then there would be no more confirmations in the system, so the new transactions will never be confirmed. For bittrex.com it is not a desired outcome, since this way they cannot send or receive any more Byteball bytes to/from their customers, so it is unlikely that they will attempt it.

: if the majority of witnesses stop issuing new units to the DAG, then there would be no more confirmations in the system, so the new transactions will never be confirmed. For bittrex.com it is not a desired outcome, since this way they cannot send or receive any more Byteball bytes to/from their customers, so it is that they will attempt it. Moreover, their Byteball full node probably will not shut down, since since it is essential for them for receiving and sending out Byteball bytes to/from they customers.

By failing to reference their own last unit/transaction when issuing a new one, bittrex.com is contradicting the consensus rules and their transactions will be treated as doublespends. For Bittrex it is not a desired outcome, since this way they will be not able to send or receive Byteball bytes to/from their customers, so it is unlikely that they will attempt it.

that they will attempt it. By creating a “shadow chain” of their own transactions and later attaching this shadow chain to the DAG, they can contribute to a “hijack the Main Chain attack” . For this to be successful, they have to collude with 6 other witnesses. If the majority of the witnesses collude in an attack, they could “hijack” the Main Chain between the Genesis unit and the current Stability Point. By doing so, the Byteball network will get into an undefined state. * Bittrex has no incentive to participate in such an attack, because if the attack is successful, Bittrex will be not able to send or receive Byteball bytes to/from their customers, so it is unlikely that they will attempt it.

. For this to be successful, they have to collude with 6 other witnesses. If the majority of the witnesses collude in an attack, they could “hijack” the Main Chain between the Genesis unit and the current Stability Point. By doing so, the Byteball network will get into an undefined state. * Bittrex has no incentive to participate in such an attack, because if the attack is successful, Bittrex will be not able to send or receive Byteball bytes to/from their customers, so it is that they will attempt it. By creating a “shadow chain” of their own transactions and later attaching this shadow chain to the DAG, they can contribute to a “double spending attack” against the Byteball network, so their customers lose money. For this to be successful, they have to collude with 6 other witnesses. By doing so they can trick their own customers so the transactions in which Bittrex sent Byteball bytes to their customers are rolled back. Bittrex has much more simple ways to trick their own customers (by simply modifying their own private ledger of customer accounts), so it is unlikely that they choose this complicated and uncertain method.

against the Byteball network, so their customers lose money. For this to be successful, they have to collude with 6 other witnesses. By doing so they can trick their own customers so the transactions in which Bittrex sent Byteball bytes to their customers are rolled back. Bittrex has much more simple ways to trick their own customers (by simply modifying their own private ledger of customer accounts), so it is that they choose this complicated and uncertain method. By creating a “shadow chain” of their own transactions and later attaching this shadow chain to the DAG, they can unintentionally contribute to a double spending attack against the Byteball network so Bittrex loses money: when their customers are sending Byteball bytes from their own private wallet to Bittrex’s wallet, that transaction could also be rolled back. Bittrex has no incentive to unintentionally participate in such an attack, because they will lose money by crediting Byteball Bytes on their customers account in the private Bittrex ledger, without having the corresponding transactions on the Byteball network, so it is unlikely that they will attempt it.

Discussion with Bittrex?

It sounds natural that we should discuss the question with Bittrex.

The funny thing is that we (me, you, or anyone who has a Byteball wallet) do not have to ask Bittrex if they want to be a witness or not (again, actually not Bittrex itself, but their Byteball full node).

You can easily change the default witness list in your Byteball wallet and put Bittrex address as one of your witnesses.

Although it is still an option that we discuss this topic with them, if they want to be a witness or not?

Conclusion

We would like to start a discussion in our community!

The key questions are:

Do you think it a good idea to put Bittrex full node as a default Byteball witness?

Do you think it helps the Byteball network in the decentralization process?

In your opinion, what are the threats we might face?

In your opinion, what are the benefits?

Do you think we should we discuss with Bittrex this topic or not?

Please contribute with your thoughts in our slack, bitcointalk, reddit, telegram, facebook or twitter!

https://byteball.slack.com/messages/

https://bitcointalk.org/index.php?topic=1608859.0

https://www.reddit.com/r/ByteBall/

https://t.me/byteball

https://www.facebook.com/byteball.org

https://twitter.com/ByteballOrg