tradle / why-hypercore

Exploration of Hypercore's breakthrough designs and capabilities, uncovering its gems that may be scattered across different github accounts (official and community-led), and learning to think from the "first principles" of P2P, while using the best Cloud, AI and blockchain have to offer.
MIT License
81 stars 6 forks source link

A few notes for the FAQ #8

Closed pfrazee closed 3 years ago

pfrazee commented 3 years ago

Wanted to add notes and corrections, felt like the easiest solution was to fork and do some edits. Not really mergeable because some of my notes are just thoughts I've dumped in there.

I didn't hit the entire FAQ but at least 66%

urbien commented 3 years ago

Hm, I am not sure I understand the followin

Key rotation/replacement is one of the motivations for introducing DNS to Hyper's addressing scheme as it would enable key rotation via the indirection of name lookup.

I discussed key rotation for individual Hypercores with @mafintosh and multi-key module came up as the solution. Not sure how DNS could help and why would we use DNS which is quite centralized and hard to update. Didn't we git rid of it with DHT?

urbien commented 3 years ago

can you elaborate on the manifest

pfrazee commented 3 years ago

I discussed key rotation for individual Hypercores with @mafintosh and multi-key module came up as the solution. Not sure how DNS could help and why would we use DNS which is quite centralized and hard to update. Didn't we git rid of it with DHT?

Well, people still want shortnames. We've discussed some alternatives to the ICANN DNS but I think any alternatives would have to be additions, not replacements.

I'm not sure if DHT == DNS is quite the right way to describe it. I often think of it more as a replacement for IP addresses.

I wouldn't propose DNS as the only solution to key rotation, but it's obviously able to accomplish that task.

can you elaborate on the manifest

Nothing thought-out, just suggesting a userland application, eg a package manager, could have manifests which record the strong-link hashes.

urbien commented 3 years ago

on Key rotation, I see that we are discussing 2 separate things. I think you are talking about human readable URLs, as in the discovery key to the Hyperdrive in the swarm. And I agree, people will need short names that can be remembered and searched well. For me DNS has 2 dimensions:

When I talked about key rotation though, I meant another problem: There is a need for changing private key of existing Hypercore. It is needed when you restore on a new device, for moving to a new key when old key is lost or suspected to be compromised, and for security best practices, as keys should change (get rotated) over time. We need to solve this for mass deployment. We all are familiar with Gmail mechanisms for recovery of lost credentials. They are plentiful and are being extended with more options every year. As a first step, I was thinking how to use multi-key to continue with the same Hypercore but new credentials.

urbien commented 3 years ago

I seem to have merged all suggestions above and added a more content to FAQ, e.g. USP 'time travel', 'real-time UI updates', more use cases for hyperbee as streaming DB. Closing this PR.