-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a chapter about physical location #3
Conversation
@@ -0,0 +1,497 @@ | |||
# Physical location | |||
|
|||
We often get asked “Where do your validators run?” |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0/5
We often get asked “Where do your validators run?” | |
We often get asked “Where do your nodes run?” |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just few typos or superficial/opinionated comments 👍
Software consists of computer programs that get executed by a chip. | ||
In our case, | ||
that chip is inside a server, | ||
which is in a rack, | ||
which is in a building, | ||
which is part of a data center facility. | ||
That facility has a clear physical location. | ||
It’s located in a country, and it has an address. | ||
We can say that the program is running in that particular location. | ||
|
||
Blockchains are _distributed systems_. | ||
They don’t consist of a single program running on a single machine, | ||
they are emergent systems that arise | ||
from many instances of a program interacting with each other. | ||
These instances can run on different machines, | ||
in different physical locations. | ||
While a particular instance has a well-defined location, | ||
we can’t really answer the question of “where” the blockchain network is, | ||
more specifically than “everywhere where people run nodes”, | ||
which might be as broad as “everywhere on Earth”.[^1] | ||
|
||
A blockchain network as a whole does not have a clearly defined location then, | ||
but at Chorus One we don’t operate the entire blockchain network, | ||
we operate validators that are _part_ of the network. | ||
Don’t these validators at least have a clearly defined location? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to go to such details? Since it is a part of "Network Handbook", I would assume readers familiarity with basic blockchain concepts. I am fine leaving it in if you think it can be useful in cases of less technical people.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think the target audience of the “Network Handbook” drifted a bit. (Or the handbook is suffering from scope-creep 😬). Section 2, the “Node Software Guide” is definitely aimed at readers who are building blockchains, so supposedly they know this. Section 1, “How Chorus One Operates Nodes”, I originally intended for it to be background for node software authors, but since then I found it mostly useful as a reference in RFIs. (Which is also the main motivation for writing this new chapter.) You’d think the people sending those RFIs are familiar with basic concepts, and in some of them you can see from the type of questions that they are, but for others, it’s also very clear that they have no clue.
[^1]: Probably except for Antarctica. | ||
Antarctica doesn’t have a very stable high-bandwidth Internet connection. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running in the middle of the ocean might be challenging as well if we want to be that specific 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the 1960s, there were pirate radio stations who didn’t have the right license to use the frequency band they were broadcasting in, operated from ships that sailed just far enough off-shore to be in international waters. But yeah I don’t think we’ll operate a validator from a nuclear submarine with Starlink uplink any time soon :-D
This question comes up so often. I want to have a document that explains why the question is wrong, and why the answer if you ask it anwyay is "it's complicated" and "it depends" and "that's not really what you want to know, is it?".
This adds the section with answers to what I guess most companies that send us RFIs want to know. (Or well, I don't know what they really want to *know*, but these are my intepretations of the questions they send).
Thanks Szymon! Also fixes one more typo I found.
Thanks Kamil for reviewing this. It's even more complex than I thought!
Thanks again Kamil, my view of Ethereum was still too simplified!
Background
As a company we often receive RFIs that include a question about location, and we often get questions from potential clients about location. I usually push back on that question because it is not well specified and can be interpreted in many ways, and a specific answer will go out of date quickly anyway, but I’m tired of having to explain this every time.
That’s why I wrote this chapter, so we can have one standard answer to point people to when the topic comes up again. My goal for this is:
If this chapter doesn’t answer people’s specific question, I included three possible interpretations of “where does it run” at the end of the chapter. We can use this to ask for clarification if people need a more concrete answer to check the box.
Note to reviewers