paxos_database

所属分类:区块链开发
开发工具:Python
文件大小:529KB
下载次数:0
上传日期:2021-03-18 03:20:01
上 传 者sh-1993
说明:  使用Multi-Paxos一致性算法的容错去中心化数据库。
(Fault-tolerant decentralized database using the Multi-Paxos consensus algorithm.)

文件列表:
screenshots (0, 2021-03-18)
screenshots\Blockchain in sync.png (170114, 2021-03-18)
screenshots\Client request fulfilled.png (69381, 2021-03-18)
screenshots\Database in sync.png (174133, 2021-03-18)
screenshots\Restore from backup.png (73406, 2021-03-18)
screenshots\Server handling requests.png (83700, 2021-03-18)
src (0, 2021-03-18)
src\blockchain.py (4961, 2021-03-18)
src\client.py (2221, 2021-03-18)
src\constants.py (2057, 2021-03-18)
src\dictionary.py (1322, 2021-03-18)
src\main.py (4434, 2021-03-18)
src\messages.py (12832, 2021-03-18)
src\server.py (7630, 2021-03-18)

# Paxos Database Fault-tolerant decentralized database using the Multi-Paxos consensus algorithm. ## Description This is a distributed key-value database in Python with full replication across nodes. It uses the Multi-Paxos algorithm to reach consensus among server nodes, and as long as a majority are live, the system can make progress and service requests. The data is backed by private blockchain and disk backup to prevent tampering and ensure fault-tolerance. There are separate server and client nodes, so some users (clients) can interact with the database without hosting any data. All requests are queued and serialized to prevent race conditions and forks. Paxos leader election only takes place at startup or when a leader is unreachable, so the round is generally skipped during normal operation, allowing the system to process more requests. Nodes keep track of the leader and forward requests, so requests can be made from any endpoint (requester address is saved in order to return the result to the original sender). Nodes detect discrepancies among their peers and send data to new nodes and revived nodes for resynchronization. ## Screenshots



Blockchain synchronized across nodes
Blockchain in sync

Database synchronized across nodes
Database in sync

Data automatically restored from file backup
Restore from backup

Client data retrieval request fulfilled
Client request fulfilled

Server node (non-leader) log while servicing requests
Server handling requests


近期下载者

相关文件


收藏者