Glitter is a revolutionary approach to social networking, leveraging personal blockchain technology to give users full control over their data while enabling privacy-preserving social interactions. It aims to address the significant shortcomings of current Web2 social networks and professional platforms by prioritizing user privacy, data ownership, and authentic connections.
- Personal Blockchains: Each user has their own blockchain, ensuring data ownership and control.
- Decentralized Architecture: No central authority controls user data.
- Privacy-Preserving: Uses zero-knowledge proofs for claim verification without revealing underlying data.
- Distributed Backup System: Implements Shamir's Secret Sharing for distributed, secure backups.
- P2P Communication: Simulates a peer-to-peer network for data propagation and backup distribution.
- Trusted Nodes: Users can designate trusted connections for improved network reliability and backup management.
- Python 3.7+
- Dependencies listed in
requirements.txt
- Clone the repository:
git clone https://github.com/miofuku/glitter.git
cd glitter
- Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install the required dependencies:
pip install -r requirements.txt
To run the prototype:
python3 main.py
To run the tests:
pytest tests/
src/
:blockchain.py
: Implements the PersonalBlockchain classsocial_network.py
: Manages the SocialNetwork classp2p_network.py
: Simulates the P2PNetworkbackup_manager.py
: Handles backup and restoration of personal blockchainsshamir_secret_sharing.py
: Implements Shamir's Secret Sharing algorithmzk_snark.py
: Placeholder for zero-knowledge proof implementation.block.py
: Defines the Block class for blockchain entriestrusted_node.py
: Implements the TrustedNode class for managing trusted connections
tests/
: Contains unit and integration tests for all major components.
This prototype is a conceptual implementation and has several limitations:
- The zero-knowledge proof system is a placeholder and needs a real implementation.
- The P2P network is simulated and would need to be replaced with a real implementation for production use.
- The consensus mechanism is a simple placeholder and should be replaced with a more robust algorithm.
To turn this prototype into a fully functional system, consider the following enhancements:
- Implement a real zero-knowledge proof system to replace the current placeholder.
- Implement a real P2P network layer to replace the current simulation.
- Enhance the backup and restoration process with more robust error handling and conflict resolution.
- Develop a more sophisticated consensus mechanism.
- Implement a user interface for easier interaction with the network.
- Conduct a comprehensive security audit before any production use.
This project is licensed under the MIT License - see the LICENSE file for details.
This prototype is for educational purposes only and is not suitable for handling real personal data or for use in a production environment. Use at your own risk.