Difference between revisions of "Channels/Decentralized"
(Created page with " Lots of projects claim to be decentralized. It is important to disclose exactly where this project is and what the remaining limitations are. Towards that end, we will note...") |
|||
Line 3: | Line 3: | ||
Towards that end, we will note some points about this project and answer what can be done about them and what the limiting factors are. | Towards that end, we will note some points about this project and answer what can be done about them and what the limiting factors are. | ||
+ | |||
+ | The objective is to have this project completely decentralized, where no one entity could take down the network. | ||
==Limitations== | ==Limitations== | ||
Line 8: | Line 10: | ||
===Seed Nodes=== | ===Seed Nodes=== | ||
− | Currently all the seed nodes used for the [[Channels/DHT_Design|DHT]] are run by Fireduck. | + | Currently all the seed nodes used for the [[Channels/DHT_Design|DHT]] are run by Fireduck. We should add some diversity. If all the seed nodes were unreachable or down new nodes would be unable to join the DHT and wouldn't be able to find peers for channels. |
+ | |||
+ | |||
+ | Fixes: | ||
+ | * Add more seeds - https://github.com/snowblossomcoin/channels/issues/18 | ||
+ | * Add multicast DHT discovery - https://github.com/snowblossomcoin/channels/issues/15 | ||
===IP Address Discovery=== | ===IP Address Discovery=== | ||
+ | |||
+ | Currently, nodes reach out to an app in Google App Engine in order to discover their own IPv4 and IPv6 public addresses. See: https://github.com/snowblossomcoin/channels/blob/master/src/NetworkExaminer.java | ||
+ | |||
+ | If this broke, nodes would be unable to announce themselves as peers on the network. | ||
+ | |||
+ | Fixes: | ||
+ | * Improve address detection: https://github.com/snowblossomcoin/channels/issues/16 | ||
=== snowchannel.io hosting === | === snowchannel.io hosting === | ||
+ | |||
+ | The proxy implementatation points x.snowblossom.io to a channel where x is the channel identifier. To help with that. *.snowblossom.io is a publicly reachable site that tells people to fix their proxy settings. It is hosted on CloudFront/S3. | ||
+ | |||
+ | If this went away, people would get timeouts or other errors when their proxy settings were not set correct. Not a huge deal. | ||
+ | |||
+ | === Source Control === |
Revision as of 04:51, 17 November 2019
Lots of projects claim to be decentralized. It is important to disclose exactly where this project is and what the remaining limitations are.
Towards that end, we will note some points about this project and answer what can be done about them and what the limiting factors are.
The objective is to have this project completely decentralized, where no one entity could take down the network.
Contents
Limitations
Seed Nodes
Currently all the seed nodes used for the DHT are run by Fireduck. We should add some diversity. If all the seed nodes were unreachable or down new nodes would be unable to join the DHT and wouldn't be able to find peers for channels.
Fixes:
- Add more seeds - https://github.com/snowblossomcoin/channels/issues/18
- Add multicast DHT discovery - https://github.com/snowblossomcoin/channels/issues/15
IP Address Discovery
Currently, nodes reach out to an app in Google App Engine in order to discover their own IPv4 and IPv6 public addresses. See: https://github.com/snowblossomcoin/channels/blob/master/src/NetworkExaminer.java
If this broke, nodes would be unable to announce themselves as peers on the network.
Fixes:
- Improve address detection: https://github.com/snowblossomcoin/channels/issues/16
snowchannel.io hosting
The proxy implementatation points x.snowblossom.io to a channel where x is the channel identifier. To help with that. *.snowblossom.io is a publicly reachable site that tells people to fix their proxy settings. It is hosted on CloudFront/S3.
If this went away, people would get timeouts or other errors when their proxy settings were not set correct. Not a huge deal.