一、区块链共计多少轻节点(区块链最少几个节点)
区块链中的节点是什么?
节点就是一个区域的服务器。在互联网区域,一个企业所有运行的数据都在一个服务器里,那么这个服务器就是节点。
就像是我们每天使用的微信,每天处理着这么多的聊天信息、转账等。这些数据的存储和运行都在腾讯的公司的服务器里面。那么这个处理数据的服务器,我们就可以称之为“节点”。
再说区块链的世界,大家都已经知道区块链是去中心化的分布式数据库,它不依托于哪一个中心化的服务器,是由千千万万个“小服务器”组成。只要我们下载一个区块链客户端,我们就变成了那千千万万个“小服务器”中的一员。
这样来说,如果我们要玩区块链的话,我们自己就相当于是一个节点。
节点也分轻节点和全节点。全节点就是拥有全网所有的交易数据的节点,那么轻节点就是只拥有和自己相关的交易数据节点。
而且节点分布越多、越广泛,区块链网络就更加的去中心化,网络运行也就越安全稳定。节点的存在就是区块链分布式的表征,也是区块链的魅力所在
区块链技术可以连接多少个
491个。区块链技术可以连接491个。全国491个城市的公积金管理借助区块链技术,相当于实现了491个节点的点对点连接。“任何城市的公积金、任何公积金所管辖的个人,都可以异地进行相关业务操作。”
区块链总共有哪些
1、公有区块链
世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。
2、联合(行业)区块链
由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易。
但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询。
3、私有区块链
仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。传统金融都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化。
扩展资料:
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。
区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
以太坊技术系列-以太坊数据结构
本篇文章和大家介绍一下以太坊的数据结构,上篇文章我们提到,以太坊为了实现智能合约这一功能,使用了基于账户的模型。我们来看看以太坊中数据结构。
既然是基于账户的模型,我们需要通过账户地址找到账户的状态。就像通过银行卡号可以找到你在银行中的各种信息一样。最简单的想法当然是一个简单的哈希表key是账户地址value是账户状态。但这里有个问题解决不了。
轻节点如何校验账户合法性?
上篇我们说过,区块链中有2类节点,全节点和轻节点,轻节点只会存储blockheader,所以轻节点如何才能校验账号是否合法呢?
这个思路和我们平时用的md5校验一致,我们会对区块内的信息进行hash运算从而得出区块内信息唯一确定的值,区块链所有节点中这个值都是相同的。
在这个过程中我们用到了一种数据结构MerkleTree(哈希树),我们先看下MerkleTree(哈希树)的示意图。
上篇文章说到区块链中的链表(哈希链)和我们平时常见链表不同的是将指针从地址改为了hash指,这里也一样,哈希树和二叉树的区别有2个
1.将地址改为了哈希值
2.只有叶子节点存储数据
回到之前的问题轻节点是如何校验1个账户或交易是否是在链上的呢?
整个流程如上图所示
1.轻节点需要判断1个账号是否合法
2.轻节点由于只存储blockheader,所以拿到1个账号的时候会向全节点发出请求
3.全节点存储了所有账户状态,将账户路径中的需要计算用到的hash值返回给轻节点
4.轻节点本地进行计算根hash值,如果计算结果和自己存储一致则账户合法,不一致则不合法。
那以太坊中的账户信息的数据结构就是这样吗?
直接用这样的数据结构来存储账户信息会有2个问题
查找困难
生成hash值不确定
第1个问题应该比较容易发现,在这个树中寻找1个账号需要的复杂度是O(n),因为没有任何顺序。
第2个问题其实也是因为无序导致的,无序的组合每个节点针对同一批账户生成的hash值不一致,这就导致无法达成共识。
既然2个问题都和顺序有关,那我们类似二叉排序树一样,使用哈希排序树是不是就可以解决问题了呢?
使用排序树后会带来另外1个问题
插入困难
因为要维持树是有序的,很可能带来树结构的很大变动。
以太坊中使用了另外一种数据结构字典树。和哈希树不同,字典树应该是很多地方都有使用。我们简单来看下字典树的结构。
字典树能够较好地解决哈希树的2个缺点1.查找困难2.生成的hash值不确定以及排序二叉树的1个缺点插入困难。
但字典树我们可以看到可能树的深度可能由于部分元素导致整棵树深度非常深。
这时我们可以进一步优化,将相同路径进行压缩。这就是压缩字典树。
将哈希树和压缩字典树结合,就可以得到以太坊存储账户的最终数据结构-MPT。
将压缩字典树里面的指针从地址改为指针,并且将数据存储在叶子节点中即可。
介绍完状态树的数据结构,我们接下来讨论1个问题,区块中存储的账户状态是什么样的范围。有2种选择。
只保存当时区块中产生交易的账户状态。
保存全局所有的账户。
我们可以看下这2种方式,无非就是空间和时间的平衡,只保存当前区块产生的交易意味着是做懒加载(需要的时候才去寻找账户),在区块链中这个代价是非常大的,因为寻找的账户之前从未交易过,这样会遍历整个区块链。另外一种保存全局的账户方式虽然看起来空间消耗较大,但查找快捷,而且空间的问题我们可以通过其他方式优化。所以最终以太坊选择了第2种每个区块都报错全局所有账户的方式。
我们来看下以太坊中是如何保存状态树的。
可以看到以太坊中虽然每个区块都保存了全部账户,但是会将未发生变化的账户状态指向前1个节点,本身只存储发生变化的状态,这样可以较大程度优化空间占用。
介绍完以太坊中比较复杂的状态树后,我们继续来看看以太坊中的另外两棵树,交易树和收据树。
首先介绍一下,为什么需要交易树收据树。
1.交易树
虽然以太坊是基于账户的模型,但是就像银行不仅会存储银行卡的余额,还会存储卡中的每笔钱怎么来的以及怎么花的。交易树中就存储着当前区块中的包含的所有交易。
2.收据树
由于智能合约的引入增加了不少复杂性,所以以太坊用收据树存储着一些交易操作的额外信息。比如交易过程中执行日志就包含在收据树中方便查询。收据树和交易树是一一对应的。每发生一次交易就会有一次收据。
和状态树不同交易树和收据树只维护当前区块内发生的交易,因为当时区块发生交易时不需要再去查找另外1个交易,也就之前需要可能遍历整个区块链的查找操作了。
由于以太坊中的出块速度较快,我们进行一些查询一些符合条件交易的时候会面临大量数据遍历困难的问题。收据树中引入了布隆过滤器可以帮助我们有效缓解这一困难。
布隆过滤器将大集合中每个元素进行hash运算映射到1个较小的集合,这时再来1个元素要判断是否在大集合的时候,不需要遍历整个大集合,而是去进行hash运算去小集合中寻找是否存在,如果不存在,肯定不在大集合中,如果存在则不能说明任何问题。
如上图所示,布隆过滤器只能证明某1个元素不在集合中,不能证明1个元素在结合中。
以太坊中如果我们要在较多区块中寻找某1个交易,则可以利用布隆过滤器,过滤掉肯定不存在目标交易的区块,然后进入收据树内继续利用布隆过滤器筛选,剩下的才是可能的目标交易的交易,进行一一比对即可。
我们介绍了以太坊的核心数据结构,状态树交易树收据树,他们都是使用相同的数据结构-哈希压缩字典树。但状态树是维护1颗全局账户树,交易树和收据树则是维护本区块内的交易或收据。
介绍完数据结构后,后面我们会用几篇文章来介绍以太坊中的一些核心算法,比如共识机制,挖矿算法等。
什么是区块链的全节点与轻节点?
包含钱包、矿工、完整区块链、网络路由节点,可以独立验证交易,维持与对等节点的连接。
二、区块链需要关注的核心逻辑问题
区块链需要关注的核心逻辑问题
区块链是去中心、去中介、点对点的交易处理体系,是全网验证、全网记录、不可逆转、难以篡改、可以溯源、公开透明的分布式帐户体系,这是到目前区块链定义两个主要的内容。但是如果按照去中心、去中介、点对点交易这个标准去卡,很多人所说的运用了区块链,那基本上都不是。因为现在几乎没有真正去中心的区块链应用。很多人说区块链将是信任的机器,是价值的互联网,区块链将再造生产关系、经济组织、运行模式,将颠覆法定货币体系,颠覆复式记账法,甚至将出现人人可发币、人人自金融、人人自组织的全新的社会。是不是这样?
今天我想给大家就在这么热的氛围里面,我们怎么看区块链,怎么抓住它的核心逻辑,避免出现颠覆式的重大错误做一点交流。
这里主要是基于比特币区块链来看。
第一个就是比特币这一类的加密数字货币能不能成为真正的货币,这一类的数字货币能不能颠覆法定货币体系。
我们知道货币在人类社会存续了几千年,不断地演进,从最初的实物货币到规制化的金属货币,再到金属本位下的纸币,再到去金属本位的信用货币。不断地演进到今天它的逻辑和规律是什么,这是正需要我们去准确把握的。
货币在演化过程里面,特别是出来纸币以后,人们逐步发现货币的功能越来越多,货币的影响力越来越大,但是它最重要、最核心的功能是价值尺度。
要发挥价值尺度的功能,最基本的要求是币值一定要相对稳定。要做到币值相对稳定,理论上必须是一个国家的货币总量要与这个国家主权范围内法律可以保护的能够货币化的财富规模相对应。也就是说货币总量和财富规模要对应。
怎么对应呢?不可能一个个完全对应,所以就出来一个中介目标的概念。有一个全社会消费物价总指数的概念,所谓CPI的概念。当一个国家的CPI变动,即通货膨胀率的波动,在我们目标范围内,在可控的水平之内,我们就认为物价或币值是相对稳定的。
这里边我们讲的是相对稳定,因为一个国家越大,物价越不可能绝对稳定,同时又要将波动控制在一定范围里面不能失控。当你通货膨胀率的水平控制在一定上升范围里面,意味着货币在一定程度上是贬值的。货币的贬值有什么好处呢?它可以抑制存款、鼓励投资和消费,从而发挥货币政策的作用,促进经济的发展。正因为货币总量可以人为调控,而且有一个调控空间,货币政策才出来了,货币政策和财政政策一样,成为国家宏观调控的两大政策之一。但是有一个前提,货币的贬值或者通货膨胀不能失控,一旦失控,底层人民活不下去,社会就会发生剧烈的动荡,政府或朝代就会更替。历史上这种例子很多。
今天在货币政策上也面临着很多诱惑,诱惑人们超发货币。也正是因为这样的原因,使一些人开始说你们这个货币体系不对,人为能控制,就会有腐败、不公平,我们能不能用技术的手段形成一些人不能干预的货币体系?这也就催生了比特币这一类的加密数字货币。
但是我们要知道,货币发展的规律是货币要逐步从财富里面脱离出来的,成为一个财富的对应物,这样我们才能用货币总量完全跟财富对应,同时也跟着有一定的调控余地。因此像黄金这样实物属性强,受到它的储量和挖掘加工约束很大的东西要脱离货币,成为货币的对应物,当然可能有很大的储值的功能。这样就使货币发展到今天,成为人们所说的信用货币或者国家信用担保的货币。我自己觉得这个叫法不一定准确,因为很多国家政府的债务越来越大,是永远也还不了的,所以说是信用货币有点牵强。严格地讲今天的货币就是法定货币或者主权货币。是说一个国家的货币总量一定要跟这个国家主权范围内法律可以保护的财富规模相对应。也正因为这样大家会发现今天我们再回去用实物货币,用黄金做货币已经不可以了。同时我们再回去说民间发货币,货币的非国家化同样不可以。今天很多加密数字货币拥趸者都举一个圣典,说哈约克先生就说货币应该非国家化。但哈约克的想法到今天还没有落地,就是违反了货币发展的轨迹和逻辑。
我们来看看比特币。比特币运用了非常复杂的技术和严密的数学运算,但是在货币这个体系上是高度模仿黄金的,所以我们可以看到它是总量一定,而且每四年减一半,因为黄金储量是一定的,越容易挖的先挖出来,越往后越不容易挖,所以新增的产量理论上是越来越低的,总有一天会挖完。比特币也是一样,总量2100万个,每十分钟所含的含量系统设定好了,每四年自动减一半一次,到2140年基本上全部结束。
大家可能看到了现在的信用货币存在一些问题,但你再想回过去比照黄金设计出一种新的货币体系,本身就违反了货币的发展逻辑会规律,从这个角度来讲它不可能成为真正的货币。这些东西只能是一种网络虚拟资产,或者是在一个商圈里面运用的代币、商圈币。它不一定完全没有价值,难道说黄金脱离了货币就没有价值了吗?依然有价值,只要你有真正应用的场景。
大家会看到像比特币这样的东西,只要在大家认可的比特币圈里面,它也是有一定流通使用的基础。就像现在中国法定货币是人民币,不代表没有单位的饭菜票,商场的购物券一样。
一旦确定了属于商圈币,就要严格控制在商圈里面的使用,不能出商圈使用,否则就在挑战法定货币的应用,如果冲击法定货币了,就一定会受到国家的监管。只要你做大了,对法定货币体系构成了威胁,它一定会来监管你。今天你会看到这个趋势已经出现了,各国逐步开始强化对加密货币的监管。这是我们要注意的一个问题。
大家知道比特币尽管模仿黄金,但是它的设计比黄金要严格得多,因为它每十分钟产币多少都告诉你了,人为是调不了的。然而,严格限定每十分钟的产量,就会使货币的供应量和经济的发展,财富的变化产生严重的分离,然后货币的币值根本难以控制。如果真的像比特币2017年初一千美金到11月份将近两万美金,有人说未来可能十万美金,二十万美金一个比特币的话,以它作为货币,大家想想整个币值的波动会多大。因为你上涨得快,可能贬得也会很大。更重要的是,比特币一开始没有引起大家重视,很多学生在宿舍里玩,因为不值钱,所以前期挖出来的比特币密钥都丢了,成为死亡币,而且这个是激不活的。今天大概1700万的比特币挖出来,其中有三百七八十万是死亡币,那本来2100万个就很有限,再去掉三百七八十万个币的话,这个币的供应量就更有限了。更何况如果它真有上升空间的话,马上就会有很多人不是做币的支付,而是将其作为储藏物、收藏品,那供应量就更有限了。所以从这些角度来讲,真正搞货币的人就会发现,它其实很难发挥货币的作用,它更像是一个货币的对应物,像黄金一样作为储值物是可以的。
第二,我们来看看像比特币区块链能不能颠覆世界,能发挥什么样的作用。
比特币非常强调去中心、去中介、点对点。但是怎么实现去中心呢?一定需要社会上的计算机加盟共同运行,共同维护规则。因为如果系统运行的主机是某一家的主机,你要更改系统的规则是非常容易的,你怎么能讲是去中心呢?所以比特币一定是要社会上的计算机共同参与运行。要大家参与的话,第一个前提是系统要开源,自动下载马上能运行,不需要做大量测试才能联网运行,否则根本就应付不了社会化、全球化的加盟体系。
第二规则要内置到系统里面,所谓的编码即规则。大家在运行这个系统的同时就是维护这个规则,未来未经过加盟的节点一半以上的同意,你即使一开始维护这个编码的人员也无权更改系统的规则。但是要做到这一条谈何容易啊,它需要共识、需要激励。最后的结果就是越追求去中心,去中介,就形成了一种完全封闭的网络体系。你今天看到,比特币上面能运行什么东西呢?只有一个东西,就是比特币。而比特币是哪来的呢?是链生资产,是挖矿出来的,跟现实世界没有任何的关系。正因为这样,它才能做到从一开始产币到币任何的变动,每一个帐户都是全网监控的,是很难篡改的,是可以溯源的。正因为每个帐户可以保真,所以我们才可以做到根本不知道帐户后面的人是谁,只要保证这个帐户是真是的就可以做交易。
结果有人在这个基础上演绎出来说,用了区块链就可以不用知道对方是谁就可以做交易,真的是这样的吗?
比特币去中心、点对点的交易是有严格的前提的。从一开始就必须在一个封闭的网络体系里面,交易的资产只能是链生资产,不可能把现实的财富送上去。当不能把现实的财富送上去运行,这怎么能解决现实的问题呢?所以比特币今天依然需要兑换成法定货币才能实现它的价值。如果不能兑换成法定货币,其价值会大打折扣。更多比特币解读:www.yangfenzi.com/tag/bitebi
问题是比特币这个区块链本身没有交换的功能,只有挖矿、产币和内部的点对点的转移。没有兑换的功能,要兑换必须要出比特币的圈到外挂的交易体系。所以大家会看到今天出了很多数字货币的交易所,交易所出了问题不代表比特币体系出了问题。比特币的体系到了今天为止依然是安全的,前提是它是个完全封闭的,不受外面影响的体系。
还有一个,比特币产币的规则每十分钟多少个币,它忘了货币金融是连在一体的,金融是需要有贷款生息或者投资分红的。大家看看比特币生息产币的规则有没有贷款生息和投资分红额外币的产量呢?没有,必须出来换成法定货币以后,只有通过法定货币才能实现贷款和投资的需求。如果严格用比特币的区块链,金融的功能会大受影响,这是我们需要看到的。
正因为这样,我们比特币区块链带来一个问题,就是大家想象的非常好,它是一个全新的东西,但是它是完全封闭的体系,实际上解决不了我们现实问题。
因此,以太坊设计人说这样不行,这样就成为网络游戏了,在这个东西里面要解决实际的问题,所以以太坊加了一个智能合约,在上面可以做一些私活。但是一加智能合约以后就打破了传统的封闭,今天以太坊的安全性就比比特币要弱一点了。
同时,比特币、以太币坚持全网验证、全网记录,量一大以后全网的存储占的空间非常大,效率非常差,消耗的资源越来越大。今天又有人探索能不能进一步提升,比如,一定要全网验证,全网记录吗?现有的银行不也就两地三中心,不是也没有出现大问题?我们能不能在这里面选若干的核心节点,比如21个节点,31个节点就可以?EOS或者类似的东西所谓的区块链3.0,基本上是采用缩小节点,不再全网同时记录、同时存储了。
这又出来一个问题:这些核心节点谁来选呢?如果是由你某一方指定核心节点,那不就没有去中心了吗?所以大家又在探讨我们能不能编一个系统,在选节点的时候就是去中心的。现在都还在不断地探讨,甚至进一步说挖矿需要巨大的能量消耗,一定要挖矿吗?类似这些方面,今天区块链都还在不断地在探索。
那么,讲到这里我们可以得出一个结论,就是区块链目前还处在它的研发初期,我们可能认为它很有发展的空间,但是不要轻易地说它能颠覆这个,颠覆那个,目前可以看到真正的应用非常地有限,还需要做大量的探索。
正是从这个角度来看,我从去年以来一直呼吁大家,一定要理性看待数字币、区块链。从目前的发展阶段和应用场景来看,区块链研发会有两大分支:一个分支是继续聚焦于底层技术的发展,就是公链的研发,不断地去改进。但是一定要知道底层技术、公有链的研发需要大量长期的研发,这是很难的。我们希望有人继续沿着这条路扎扎实实地去研发、去突破。
另一个分支是应用。这个应用就不要想着像比特币一样的区块链,聚焦在挖矿造币上面去,我一直在呼吁大家要跳出比特币挖矿造币区块链的范式来找应用。找什么应用呢?那就不要再去追求去中心、去中介,追求的是信息的分布式处理,连续的加密,可以溯源,不可以篡改等,优先做这些方面解决实际问题。从这个方面大家看到有是很多应用场景的,因为这个社会在加快向信息社会迈进。
首先可以找跟我们的财产或者债权债务交互频繁没有那么密切关系的其他东西。大家会看到,现在像BAT他们都在做网络游戏,不管是养猫还是养宠物,是网络应用,不涉及现实的财物和法律法规。第二是做公益性事业,像捐款,是钱物单向出去不需要再回来,没有买卖关系,没有借贷关系,但是人们关心这个东西是不是按照我的意愿去了,所以可以溯源、可以追踪。
再进一步,我们现在很多行政事业单位在政务里面有大量的单证、合约、影像等等东西,我们能不能帮他推到链上,上网运行,保证这个东西是真的,合法的,不可逆转的,随时可以查的。这都是可以的。再进一步可能才是未来向着所谓计算机联网,信息联网和价值联网,也就是实物联网相融合的方向发展。所谓的真正的要解决我们现实问题,那可能还要有一段过程。
这是我想跟大家做的交流。区块链是多种技术的集成,比特币是第一个应用,也是到目前为止非常完整的一个封闭式的体系,它很安全,但是解决不了现实问题。越来越多的人发现,目前比特币区块链或者类似的区块链都存在着“去中心、高效率和安全性”三者不可兼得的三角关系,所以要实事求是,注重解决现实问题,注重应用的使用,要跳出比特币区块链的范式。这是我今天给大家分享的一个基本观点,供大家参考。
三、区块链的5大缺点有哪些,区块链的不足之处
区块链在股权融资中的优点和缺点
区块链的缺点
1.无隐私性
区块链是分布式,在公有链上,等于每个人手上都有一份完整账本,并且由于区块链计算余额、验证交易有效性等等都需要追溯每一笔账,因此交易数据都是公开透明的,如果我知道某个人的账户,我就能知道他的所有财富和每一笔交易,没有隐私可言。
2.监管
区块链的去中心、自治化的特点淡化了国家监管的概念。然而所有的创新,都需要符合监管的要求。区块链的监管,在某种程序上是促进区块链的商业应用,更好的提供合规性保护。另一方面监管部门对这项新技术的法律和制度建立上存在滞后,也可能会毁掉区块链,需要把握好尺度。
3.安全性问题
区块链技术一大特点就是不可逆、不可伪造,但前提是私钥是安全的。私钥是用户生成并保管的,没有第三方参与。私钥一旦丢失,便无法对账户的资产做任何操作。随着量子计算机等新计算技术的发展,未来非对称加密算法具有一定的破解可能性,这也是区块链技术面临的潜在安全威胁。
4.数据确认的延迟性
区块链的交易是存在延迟性的,拿比特币举例,当前产生的交易的有效性受网络传输影响,因为要被网络上大多数节点得知这笔交易,还要等到下一个记账周期(比特币控制在10分钟左右),也就是要被大多数节点认可这笔交易。还受一个小概率事件影响,就是当网络上同时有2个或以上节点竞争到记账权力,那么在网络中就会产生2个或以上的区块链分支,这时候到底那个分支记录的数据是有效的,则要再等下一个记账周期,最终由最长的区块链分支来决定。因此区块链的交易数据是有延迟性的。
区块链的优点
1.集体维护
系统是开放的,除了交易各方的私有信息被加密外,系统是由其中所有具有维护功能的节点共同维护的,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
2.去中心化
区块链存储数据时使用的是对等网络技术,使用分布式核算和存储,不存在中心化的硬件或管理机构。所有节点的权利和义务都相等,因此任一节点停止工作都会不影响系统整体的运作。
3.无须信任系统
由于节点之间的交换遵循固定的算法,参与人不需要对任何人信任,随着参与节点增加,系统的安全性反而增加。因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
4.信息不可篡改
一旦信息经过验证并添加至区块链,就会永久的存储起来。生成一套按照时间先后顺序记录的、不可篡改的、可信任的数据库,从而可以限制相关不法行为。因此区块链的数据稳定性和可靠性极高。
区块链的不可篡改和撤销既是优点也是缺点,在区块链里没有后悔药,你对区块链的数据变动几乎无能为力,主要体现在:如果转账地址填错,会直接造成永久损失且无法撤销;如果丢失密钥也一样会造成永久损失无法挽回。而现实中如果你银行卡丢了或者密码忘记了,还能到银行营业点处理,你的钱还在。
区块链目前用到哪些共识机制?它们各自的优缺点和适用范围是什么
目前主要有四大类共识机制:Pow、Pos、DPos、Pool
1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;
优点:完全去中心化,节点自由进出;
缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用
2、Pos权益证明,Pow的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点
3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的
4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证;
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式
在使用共识机制,保证数据一致性时的巨大优势(共识机制则是Ripple首先提出的,数据正确性优先的网络交易同步机制,在共识网络中,无论软件代码怎么变动,无法取得共识就无法进入网络,更不要提分叉了)。
——————————————————
PS:稍微自黑下,虽然共识机制绝对能确保任何时候都不会产生硬分叉。但是,这种机制的缺点也比较明显,那就是要取得与其他节点的共识,明显要比当前Bitcoin网络漫长的多。极端情况下,在Ripple共识机制网络中掉线的后果也是很恐怖的。
有可能你家停电一天,第二天整个系统就再也无法与其它Rippled节点取得共识了(共识机制事实上需要超过80%的节点承认了你的数据,你的提交才会被其它节点接受,否则就会被排它的拒绝连接),甚至只能清空自己全部500多GB数据重新同步才能连上其它Ripple节点。
所以目前来说,现有的Rippled端并不适合民用(商用的话影响就比较小,比如RL自己的Rippled节点托管在亚马逊云数据中心,长时间无响应是可以高额索赔的,而且那种地方除了大型灾害几乎不会断),这也是RL一直想改进的方面之一。
浅谈区块链的几大应用,哪些会是坑
区块链能做什么?区块链(BlockChain)这个伴随着比特币诞生的伟大技术,目前在金融领域应用能大幅降低交易成本,提高效率,这足以令华尔街兴奋不已。然而这仅仅是冰山一角,其潜在应用前景非常广泛,未来将颠覆我们生活的方方面面。
互联网是一种信息网络,里面流淌着0和1,区块链是一种价值网络,起到的作用是价值的传递,而不同于互联网做数据传递。
说到价值传递,有一个非常简单的场景,例如支付,我手上有100元钱,我想转到群里,可以通过微信红包或者微信转账的方式,在这个交易过程中,需要第三方的参与,而区块链的传递方式是点对点的传递,并不需要任何一个中间节点,这是区块链和我们现有架构非常大的一个区别。
说到支付的点对点,很多人会想到比特币,因为大多数人是从比特币知道区块链的,区块链和比特币又有什么区别呢?
区块链是比特币背后的技术;区块链是一种基础的技术架构,通过一个特定的数据结构和共识算法,设计实现了一个多方参与的自治系统。
特定的数据结构其实就是区块链这个名字本身,也就是他的数据是放在一块一块的数据区块里面,然后这个数据区块用一个链条进行连接和实现。“共识算法”是区块链里非常重要的概念,没有共时算法,也就没有区块链这个意义的存在。
布比区块链简介
布比区块链自成立以来一直专注于区块链技术与产品的研发与创新,拥有多项核心技术,并在多个方面取得了实质性的创新,形成多项核心技术成果,例如:可数学证明的分布式共识技术、快速的大规模账本存取技术、支持业务形态扩展的多链总账技术、异构区块链间的互联技术等。4月25日,“格格积分”将积分系统引入区块链概念,多方联合开放,积分发行及兑换,促进积分流通。各合作机构可共同参与交易验证、账本存储、实时结算;企业积分发行方的第三方支付平台,使积分进出更灵活。布比开发了自有的区块链基础服务平台,已在股权、供应链、积分、信用等领域开展应用。布比一直致力于以去(多)中心信任为核心,构建开放式价值流通网络,让数字资产自由流动起来。
讲到这里,我们再来分析一下区块链和比特币的区别是什么?
1.本质区别。比特币对于这个世界来说,它是一个基于密码学的数字货币,而区块链我们刚才说过,它是一种价值传递的协议,这两者是有本质区别的,因为一个是数字货币,一个是价值传递的协议。
2.算法。比特币的共识算法是基于一个被称为工作量证明,POW的工作算法,区块链有很多不同的共识算法,既可以用比特币POW算法又可以用POS算法,也可以用DPS算法。
3.交易速度。比特币每秒钟的交易最大只能有七笔每秒。请注意,大家请注意这里说的是最大而不是平均,因为这是一个非常严格的一个定义,对于区块链来说,其实每秒的交易次数可以达到上万次或者更多,所以这也是区块链和比特币的一个主要区别。因为很多人会混淆说,区块链这个交易的速度七笔每秒,这是不对的,这是比特币的一个限制,区块链根据它不同的共识算法以及链接方式,可以达到非常高的交易速度。
4.链接形式。比特币是基于互联网的一个区块链,也就是说我们把它称之为公有链,区块链可以有公有链的形式也可以有私有链或者联盟链的形式。
5.局限性。建议大家不要去碰跟区块链相关的一些数字货币。理由是什么呢?比特币这样一个数字货币,它虽然有挺好的不同的特性,但是它并不符合金融监管,也就是说这2100万枚比特币是在没有国家授权的情况下,没有国家信用作为倍数的情况下被发行出来的。而区块链也有一些局限性,虽然它只是一个协议,是一个技术,但是它还是处于萌芽阶段的一个新技术。
总结一下,区块链是一个比较底层的协议,是一种技术的基础架构,在它之上有各种各样不同的共识算法。如果说区块链是1的话,可能共识算法是10到20,但在它之上的应用可能会有一千或者两千,或者更多,也就是说比特币只是众多区块链应用当中的一种实现。所以,比特币和区块链是不能等同的,比特币只是区块链的一个非常初级的实现。
区块链能做什么?区块链的问题?在票据市场,基于区块链技术实现的数字票据能够成为更安全、更智能、更便捷的票据形态。借助区块链实现的点对点交易能够打破票据中介的现有功能,实现票据价值传递的去中介化;数字票据系统的搭建和数据存储不需要中心服务器,省去了中心应用和接入系统的开发成本,降低了传统模式下系统的维护和优化成本,减少了系统中心化带来的风险;基于区块链的信息不可篡改性,票据一旦完成交易,将不会存在赖账现象,从而避免“一票多卖”、打款背书不同步等行为,有效防范票据市场风险。有价证券交易市场也是区块链技术大有作为的领域。目前传统的证券交易模式,具有交易流程长、交易效率低、综合成本高的缺点,且存在强势中介和监管机构,金融消费者的权利往往得不到保障。应用区块链技术,买卖双方能够通过智能合约直接实现配对,交易执行的效率可大幅度提升,并通过分布式的数字化登记系统,自动实现结算和交割。由于录入区块的数据不可撤销且能在短时间内被拷贝到每个数据块中,录入到区块链上的信息实际上产生了公示的效果,因此交易的发生和所有权的确认不会产生争议。
区块链能做什么?区块链的问题?尽管从目前来看还没有确立成熟的底层区块链技术平台方案,容量的可扩展性、隐私保护、无法以净额结算、事后不可追索等技术难题也有待解决,大规模应用区块链技术还要重设IT架构和再造业务流程,但这些都只是技术层面的问题。而真正考验区块链技术在金融领域植根并成长的是监管机构和金融机构本体,区块链内在的“去监管化”和“去中心化”特质会不会使得市场主体没有动力驱动技术创新。但由于区块链是基于数学算法的技术,交易各方信任关系的建立完全不需要借助中介机构或权威中心,建立信任关系的成本几乎为零(在区块链金融基础设施和附属基础设施建立的前提下),且区块链代码开源开放,无地域限制,网络格局分布式互联,为未来普惠金融和共享金融的建立及发展奠定了技术基础,为全球金融融合统一创造了物质条件。单就从这一点来看,区块链技术必将在未来金融发展中确立核心地位,并和金融相互依托、相辅相成,并共赢未来。
区块链解决了什么问题吗?
区块链最重要的是解决了中介信用问题。在过去,两个互不认识和信任的人要达成协作是难的,必须要依靠第三方。比如支付行为,在过去任何一种转账,必须要有银行或者支付宝这样的机构存在。但是通过区块链技术,比特币是人类第一次实现在没有任何中介机构参与的情况下,完成双方可以互信的转账行为。这是区块链的重大突破。(交易区块链资产上“币汇交易所”)
如果用一句话说明就是:去中心化。
区块链(BlockChain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本。
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性。
区块链几大共识机制及优缺点
首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。
1.pow(ProofofWork)工作量证明
一句话介绍:干的越多,收的越多。
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本;
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性;
2.POSProofofStake,权益证明
一句话介绍:持有越多,获得越多。
主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度
优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。
DPOS与POS原理相同,只是选了一些“人大代表”。
BitShares社区首先提出了DPoS机制。
与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
DPoS的工作原理为:
去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。
网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代表)的直接连接是为了确保你能得到报酬。
该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也可以在几分钟内得到解决。
成为代表:
成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔交易数据的“头部”引用。
授权选票:
每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。
保持代表诚实:
每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。
抵抗攻击:
在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得更为困难。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。
3.PBFT:PracticalByzantineFaultTolerance,实用拜占庭容错
介绍:在保证活性和安全性(livenesssafety)的前提下提供了(n-1)/3的容错性。
在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator/Commander)或成员计算机(Member/Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。
拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。
而拜占庭问题的可能解决方法为:
在N≥3F+1的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。
2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。
3)共识效率高,可满足高频交易量的需求。
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据
下面说两个国产的吧~
4.dBFT:delegatedBFT授权拜占庭容错算法
介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。
此算法在PBFT基础上进行了以下改进:
将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;
为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
优点:
1)专业化的记账人;
2)可以容忍任何类型的错误;
3)记账由多人协同完成,每一个区块都有最终性,不会分叉;
4)算法的可靠性有严格的数学证明;
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
5.POOL验证池
基于传统的分布式一致性技术,加上数据验证机制。
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。
区块链所面临的问题?
维护成本非常高:
传统的中心化数据库只需要写入一次,而区块链需要被写入成千上万次;传统的中心化数据库只需要检验一次数据,区块链需要对数据进行成千上万次检验;传统的中心化数据库只需要传输一次数据就可以储存,区块链需要将数据传输成千上万次。
激励结构很难设计:
如何确保奖励与网络目标一致?为什么节点会保留或更新数据?当两段数据冲突时,是什么使它们选择一段数据而不是另一段数据?这些问题都都还有待探索、解答,区块链不仅需要在开始时保持一致,还需要在未来的所有时间节点上保持一致。
所有的升级都是自发的:
区块链最重要的一点在于它不是在单个实体的控制之下,不可能强制升级。所有的升级都必须向后兼容。这显然是相当困难的,尤其是如果你想要添加新特性,以及从测试的角度考虑时会更加困难。软件的每个版本都为测试矩阵添加了很多内容,并延长了发布时间。
扩展很困难
扩展的困难程度至少比传统的中心化系统高出几个量级。同样的数据必须存在于成百上千个地方,而不是在一个单一的地方。传输、验证和存储的成本是巨大的,因为必须用支付数据库中的每一个独立节点的成本,来代替传统的中心化数据库中只支付一次的成本。
以上所有导致区块链至今没有杀手级的应用(比特币除外)
援引自:为什么说区块链没那么简单