herrBez / ethereum-scalability

Report about the architecture and the scalability of ethereum
5 stars 1 forks source link

Openness #44

Closed gfornari closed 6 years ago

gfornari commented 6 years ago

Maybe it's late, but we talked about openness of the system w.r.t. the new entering nodes. What to do with this?

herrBez commented 6 years ago

I totally agree with you, we should decide what to do. Currently, we cite openness only once in Section Background (2.2) and we say:

Finally, the bootstrap time, that is, the time needed for a new node to download and process the whole transaction history is another key factor that can contribute to the scalability (scaling out) [28] and openness [7] of the system.

Maybe we could add in result some data from trustful sources, that describe how much time a synchronization require (with fast and without fast synchronization) #24

gfornari commented 6 years ago

I agree reporting some results of trustful sources, but, since in "Test" we report the results of our tests, we can just add a section under "Scalability" and talk about the openness citing the sources.

herrBez commented 6 years ago

Yes, totally agree, the problem is to find the sources ^^

gfornari commented 6 years ago

Ahah yes. Let's find and report them here before write down anything.

herrBez commented 6 years ago

Eventually I could try to sync with my pc with an official testnet, which is not too big: https://ethereum.stackexchange.com/questions/27048/comparison-of-the-different-testnets

gfornari commented 6 years ago

Ethereum ChainData Size Growth (FAST Sync) chart: https://etherscan.io/chart2/chaindatasizefast

herrBez commented 6 years ago

Is this only the blockchain size (blocks + blocks bodies)?

What's about the time needed?

gfornari commented 6 years ago

I think we confused openness with scalability. In the Tanenbaum (Distributed Systems, 3rd ed), §1.2, Being scalable, we can refer to:

Size scalability: A system can be scalable with respect to its size, meaning that we can easily add more users and resources to the system without any noticeable loss of performance.

while in Being open, we have:

An open distributed system is essentially a system that offers components that can easily be used by, or integrated into other systems. At the same time, an open distributed system itself will often consist of components that originate from elsewhere.

My understanding is that an open system is such that is open to the other systems, outside itself. What we meant with openness could be renamed to size scalability if we read "meaning that we can easily add more users", but we don't have any noticeable loss of performance (although we know that in PoS we have a little overhead adding validators).

I'm a bit confused. Any strong idea? Or just an idea?

herrBez commented 6 years ago

I agree with you, we intended the size scalability of Tanenbaum.

Openness is something else (although ethereum can be used as backend to other system)

gfornari commented 6 years ago

Ok, now I'm not sure neither on the size scalability. I think it's more like "is it heavy to add users to the system?". From a user perspective, yes, it is. But from a system perspective, I'd say no. they have to download a part of the blockchain, but I think they don't actually affect the system performance.

herrBez commented 6 years ago

Maybe not the system performance, but the capacity of the network to increase its size (i.e. adding new nodes), yes.

gfornari commented 6 years ago

Other sources:

herrBez commented 6 years ago

We have decided to remove the word "openness" in the background and use simply the description of what we intended. Furthermore, we want to add a table that contains the time needed to sync or even better find a reference (better a scientific paper) where these values are reported.