herrBez/ethereum-scalability

Openness

gfornari opened this issue · 13 comments

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

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

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.

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

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

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

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

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

What's about the time needed?

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?

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)

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.

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

Other sources:

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.