Author

Topic: Crypti vs Ethereum - Architecture Q & A (Read 655 times)

legendary
Activity: 2114
Merit: 1090
=== NODE IS OK! ==
October 27, 2015, 08:11:13 AM
#2
Don't tell them yet!
full member
Activity: 203
Merit: 100
October 27, 2015, 06:32:36 AM
#1
I decided to publish a small Crypti Architecture Q & A with Boris Povod (crypti dev) as compared to Ethereum's architecture.
Crypti is a Dapp platform, similar to Ethereum, but using sidechains + javascript node.js.
So what are the differences?

Q: Technologov 12:52
 
Math.random() prolly needs to be disabled for Dapps. A deterministic version needs to exits, based on blockchain hashes.
Same for opening TCP/IP sockets.
That is: Dapps should have reduced API.
Docs say: "If the above rules are not adhered to, the sidechain will most likely fork". This needs to be avoided at the API level.
https://github.com/crypti/crypti-dapps-docs#determinism

A: boris.povod 13:00
> based on blockchain hashes.
What you mean?

Q: Technologov 13:00
Ethereum has special random generator API, which uses previous block hash as random number. This way RNG is 100% deterministic.
Smart idea.

A: boris.povod 13:01
@Technologov: based on previous block hash is not random number
@Technologov: it's can be attacked by miners
@Technologov: there is another good idea of random numbers 😛 Same from Eth guys

Q: Technologov 13:01
But no better way exists anyway.
And all code needs to be deterministic (to prevent chain forks).

A: boris.povod 13:02
@Technologov: there is deterministic code if you look at toolkit, but when you as developer write some logic code for your sidechain, you can make there mistake
Q: Technologov 13:04
Another risky stuff: opening TCP/IP sockets. This is disabled in Ethereum (because it is non-deterministic).
The right way is to push 3rd party data (like prices of BTC/USD, or weather, or president elections) into blockchain by Oracles. Then it can be used by blockchain contracts.

A: boris.povod 13:07
@Technologov: for tcp/ip sockets we will use seccomp to block low level calls, just we didn't added it yet 🙂 Same for 3rd party data

Q: Technologov 13:09
How about endless loops ? Is there a mechanism to prevent them or limit them ? Or it will kill sidechain ?

A: boris.povod 13:11
There is javascript, no new language, because for sure you can write there endless loop. But it's pending on developer who work with toolkit

Q: Technologov 13:12
And what about Dapp updates ? Is it possible ?

A: boris.povod 13:14
Maybe later we will make special lang based on javascript.
We working on it now, there is still testnet, after current release we will releases few new versions to make DApp updates possible and we will make polish work

Technologov: Thanks !

P.S. BTW: Crypti uses sidechain for every Dapp, which potentially makes it more scalable than Ethereum. bonus video: https://www.youtube.com/watch?v=O9o5X4xHJnc
Jump to: