hwlsniper / aerochain Goto Github PK
View Code? Open in Web Editor NEWThis project forked from liam-lian/aerochain
a blockchain demo using pbft
This project forked from liam-lian/aerochain
a blockchain demo using pbft
AeroChain原型系统 作者联系方式:[email protected] 项目介绍文档,请联系作者获取相关论文和专利中提及的设计材料 运行注意事项: 1.需要将Constant.java中的相关配置按自己的环境进行修改(路径,ip地址) 2.需要给每个节点赋一个不同的节点id 3.fastjson插件一定要有无参的构造函数 4.只有一个节点启动simulator线程 5.只有一个节点启动multicastReceiver线程 6.关闭windows防火墙 7.mac要加一个jvm参数-Djava.net.preferIPv4Stack=true TODO list 1.节点数量动态变化功能由连状作为新的研究点调研后实现 2.对于prePrepare阶段,因为有可能存在正确主节点提出区块中的数据,正确的从节点还没有收到的情况,因此可能触发从节点的一个视图切换过程,如果从节点先监听如果能最少收集到threshold条对于主节点提出的区块的认可,那么就不必再发起新一轮的视图切换,提高了系统效率。 对于论文: (0)会议版本 (1)学术论坛版本,指出和HyperLedger的区别:通过客户端确认机制,将commit阶段的通信复杂度由n方降低到了n。commit阶段的意义在于保证区块链不会分叉 (2)指出merkle树的主要作用体现在SPV节点上,对于全节点而言,其实意义不大,但是为了向后兼容轻量级节点,我们保留了相应的编程接口 (3)指出在checkpoint协议中区块链高度作为区块链全局中的一个状态的一个组成部分,实际上可以由最新区块的哈希得到,不必保留区块链高度,但是实际上还是使用区块链高度来表示最新的检查点更为方便,无论是从编程实现的角度还是用户使用的角度 (4)请求同步的节点在接收其他节点发回的同步消息时,只需要收到2f+1个节点相同信息(难以保证延迟),或者一个节点发回的区块中有充足的证据即可(实际采用)。 (5)synchronized消息中还是应该包括一个区块链,而不是仅仅包含一些preparedEvidence ATC review (1)基于消息传递的共识算法消耗当然比POW低,需要进一步说明基于消息传递算法的设计难度 (2)节点没有利益为什么还要继续验证数据,说明联盟链的模型 (3)取余用mod,mod2漏掉了一个2 (4)假设数据源是正确的假设为什么成立? (5)用区块链技术保存航空监视信息好像不太合适,航空监视信息不适合去中心化处理,应该确保中心化实体的行为是正确的 (6)现有雷达解决方案需要详细叙述,现有系统真的被攻击过吗,现有工作的缺点是什么 (7)论文需要proof reading (8)和p2p存储的区别
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.