New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Technology Roadmap Ticket #4566
Comments
I find myself agreeing with most of the suggested points in the roadmap, but I will challenge the following:
|
|
Some clarification:
|
Correct me if I'm wrong, but I think |
@egbertbouman , I agree, we should investigate that. However, encryption performance will only matter after we move to Rust-based IPv8 endpoint. |
A quick survey on ChaCha20 vs AES-GCM tells us that AES beats chacha flat when aes-ni instructions are available: https://calomel.org/aesni_ssl_performance.html However, Wireguard page still boasts ChaCha20's advantage over IPSec with AES-GCM: My "10x" performance statement came from this blog post which compares Wireguard against OpenVPN on a 10Gbit link. Perhaps, the dramatic performance difference it shows should be attributed more to crappy code in OpenVPN, than ChaCha20's performance. So, ChaCha is ruled out. |
Great initiative! Python3 and Libtorrentwrapper have top priority I believe. Then discuss together what should be next. |
I can provide some feedback about portability of the source code. I had dealt with cross compiling the codebase for for Python 2.6 and Python2.7 with ARM, x86 android(without python for android) , linux and windows osses in 2017 for Kodi implementation. I can define the experience with one word: AGONY. https://github.com/hbiyik/script.module.triblercore/issues/2 The problem is not the cross compiling but the method of the 3rd party libraries use when loading the DLLs to python. Some libraries use ctypes runtime loading, some use CFFI runtime loading, some libraries use cython/swig variants, some use pthon.h declerations. Then all the process becaomes a mess. SUGGESTION: |
@hbiyik , thanks for the info! You're talking about IPv8 Rust-based endpoint, right? |
@ichorid not only for IPv8 but for all C/CPP libraries for the core (not gui qt stuff, or mathplotlib) , libtorrent, libsodium, netifaces, cryptography backends, (or future lightweight alternative) etc.. |
@hbiyik thanks for your feedback. Each dependency we add which interact with native code in C/C++ makes it indeed harder for us to port Tribler to platforms with different architectures. This is one of the reasons why we do our best to keep the number of external dependencies as limited as possible. Also, we removed quite a few dependencies when we replaced the Dispersy networking library with IPv8. One of the dependencies of IPv8, Also, now that Tribler is Python3-compatible, it might be easier to port Tribler to Android. The developer team behind the Kivy framework we use to run Python code on Android increased overall stability and usability of the framework. We have some scripts available to deploy IPv8 on Android devices. However, porting Tribler to Android or other platforms is not something we have planned as a short-term goal. since our current focus is on stability and usability. Keeping Tribler stable with all the ongoing (technology) changes is already challenging enough. |
Closing this. Will create a new one when time is right. |
Cool. We've come a long way. Regarding the points concerning IPv8 (for anyone stumbling upon this issue in the future), this is how they are continued past this issue:
These ideas are definitely not dead! But, not of a very high priority right now. |
After 15 years of development, Tribler has become a running specification of an anonymous torrent client and decentralized content sharing network. However, the path to this specification was an evolution rather than rational design. We changed frameworks, libraries, platforms, paradigms... Now, empowered by the knowledge achieved along the way, we are ready to finally turn this specification into something modern, useful and robust.
This issue holds our technological roadmap. It is not for planning Tribler features, but instead for discussing their implementation.
os
modulepy-ipv8
Tunnel encryptionlibsodium AES-GCMWireguard-basedChaCha20 with Poly130501.11.20The text was updated successfully, but these errors were encountered: