dwebfoundation / grants

dWeb Foundation is a grant-giving org that gives large-scale projects or contractors grants between $25k-$150k on a quarterly/semi-annual/annual basis depending on the individual project being proposed.
https://www.decentralizedinter.net/
9 stars 1 forks source link

Integrate Handshake Protocol into Brave/Chromium core #4

Open zackees opened 2 years ago

zackees commented 2 years ago

Name

Zach Vorhies

Project Name

Brave Browser - Handshake Integration

Resume + Code Samples:

Brief: 8.5 years at Google. The team I belonged to worked on the chrome browser for Xbox/PS4/Nintendo Switch. These platforms generated 10% of all YouTube's traffic.

Resume link github.com link

Milestones

These are the milestones I would want to achieve in the span of one 3 months (1 quarter).

Testing

All the code used needs to have 100% code coverage, which will include unit and integration testing using the existing gunit testing frame work developed by google.

Language

Brave executable is built in C++, with tooling using python 2.7.

The integration will follow this pattern. The Brave browser implementation is expected to be written 100% in C++. Support tooling will be written in python.

Risks

I'm anticipating that nearly all of the business logic will be written once in the shared codebase portion. If per-platform modifications are required then the stake holders will be notified ASAP.

There's also the possibility that the reference implementation of the handshake protocol is missing some features that aren't apparent until the integration phase.

Notes:

zackees commented 2 years ago

Brendon Eich has responded with a link to his previous thread:

Thread

There is back and forth between different technology solutions. What Brendon states is that any solution has to satisfy the following:

Links

Puma's support for HNS support investigated. https://twitter.com/jonathansampson/status/1482835509223251972

HDNS.io HDNS.io is a public resolver created by Namebase that enables you to access Handshake domains by changing your DNS settings.

zackees commented 2 years ago

it seems very likely that mobile will need a gateway for the foreseeable; not decentralized. I haven't caught up with @MatthewZipkin lately, but I heard of an Impervious desktop preview coming this week. https://twitter.com/BrendanEich/status/1516146679069626368

Beacon by @impervious already released for mobile with native HNS p2p networking and no gateway needed(*)

Beta for desktop is expected this or next week, is chromium based and will be open-sourced, so @Perpetualmaniac should have a breeze with that grant proposal! https://twitter.com/MatthewZipkin/status/1516161945447153665

(*) it does, however, require an external DoH server with HNS resolution. This server can be run by anybody and is not trusted (that's where the native HNS p2p networking comes in) https://twitter.com/MatthewZipkin/status/1516162201257746437

zackees commented 2 years ago

Discussion on an implementation for ENS resolve:

https://github.com/brave/brave-core/pull/8125#discussion_r588818862

This is a reference implementation of the handshake device. https://github.com/handshake-org/hsd

Main commit to implement ENS https://github.com/brave/brave-core/commit/c24b31eeafdeee0c0b166f6add83f341f0cd2d3a

Implementation of IPFS for brave-core: https://github.com/brave/brave-browser/issues/10220

zackees commented 2 years ago

https://twitter.com/BrendanEich/status/1516207549548167170

zackees commented 2 years ago

photo_2022-04-18_20-22-31

zackees commented 2 years ago

Open question I'm researching right now:

Is there a C++ reference implementation of the handshake protocol?