原文链接 Both in the glossary and in some of our previous posts we've touched on mining and the two main methods in use today: PoW and PoS. We'll discuss each method in this article, but first we'd like you to read the fundamentals: intro to cryptocurren…
任何国家都无法限制数字货币.为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用  c.分布式算法的实现 d.数据存储技术 e.拜占庭算法 f.权益证明POW,POS,DPOS 原因一: 点对点网络设计 其中点对点的P2P网络是bittorent ,由于是点对点的网络,没有中心化,因此在全球分布式的网络里,如果中国的结点挂掉了,还有美国的,英国的,日本的,甚至不小不点的某个非洲国家,都有全网数据与账本的热备. 原因二…
像比特币.以太坊.NXT.Bitshares等这些区块链系统,其本质上是一种加密经济组织,它建立在点对点网络上,是去中心化.无管辖的,由密码学.经济学和社会共识来共同维护.这些加密网络因各种原因有着多种不同的风格--有些基于ASIC的工作量证明(PoW).有些基于GPU的工作量证明.有些原生权益证明(PoS).有些授权股权证明(DPOS).还有我们即将见到的Casper权益证明--这些不同的风格都有着他们的哲学,在学习共识机制的时候,更重要的是理解其中的思想. "共识",其汉语解释为共…
0x00 介绍 在上一篇文章中,我们建立了一个非常简单的数据结构,它是区块链数据库的本质.并且,我们实现了以类似链条关系的方式向其中添加区块的功能:每个区块都会链接到前一区块.然而,我们实现的区块链有一个严重的缺陷:向区块链中添加区块太过容易和廉价.区块链和比特币的基本原则之一是,要使添加新区块是一项繁重的工作.本文中我们将解决这个缺陷. 0x01 工作量证明(Proof-of-Work,POW) 区块链的一个关键思想是,为了向区块链中添加新的区块,添加者(或节点)必须执行一些繁重的工作,而正是…
之前的博文已经实现了区块连的基本的工作原理,但在比特币系统中有一个很重要的概念:工作量证明POW,在比特币系统中它的作用就是在十分钟左右的时间内只有一个有能够记帐并得到奖励 在之前的博文中,区块的哈希值是我自己创建的,那么在这里需要将原区块函数更改为以下的样子 func NewBlock(data string, prevBlockHash []byte) *Block { //initial block data block := &Block{ Version:, PreBlockHash:…
近几天对区块链中几种常见的共识机制(PBFT,Raft,PoW,PoS,DPoS,Ripple)进行了总结.尽量使用简单易懂语言,篇幅较大,想了解的可以只读每个算法介绍中前边的原理.本篇文章主要参考<区块链技术指南>,首先表示感谢! ---Begin--- 区块链架构是一种分布式的架构.其部署模式有公共链.联盟链.私有链三种,对应的是去中心化分布式系统.部分去中心化分布式系统和弱中心分布式系统. 在分布式系统中,多个主机通过异步通信方式组成网络集群.在这样的一个异步系统中,需要主机之间进行状态…
共识机制作为区块链的关键技术之一,在业务吞吐量.交易速度.不可篡改性.准入门槛等等方面发挥重要的作用. 区块链是去中心化的,没有中心记账节点,所以需要全网对账本达成共识.目前有POW.POS.DPOS.POOL四种共识机制. 首先从“拜占庭将军问题”开始(简书:中本聪与拜占庭将军问题), 用区块链技术中非对称加密和可信的分布式网络解决拜占庭将军问题中的共识问题. 非对称加密 可以解决古代难以解决的签名问题: 消息传送的私密性 能够确认身份 签名不可伪造.篡改 作用:保护消息内容, 并且让消息接收…
POW:Proof of Work,工作证明. 比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值.要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度.当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件.当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash…
注:这是本人读到的关于共识算法最全和最好的分享博文,系统的介绍了拜占庭容错技术以及共识算法的原理和常用共识算法,原文链接请见后. 目录 一.拜占庭容错技术(Byzantine Fault Tolerance,BFT) 二.PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法. 三.Raft协议. 1.Leader Election 2.Log Replication 四.POW:Proof of Work,工作证明. 五.POS:Proof of…
这篇文章主要来讲一下Filecoin协议里面的复制证明(Proof of Replication),由于协议涉及到很多概念,可能看起来有点晕乎乎的,小编尽量把复杂问题简单化 ,力求给大家做大普及IPFS知识 概念: 挑战(challenge):系统对矿工发起提问,可能是一个问题或者一系列问题,矿工正确的答复,则挑战成功,否则失败 证明者(prover):矿工向Filecoin系统提供有效的证明,来完成挑战(challenge) 检验者(verifier):系统代表用户向矿工发起挑战(challe…
[区块链]共识算法(POW,POS,DPOS,PBFT)介绍和心得 置顶 2017-03-12 18:31:19 乐扣老师lekkoliu 阅读数 127953  收藏 更多 分类专栏: 技术管理 区块链 区块链   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lsttoy/article/details/61624287 POW:Proof of Work,工作证明. 比特币在Blo…
POW , POS 与 DPOS 一切都为了共识 https://www.jianshu.com/p/f99e8fe57c9a   共识机制的背景 加密货币都是去中心化的,去中心化的基础就是P2P节点众多,那么如何吸引用户加入网络成为节点,有那些激励机制?同时,开发的重点是让多个节点维护一个数据库,那么如何决定哪个节点写入?何时写入?一旦写入,又怎么保证不被其他的节点更改(不可逆)?回答这些问题的答案,就是共识机制. 比特币的共识解决方案 我们知道比特币使用的是POW 共识机制, 比特币已经运行…
POW:全称Proof ofWork,工作证明. 这是什么意思呢?就是说,你能获得多少货币,取决于你挖矿贡献的有效工作,也就是说,你电脑性能越好,分给你的矿就会越多,这就是根据你的工作证明来执行货币的分配.大部分的虚拟货币,比如比特币.莱特币,以太坊等等,都是基于POW模式的虚拟货币(算力越高.挖矿时间越长,你获得的货币就越多). POS:全称Proof ofStake,股权证明. 这又是什么意思呢?简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个…
POS时机未到,POW强攻是实现全球货币的正确道路 取代现今的货币体系的正确进攻方式是POW强攻,现在的货币是由力量背书的,以后的货币也是由力量背书的,只有因造币耗费的力量超过了所有其它力量的时候才能取代成功,才能消除人们对造币行业的怀疑. POW造币的意义是发展保持我们的能力,由利益驱动着人们不止息地一代代追求更高.更快.更强,POW是一场竞技活动,和传统工作没有区别,传统的工作的本质也是一场POW竞技活动,POW造币的意义是可以将这场活动的规模扩大一倍,并提高规模增长的速度. 只有强攻才能将…
例题4  墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周上均匀分布.这就需要移动其中一些原有的雕塑.要求n个雕塑移动的总距离尽量小. [输入格式] 输入包含若干组数据.每组数据仅一行,包含两个整数n和m(2≤n≤1 000,1≤m ≤1 000),即原始的雕塑数量和新加的雕塑数量.输入结束标志为文件结束符(EOF). [输出格式] 输入仅一行,为最小总距…
算法导论12.1 什么是二叉搜索树 二叉搜索树应满足的性质: 设x是二叉搜索树中的一个结点.如果y是x左子树中的一个结点,那么y.key <= x.key.如果y是右子树中的一个结点,那么y.key >= y.key.(这里是可以取等于的) 例如: 3 / \ 4 / \ 2 可以容许相同的数. 中序遍历,因为根的遍历在左右子树之间,顾名中序,也就是左根右. 如上,中序遍历应该是:1234 那么43 124 可以给出中序遍历的递归式伪码: inorderTree(x) if (x != NIL…
习题2.3-7:设计一个算法,对于一个给定的包含n个整数的集合S和另一个给定的整数X,该算法可以在时间内确定S中是否存在两个元素,使得它们的和恰为X. 解题思路:首先应该想到的是先用一个的排序算法对S中的元素进行排序.接下来有两种处理思路,第一种思路是遍历已经排好序了的S中的所有元素a,并采用 二分查找的方法在S中查找X-a,如果能够找到,那么说明S中确实存在两个元素的和为X,算法终止.这种思路很显然是满足的限制要求的:第二种思路是我自己 想出的一个算法,这个算法也很简单,但是其正确性不是很好证…
证明:$tan3^0$是无理数. 分析:证明无理数的题目一般用反证法,最经典的就是$\sqrt{2}$是无理数的证明. 这里假设$tan3^0$是有理数,利用二倍角公式容易得到$tan6^0,tan12^0,tan24^0$是有理数,进而$\frac{\sqrt{3}}{3}=tan30^0$也是有理数,矛盾. 评:同样的方法可以证明$tan7^0$无理数.…
16 级高代 II 思考题十  设 $V$ 是数域 $\mathbb{K}$ 上的 $n$ 维线性空间, $\varphi$ 是 $V$ 上的线性变换, 证明: $\varphi$ 的极小多项式 $m(\lambda)$ 在 $\mathbb{K}$ 上无重因式的充要条件是对 $V$ 的任一 $\varphi$-不变子空间 $U$, 均存在 $\varphi$-不变子空间 $W$, 使得 $V=U\oplus W$. 本题是复旦高代教材复习题七的第 24 题或高代白皮书的例 7.15 从复数域…
近日整理书稿,在整理至Strling公式处时,发现当时数学老师所讲的是形式比较精细的一种: Strling公式:\(n!=\sqrt{2\pi n}\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}},\)其中\(\theta_n\in\left(\dfrac{n}{n+1},1\right)\)是一个与\(n\)有关的变量. 这相当于是利用Euler-Maclaurin求和公式所能得到的最精确形式的Strli…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2460 网上很多题目都没说这个题目的证明,只说了贪心策略,我比较愚钝,在大神眼里的显然的策略还是想证明一下才安心……所以这里记录一下证明过程. 贪心策略:按魔力值从大到小排序,从大往小往线性基里插,如果成功插入新元素,就选这个,如果插不进去,就不选这个. 证明: 设有n个材料,每个材料的属性值是x[1],x[2],...,x[n],魔力值是v[1],v[2],...,v[n],这里假设v已…
警告⚠️:本文耗时很长,先做好心理准备 证明:偏向锁.轻量级锁.重量级锁真实存在 由[java并发笔记之java线程模型]链接: https://www.cnblogs.com/yuhangwang/p/11256476.html这篇文章可知:每当java线程创建的时候相对应的os pthread_create()也会创建一个线程,使用synchronized()就必然调用os pthread_mutex_lock() 函数 synchronized关键字锁的状态:无锁.偏向锁.轻量级锁.重量级…
导言:原文的作者是著名的Ghost和Spectre 这两个协议的创始团队的领队Aviv Zohar.原文作者说他的这篇原文又是引用了以下这两篇学术论文: How to Explain Zero Knowledge Protocols to Your Children (Quisquater et. al.) Cryptographic and Physical Zero-Knowledge Proof Systems for Solutions of Sudoku Puzzles (Gradwo…
Lengauer-Tarjan算法的相关证明 0. 约定 为简单起见,下文中的路径均指简单路径(事实上非简单路径不会对结论造成影响). \(V\)代表图的点集,\(E\)代表图的边集,\(T\)代表图的DFS树. \(a \to b\)代表从点\(a\)直接经过一条边到达点\(b\)(即\((a, b) \in T\)), \(a \leadsto b\)代表从点\(a\)经过某条路径到达点\(b\), \(a \dot \to b\)代表从点\(a\)经过\(T\)的树边到达点\(b\)(在\…
看来我需要对我的vue能力做一个证明了~~ 最近辞职了,又逢病重,找工作的时候发现对vue要求蛮高的,说会不行,还必须要有过vue的项目. 我这种半路出家的哪里来的vue的项目,公司又不是那种一线互联网公司,活活的欺负人么不是. 15年刚刚接触java的时候,有开始写一些js,学习的方向上,当时es6还没问世好吧.当时学的最新的东西,到现在才四年,真心不够用了. 但是es6又不是不会,vue又不是不会,只是没项目经验,我要编造项目或者去淘宝买一些么? 抱怨也没用. 关于vue,我当然也有很多话要…
[背诵手记]Matrix Tree定理和一些推广 结论 对于一个无向图\(G=(V,E)\),暂时钦定他是简单图,定义以下矩阵: (入)度数矩阵\(D\),其中\(D_{ii}=deg_i\).其他=0 邻接矩阵\(A\),其中\(A_{ij}=[\exist e=(i,j)]\).其他=0 (*******wait!*******) 关联矩阵\(B\),其中\(B_{ij}=[\exist e_i=(a,b)](-1)^{[a>b]}\).其他=0(后面会用到) 拉普拉斯矩阵\(L=D-A\)…
第三十一个知识点:Game Hopping证明 关于安全证明, 目前主流的方法有安全归约证明 (由 single game 实现) 和 Game Hopping (由 game sequence 实现) 两种. 注意这篇博客是基于Douglas Stebila的论文An Introduction to Provable Security的部分3.3中书写的,通过这个链接下载论文:https://www.douglas.stebila.ca/files/teaching/amsi-winter-s…
本文内容概要: \(A=\sum\limits_{i=1}^n\dfrac1{\sqrt i}=1+\dfrac1{\sqrt2}+\cdots+\dfrac1{\sqrt n}\) \(O(\sqrt n)\) ,将给出一种只需使用初中数学知识的放缩 \(B=\sum\limits_{i=1}^n\sqrt i=1+\sqrt2+\cdots+\sqrt n\) \(O(n\sqrt n)\) ,使用积分进行放缩 \(C=\sum\limits_{i=1}^n\dfrac1i=1+\dfrac…
我们知道基于区块链技术现在有很多的共识机制,包括不限于POW,POS,DPOS,PBFT……,我先不说为什么我最认可POW,我们先来看看著名的拜占庭将军问题: 拜占庭帝国即中世纪的土耳其,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵.任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵.拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破.然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背…
定律一:每一个UTXO都保持其状不变,直到有外力迫使它改变这种状态为止--艾萨克•牛顿,原理2.0 在过去的几年里,关于比特币的工作量证明(PoW)所造成的"巨大的能源浪费"已经被很多文章讨论.在接下来的四篇文章中,我们将质疑这种普遍的观点,质疑用来支持"比特币的POW效率日益低下"的主要标准. 在第一部分中,我们将首先讨论PoW在比特币协议中的主要用途.然后,在重温了比特币PoW的两个重要特性之后,我们将定义这个实用程序Bitcoin.Days Secured的数…