I tried to find out how scalable the byteball network actually is. Did not find any information about that topic. So how many transaction can the network handle? Does anybody know this?
The only bottleneck for handling txs for bytebal are:
1. bandwidth
2. storage hardware
3. cost of sending txs - every tx costs as many bytes as it takes in size
It is essentially equally scalable (and not more) as any blockchain with dynamic blocksize (ethereum, monero, etc.) although there's no "blocksize limit". You can send as many txs as possible and if it won't cost you a fortune or clog bandwidth or make DAG take terabytes in size the network will handle it seamlessly. It's actually an attack vector at the moment because txs are cheap (bytes are still cheap) and you can make DAG database grow quickly to inconvenient size in just a day or two. Sending tx of 100GB would cost you only $5000 and would make running a full node for a random user rather painful.
To completely cripple byteball you need at the moment around $3mln. It would make DAG databese 60TB in size which would exclude most commercial computers from being able to run a full node.
There is a lot of problems with byteball I see after lurking into source code.
First of all Byteball code written on Javascript, and all network connections go thrue WebSocket (protocol designed for web browser to allow some AJAX fancy things).
Second, it's not clear how genesis block was made and how much power developer, who hold all keys, has over the network. He probably can generate new coins at any time he want.
Third, witnesses list can't be really replaced. This list of dev personal witnesses can't be changed easilly and probably here to stay forever.
Byteball not immune to any fishing attacks. Network can easily be replaced with malicious one, if some hacker suddenly changed download link on official website or somehow managed to spread wrong client around no chance to stop new network from replacing legit one.
The biggest problem I see is a project code on Javascript. Why not emojicode, why javascript?
Don't wanted to spread FUD here, but this thing really dangerous.
Interesting discussion, and your post is not FUD at least to my eyes.
JavaScript is not the best language for safety critical systems, Rust is better, but not many people know it well yet or the cross-section of cryptocummuntiy and Rust is small, and even in Rust you could make mistakes.
For safe-code you need formal verification with languages such as coq, but then if your language is formally verified and your software is formally verified and found safe with no flaws, you still would rely on OS and other software which has faults. Then you would need to build your entire stack on something like L4 and probably make your own hardware. That task is probably out of scope for this project right now.
The scale of safety, less to more, is wide. JavaScript for other reasons, platform diversity, speed, is a good choice, as well as also not being a worse choice which is C++.
Other implementations would be welcome, tonych what would you say about other implementations in other languages? Lets say Ada which is very nice and used in safety critical systems?
WebSocket with TLS - great choice as filtering Byteball is now harder as ISPs allow WebSocket for most web-sites to function. Security wise relying on TLS / Certificate Authorities is a "defense in depth" the security of the network does not rely on it, only makes it harder to attempt bad attacks, as all content and messages are also encrypted and signed within the transport layer. Also great design!
Tonych can not generate new coins at any time - this part smells a bit like fud.
Witnesses can change, the default wallet is pulling a list from the byteball.org hub so if tonych decides a new witness is to be rolled out he can do it, the users still have the choice to tick the "Do not pull witness list from hub" option and set their own. Take note, everyone doesnt have to have 12 same witnesses, everyone is allowed 1 change, and over time all witnesses can be replaced. Of course, if it was easy to replace all witnesses at once, or if witnesses were easy to replace say by 3 allowed choices - thats a recipe for easier attacking and stalling the network. These numbers, 12 and 1 mutation are the few constants in Byteball.
If network is replaced by a malicious one, is same general problem as for bitcoin and any other network, the user if paranoid or has reasons to suspect such an attack, should check with other sources, say different smartphones on different ISPs different public DAG explorers and compare...