Research
deep in principle
shenpanzhimao
这个作者很懒,什么都没留下…
展开
-
NEO小蚁共识安全
NEO小蚁共识安全前言NEO小蚁的共识算法很有趣,结合了PBFT和DPOS的思想,虽然是公链,但是似乎更适合在联盟链/私链场景下。而且NEO也支持自己用虚拟机或者docker搭建属于自己的私链。共识分析网上针对小蚁的共识算法分析有很多,这里看了两篇源码分析源码分析1源码分析2简单架构小蚁共识流程安全NEO在github曾经有过共识安全的讨论,具体可以见知道创宇的paper。...原创 2018-11-23 09:06:48 · 625 阅读 · 0 评论 -
共识算法汇总
共识算法汇总前言共识算法并不是只有POW,POS,DPOS,PBFT,RAFT等,还有很多小众的共识算法。笔者不可能全部了解共识算法,但是将他们汇总在一起,将来遇到了也有一个知识库查询,而不是到时候再来百度谷歌查询。文章分析算法的优点和缺点,但是不注重理解:30种共识算法完全列表ConsensusPedia: An Encyclopedia of 30 Consensus Algori...转载 2018-11-23 11:55:58 · 334 阅读 · 0 评论 -
stream和channel的应用
stream和channel的应用前言最近遇到stream,channel越来越多了,只是知道了表面的意思,但是深层的东西还是很懵懂。编程语言Golangstream在编程语言中,比如go语言中有通道,流应该是流过通道的。go语言中专门有channel这个概念。在golang中似乎channel是用来并发的。C++C++中,有>>或&原创 2018-12-11 20:50:28 · 1908 阅读 · 0 评论 -
区块链安全测试
区块链安全测试前言区块链如何进行安全测试?如何挖掘区块链源码中的安全漏洞?如何验证可能存在的安全的漏洞?这些,都是想进入区块链安全领域会遇到的一些常见问题。区块链安全与web安全有很大的不同,但是有些地方却与传统安全有相通之处,比如拒绝服务,资源消耗,错误处理。范围本文主要讨论以go语言写的区块链源码中的安全问题。主要原因是golang中许多小工具是方便测试的,如gotest, ...原创 2019-03-21 15:34:37 · 13104 阅读 · 0 评论 -
Tendermint共识算法安全
Tendermint共识算法安全前言Tendermint是一种结合了PBFT和POS的共识算法。它具有奖惩制度,可以惩罚那些想要作恶的节点。即使引入了合适的奖惩机制,但是还是有安全漏洞可以钻,本篇收集Tendermint相关安全材料分析Tendermint共识算法存在的安全问题。Censorship Attack中文翻译成审查攻击,有点词不达意。censorship中的censor是马赛克...原创 2018-11-22 22:46:27 · 833 阅读 · 0 评论 -
分布式算法基础
分布式算法基础前言在研究区块链共识算法的时候,发现很多基础就是分布式算法。其中最经典的两个分布式算法——Paxos和Raft。Paxos号称比较难理解,Raft相对Paxos更加中心化(strong-leadership),同时更容易理解。在网上有实现Paxos和Raft的算法代码,拿来跑完一遍之后对一些原理还是半懂不懂的,于是对着论文一点点把架构看懂。架构分布式算法的架构,可以理解为分布...原创 2018-11-20 20:04:06 · 1337 阅读 · 0 评论 -
共识算法——拜占庭问题中的同步、异步
共识算法——拜占庭问题中的同步、异步前言最近在研究共识算法,找到原始的paper,在对比拜占庭容错算法(BFT)和实用拜占庭容错算法(PBFT)的时候谈到了同步和异步。同步VS异步从论文中看,同步实现的难度更大,异步实现的难度更小。之前学过通信原理,同步传输对时间同步要求高,比如要求多个节点的时间都一样,这样要求会比较高,但是同步传输的效率是高于异步传输的。异步传输能够适应多种情况,但是会...原创 2018-11-11 20:08:59 · 2718 阅读 · 0 评论 -
区块链与状态机
区块链与状态机前言在学数字逻辑的时候接触过状态机,区块链中也提到了状态机,想把这两个概念融合在一起理解清楚。状态机状态机的关键是转移,会把转移的状态表现出来。而状态机一般以状态图的形式呈现。区块链区块链中将各个节点视为状态机,整个网络是在不断动态变化的,通过状态机可以把握整个网络的动态。状态机在区块链中的应用...原创 2018-11-11 20:12:42 · 5003 阅读 · 0 评论