Tribler / py-ipv8

Python implementation of Tribler's IPv8 p2p-networking layer
GNU Lesser General Public License v3.0
231 stars 47 forks source link

Add BPASE state of the art #56

Closed qstokkink closed 6 years ago

qstokkink commented 6 years ago

Some recent advancements in key fragmentation (pyUmbral) and proofing (Bulletproofs) can be integrated into IPv8's ID framework for large performance gain.

qstokkink commented 6 years ago

Bulletproofs turned out to be way too slow.

synctext commented 6 years ago

Related work similar to IPv8 overlay (not identity part) :

crusty

Our design philosophy is to enable trustworthy any-to-any communication. We want a very light-weight approach. For instance, libp2p is a much more heavy and broader approach. See their feature set:

We have a similar Design Philosophy to Telehash. Theirs is copied here

The primary idea that drove the creation and development of telehash IPv8 is the belief that any application instance should be able to easily and securely talk to any other application instance or device, whether they are two instances of the same application, or completely different applications. They should be able to do so directly, and in any environment, from servers to mobile devices down to embedded systems and sensors.

By enabling this freedom for developers as a foundation for their applications, telehash IPv8 enables the same freedom for the people using them - that the user can connect, share, and communicate more easily and with control of their privacy. The challenges and complexity today in connecting applications via existing technologies such as APIs, OAuth, and REST are only increasing, often forcing fundamentally insecure, centralized, and closed/gated communication platforms. By adopting telehash, an application immediately has a powerful set of open tools for its own needs, but can also easily enable connectivity to and from applications created by others. These tools include the ability to have friends, sharing, feeds, tagging, search, notifications, discovery, transactions, and other social patterns.

telehash IPv8 has a fundamental requirement to remain simple and lightweight in order to support applications running on networked devices and sensors. The design goals also include not forcing any specific architectural pattern such as client-server, centralized/federated/distributed, polling/push, REST, streaming, publish-subscribe, or message passing... any can be used, as telehash simply facilitates secure reliable connectivity between any two or more applications in any networking environment.

qstokkink commented 6 years ago

I've taken the time to investigate in-depth and read through the code; I concluded that the technology is interesting, but not interesting and/or mature enough to include in its current form.

As I see no immediate gain, I will close this issue. We can open other issues as new solutions surface.