GithubHelp home page GithubHelp logo

sergeyivanovdevelop / blockchain-crypto-messanger Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 40.83 MB

This repository contains the code and configuration for deploying and running the Blockchain Crypto Messanger project, which is a node of the blockchain network.

License: Other

Java 3.19% C 21.77% C++ 60.06% Python 1.06% Makefile 5.78% CMake 7.71% Shell 0.09% Roff 0.34%
address-sanitizer aes-256 android-application android-studio anonymity blockchain blockchain-technology c cpp cryptography distributed-systems i2pd java mesh messenger one-time-pad python3 sqlite3 tls yggdrasil-network

blockchain-crypto-messanger's Introduction

Robot-Rolly

Blockchain Crypto Messanger "Geekon"

Blockchain Crypto Messanger ยท GitHub license Java Android Studio Python C C++ SQLite Address Sanitizer I2Pd Yggdrasil LinkedIn Telegram

This repository contains the code and configuration for deploying and running the Blockchain Crypto Messanger project, which is a node of the blockchain network.

The project is composite and includes the following components:

  • BCM-Linux-Console (C, C++, Python, I2Pd, Yggdrasil)
  • Android-Client (Android Studio, Java)

The main features of this messenger are:

  • There is no need for miners to make a decision in the consensus process
  • Solved the problem* of the ever-growing size of the blockchain (* - it periodically resets when a certain number of transactions is reached)
  • Encryption using one-time pads is used (i.e. even quantum computers will not be able to decrypt messages ever entered the blockchain)
  • Solved the need for a constant key exchange-one-time pads (only a one-time key exchange is needed) thanks to a distributed data storage system (more details will be described in a future article or read the source code)
  • Added implementation of distributed data storage running on top of Yggdrasil mesh network (SSL + ipv6)
  • Added the ability to put large files in a distributed storage, create small link files on them and send them on the blockchain, and the recipient, if necessary, will be able to request them from the distributed storage
  • Added the ability to remotely control the node without losing the level of security (encryption using one-time pads)
  • Anonymity in the project is provided by the blockchain network, as well as the i2p network.
  • All information about the node is concentrated in the SQLite database encrypted with AES-256 and, if necessary, transferring the messenger to another device will not be difficult.
  • Added basic protection against keylogger when entering a password from the database.

General functional model

Architecture

Network architecture

Architecture


At the moment, a decision has been made to abolish the central server, and users who want to communicate must exchange address and key information in person or through a trusted communication channel.

Sending message

Architecture

Functioning of distributed storage

Architecture

Reference file structure

Architecture

Checking messages addressed to a user

Architecture

Key features of BCM

Architecture

Security level

Architecture

๐Ÿ–ฅ๏ธ BCM-Linux-Console part of the project

This part of the project is its core and is designed to deploy a node in the blockchain network and communicate with other network participants.

Full list of provided functionality:

  • Deployment of a blockchain network node participating in the consensus process, in which there is no need for miners and complex calculations
  • Providing the console interface of the messenger
  • Ability to add users to the messenger, change user keys
  • Ability to change node management to a remote (Android device)
  • Encryption of information using one-time pads (protection against quantum cryptanalysis)
  • The ability to use a distributed data storage in the Yggdrasil mesh network, as well as act as a member of this storage
  • Periodic blockchain update
  • DB encryption AES-256
  • Using the anonymous network i2p
  • Additional protection against timing attacks

๐Ÿ“ฑ Android-Client part of the project

This part of the project is its core and is designed to deploy a node in the blockchain network and communicate with other network participants.

Full list of provided functionality:

  • Possibility of remote control of a blockchain network node via WiFi while maintaining the level of security of transmitted information (encryption using one-time pads)

๐ŸŽฌ Example using (GIF):

This animation demonstrates scenarios for using the BCM-Linux-Console.

animated

This animation demonstrates scenarios for using the Android-Client.

animated

๐Ÿ“‘ Licence

Blockchain Crypto Messanger "Geekon" is CC BY-NC-SA 3.0 licensed.

blockchain-crypto-messanger's People

Contributors

sergeyivanovdevelop avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

cleancoindev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.