Inspiration
To begin, we believe individuals should be able to control their data and have full transparency with their data records. No private entities should be able to monopolize social networks.
With the rise of media dependency, social media has slowly become less and less social. User's personal feed is often filled with suggested posts from an algorithm that aims to show posts that keep one scrolling for as long as possible. In a way, social media is no longer socializing. This is partially fueled by the fact that social media companies own the server that host this social network and they then in terms could profit by keeping its users on their network for long. Not only does these private entities owns the server(s), they also can easily take user data without any overseers and train the suggestion algorithm with them. After looking into Mastodon, a free and open-source decentralized social media released in 2016. We believe there are some downsides to Mastodon that may be affecting its general popularity.
- users may want to receive updates (posts) from creators that they previously follow and want to keep up to in some centralized social media
- whereas Mastodon is more of a network of many smaller centralized servers, a server instance or a community, is still hosted centralized. host owner can decide the ownership and permission.
- user has no motivation to host individual servers on their machine
The somewhat recent update to Instagram that pushed suggested posts into user's personal feed, crowding up the user's feed which used to only be for one's followed list, and making it so that one's home feed will virtually never end, turning one's "checking on update from friend's lives" to a long scrolling session, and sometimes not even finding the posts from the people you follow and wanted to see. We believe users should be able to see what they actually wanted to see when they are checking their social media instead of being distracted by an endless pit of memes before even seeing the content one logged on to view.
What it does
Decentralization at its Core: Unlike conventional social media, Lyuba operates on a decentralized framework. This means no single entity controls the platform, ensuring unbiased and unrestricted access to all users.
User-Curated Experience: We empower users to curate their own feed. Lyuba steers clear of private suggestion algorithms, giving you the reins to filter and select the content you wish to see.
Data Transparency and Control: In an era where data privacy is paramount, Lyuba stands out by offering full transparency on data storage and usage. Users have complete authority over their data and how it's utilized.
Unrestricted Public Access: Lyuba upholds the principle that publicly accessible data should remain uncensored and available to all, free from the clutches of private entities.
Peer-to-Peer Infrastructure: The backbone of Lyuba is its peer-to-peer system. This allows hosting, computation, and storage to be distributed among community members. Contributing to this swarm not only supports the network but also rewards members through our unique token system.
Integrated Subscription Feed: Embracing inclusivity, Lyuba features a subscription feed akin to RSS, enabling users to view content from centralized platforms seamlessly. This fosters a diverse content ecosystem without the need to switch platforms.
Tokenomics: Lyubabit
At the heart of Lyuba's economy is Lyubabit, our bespoke fungible cryptocurrency. Designed to reward community participation, Lyubabit incentivizes users who contribute to the platform's infrastructure. Whether hosting services, processing requests, or maintaining network health, every contribution is valued and rewarded.
This token system fuels the platform's operations and fosters a sense of ownership and community among its users. By participating in the Lyuba ecosystem, users are not just audience members but active stakeholders in a new era of social media.
How we built it
Frontend
The frontend of Lyuba is powered by Elk, a versatile Mastodon web client. This choice ensures a user-friendly interface that is both familiar to existing social media users and intuitive for new adopters.
Integrating with Mastodon's Services
Our backend is designed to seamlessly integrate with Mastodon's services, enabling us to scale up to a distributed swarm-like structure. This integration was vital to handle the increasing load as more users joined our platform.
Scaling Mastodon
We achieved scaling by dividing Mastodon's hosting architecture into three layers: Web Request Handling: This layer manages incoming web requests. We used pgBouncer, a lightweight connection pooler for PostgreSQL, to handle these requests efficiently. Database Management: The database layer is crucial for storing and retrieving data. To manage this, we employed load balancers like nginx. This approach ensures smooth data handling, even under high traffic.
Media File Storage
We adopted a S3-compatible interface provided by Storj for storing and accessing media files. This allows us to store large amounts of media files in a distributed and secure manner. It offers decentralized cloud storage solutions, which align perfectly with our goal of creating a trustless system. Storj helps us store data across a decentralized network, ensuring better security and availability.
Hedera Local Node
For testing purposes, we set up a local node of Hedera. This allows us to simulate real-world transactions and interactions within our network, ensuring our system is robust and ready for deployment.
Challenges We Ran Into
Integrating P2P with an Existing Platform
One of our main challenges was integrating a peer-to-peer (P2P) system with Mastodon, an existing platform. This required careful planning and execution to ensure compatibility and functionality. Handling Multiple Libraries and Frameworks The development process involved navigating and integrating many libraries and new frameworks. This complexity posed significant challenges in ensuring stability and coherence in the system.
Designing a Trustless, Secure System
Given our commitment to open-source code, designing a trustless system with robust security measures was crucial. Ensuring the security of user data and network interactions in an open-source environment presented unique challenges.
Time Constraints
The ambitious scope of our project, coupled with a short development timeframe, meant that some planned features could not be completed. Time constraints impacted our ability to realize all aspects of the project entirely.
What We Learned
Flexibility and Adaptation
Adapting to the project's evolving needs, particularly in terms of integrating with existing technologies and frameworks, was an essential learning experience. It taught us the importance of flexibility in development.
Importance of Security in Open Source
Working on an open-source project highlighted the critical nature of security, especially in a decentralized, trustless environment. We learned the complexities of safeguarding a system that is transparent and accessible to all.
Navigating Distributed System Complexities
Building a platform on a distributed system like P2P highlighted the intricacies involved in such architectures. We gained a deeper understanding of managing data consistency, handling network partitions, and ensuring scalability in a distributed environment.
Importance of Decentralization in Modern Platforms
Our work on Lyuba reinforced the significance of decentralization in modern web platforms. We learned the challenges and rewards of creating a system where control and data are not centralized but distributed across a network of peers.
What's next for Lyuba
- integrating current feature, allow adoption with ease
- further research and implementation of security
- an extension to allow users to act as data collection node
Built With
- cloudflare
- docker
- elk
- go
- google-cloud
- hedera
- libp2p
- mastodon
- nginx
- postgresql
- solidity
- storj
Log in or sign up for Devpost to join the conversation.