Closed synctext closed 3 months ago
All 6 members are added to organization, all members can compile the project and have read the background. Added a like button to the main screen.
Ivan's branch: https://github.com/NikolayBlagoev/trustchain-superapp/tree/profile-page
Ignjat and Wouter's branch: https://github.com/NikolayBlagoev/trustchain-superapp/tree/4-relay-messages-received Nikolay's commit to master: https://github.com/NikolayBlagoev/trustchain-superapp/commit/d2e0ba2b1134e921d9e31d69e19870cfa27f0919Made the pull request! We still need to fix the merge conflicts however, hopefully we can get that done within the next few days.
Link to most up to date working APK
The tracker was not used for the demo. It is provided as an altruistic "dummy node" which can seed content when the original creator is not online. It is used as a more stable alternative to the IPv8 python package which was quite buggy and often refused to work. This implementation on the other hand was stable and would never fail us when we would need to test content uploading/downloading.
Currently we rely on public trackers to discover content (the bittorrent public trackers) and not on a private tracker (the phones seed the content themselves). There is no way as far as I am aware to have working magnet links reliably without trackers (and they havve become the defacto standard in the modern torrenting world).
The issue we aimed to counteract is the following (a short incentive analysis): 1) when a user creates their own video, they have interest to seed it (as they want others to discover it). 2) When another user downloads that video, they are obligated to also upload (by the bittorrent protocol, as otherwise their download speed would also halt). Thus when downloading another person also has incentive to seed. 3) When the video is downloaded the other person no longer has an incentive to seed. Even in the current bittorrent protocol, seeding after the file is fully downloaded is considered purely altruistic behaviour. 4) The original user can then disconnect from the network (application closed, changed networks, etc. - all of which were issues not fully resolved by either IPv8 or libtorrent). Thus their video can no longer be downloaded by anyone, which will lead to loss of potential views/likes. If the network were large enough, there could often be many active users currently sharing content between each other, thus, probabilistically, that content would not be lost. 5) However, as we are in a stage with only 3 users, we provide altruistic nodes which can help the network in the early stages and thus not lose engagement.
In the future, the application could make use of tokens to pay others to seed your video while you are offline (and thus counteract the need for altruistic nodes). However, this was considered out of the scope for this project and hence a more simple solution is offered
Upvoting token. Each user can give away an infinite amount of ❤️ tokens. Content creators are rewarded with ❤️ tokens, boosting their visibility. Content gathering lots of ❤️ will get more attention and go viral. Content creators can see in real-time who is giving them a ❤️ token. The ❤️ token economy design and implementation is your responsibility. Part of your demonstration will be a wipe-based UX implementation which favours viral content. Fraud and manipulation of your token economy such as the Sybil attack can be ignored. Bonus background reading: The like economy: Social buttons and the data-intensive web.