Call me a Luddite, call me ignorant, the simple answer is we don’t need to solve the Byzantine generals problem for privacy because we are able to work indecently I.e. if it’s floss we can compile ourselves. I don’t need to trust anyone when I can vet the code and roll my own with it.
TL;DR: the Byzantine general problem isn’t a problem.
It isn’t a problem when you’re just running software on your own computer and have no need to communicate with anyone else.
But that’s not the case for domain names. It wouldn’t work at all if we each had our own private little parallel universe, it defeats the whole purpose of a domain name system. We all need to agree on which names are associated with which IP addresses.
I’m not trying to promote blockchains as a one-size-fits-all universal solution for every problem. That’s silly, no technology is a universal solution for every problem. Blockchains are very good at solving a specific subset of problems, and DNS names IMO is one of those. When you need everyone to agree on a particular fact and you don’t want to designate some particular authority to be “in charge” of validating that fact then that’s exactly what a blockchain is for.
I agree with pretty much everything you said, except the conclusion. For DNS, we don’t need distributed consensus, we have ICANN and that seems to work pretty well. We’d only need a blockchain if we needed to replace ICANN for some reason.
So assuming ICANN exists, you only need to trust registrars, which are regulate both by ICANN and whatever municipality they operate in.
Building a separate system to ICANN may be desirable in an abstract sense (ICANN kinda sucks in some ways), but it’s a bit too disruptive for too little gain since it would force everyone to go repurchase domains, leading to mismatches with the current system, causing confusion and enabling fraud. That’s a pretty high cost for minimal gain.
In other words, just because we can doesn’t mean we should. And this is coming from someone who is interested in crypto (mostly Monero) and distributed computing in general.
Call me a Luddite, call me ignorant, the simple answer is we don’t need to solve the Byzantine generals problem for privacy because we are able to work indecently I.e. if it’s floss we can compile ourselves. I don’t need to trust anyone when I can vet the code and roll my own with it.
TL;DR: the Byzantine general problem isn’t a problem.
It isn’t a problem when you’re just running software on your own computer and have no need to communicate with anyone else.
But that’s not the case for domain names. It wouldn’t work at all if we each had our own private little parallel universe, it defeats the whole purpose of a domain name system. We all need to agree on which names are associated with which IP addresses.
I’m not trying to promote blockchains as a one-size-fits-all universal solution for every problem. That’s silly, no technology is a universal solution for every problem. Blockchains are very good at solving a specific subset of problems, and DNS names IMO is one of those. When you need everyone to agree on a particular fact and you don’t want to designate some particular authority to be “in charge” of validating that fact then that’s exactly what a blockchain is for.
I agree with pretty much everything you said, except the conclusion. For DNS, we don’t need distributed consensus, we have ICANN and that seems to work pretty well. We’d only need a blockchain if we needed to replace ICANN for some reason.
So assuming ICANN exists, you only need to trust registrars, which are regulate both by ICANN and whatever municipality they operate in.
Building a separate system to ICANN may be desirable in an abstract sense (ICANN kinda sucks in some ways), but it’s a bit too disruptive for too little gain since it would force everyone to go repurchase domains, leading to mismatches with the current system, causing confusion and enabling fraud. That’s a pretty high cost for minimal gain.
In other words, just because we can doesn’t mean we should. And this is coming from someone who is interested in crypto (mostly Monero) and distributed computing in general.
…what? I’m not sure you understand what I mean by compiling on my end. Why would that preclude my being able to communicate with other people?