雀康麻将机价格|2018微乐贵阳捉鸡麻将
文章阅读页通栏

区块链技术流派分析

来源: wiki.chainnova 作者:
区块链(blockchain)源于2008年出现的`比特币`之中。比特币需要一个公开透明`总账(Ledger)`,?#21019;?#21040;一种`去?#34892;?#21270;` (Decentralized) 的、`无需信任` (trustless)......
区块链(blockchain)源于2008年出现的`比特币`之中。比特币需要一个公开透明`总账(Ledger)`,?#21019;?#21040;一种`去?#34892;?#21270;` (Decentralized) 的、`无需信任` (trustless) 的范式。在这种范式中,任何互不了解的人可以通过加入该总账,通过点对点的记账、数据传输、?#29616;?#25110;是合约,而不需要借助任何一个中间方?#21019;?#25104;信用共识。这个总账包括了过去所有的交易记录、历史数据及其他相关信息,所有信息都分布式存储并透明可查,并以密码学协议的方式保证其不能非法篡改。

作为一种去?#34892;?#21270;的网络信息管理方式,区块链技术主要有四大特点:

1. 去?#34892;?#21270;(更准确的说是分布式),区块链数据库分布式记录、存储,与传统数据库的?#34892;?#21270;记录、存储截然相反;
2. 去信任化,区块链通过数学方法,依靠非对称?#29992;?#21644;可靠数据库,通过特定的算法为网络中的节点制造信用、产生信任及达成交易共识,最终 完成去?#34892;?#21270;;
3. 集体维护,区块链中的每一个区块都是由整个系统所有节点(或者部分节点,但足够达成共识)共同维护;
4. 可靠数据库,系统中的每个节点都有一份完整的区块链内容拷贝(或者多副本,但并非全节点全复制),除非同时控制整个系统超过半数以上的节点,否则单个节点的改写无效。

我们剖析底层核心技术,具有两方面的意义:技术分析是为了更好的发展区块链应用!

技术核心问题归类

区块链技术的核心问题仍然属于分布式计算领域的经典问题:`拜占庭将军问题`,`共识`算法,`?#29992;躟算法,`哈希`算法…但是比特币第一次有效解决了大规模去?#34892;?#21270;P2P网络达成无法篡改的共识的所有障碍,并得以在“货币”这个需要极其严谨的应用上第一次取得了成功。所以我们将会围绕这些方面,进行分类, 总结, 分析 各个应用的异同点。我们将从?#24405;?#20010;方面,分类当前市场的主要区块链应用和?#29992;?#36135;币,来层层深入,领略各自的技术特点:

目前大家几乎只关注共识机制,还有所谓的“性能陷阱”。但实际上,作为一种分布式计算的架构,不研究底层存储、数据同?#20132;?#21046;,谈单机的性能优化其实是没有“工业价值”的。所以本文会研究完整的技术栈。


PoW相关技术分析

`Proof of Work` 是比特币系统里解决选择下一个负责创建新区块节点的核心思想。主要方式是让所有想参与的节点全部一起竞争: 计算上一区块的hash值 + 当前?#21019;?#29702;交?#36164;?#25454; + 时间戳 + 一些可变随机参数, 目标是得到前?#20309;?#33509;干个前导“0”的hash结果。这个计算量是很大的, 但是一旦算出来, 其它节点验证其正确性是很简单的。 这种机制, 解决了新区块产生的公平性和信任问题, 经济上, 也让参与者(`矿机`)有机会获得一定的收益形成生态链, 成为BTC?#36824;?#27867;接受的基础。

此后的各?#20013;录用?#36135;币, 对PoW算法也做了多种改进。下面分析几个主要的使用PoW的应用。

BitCoin (比特币)

比特币是一切?#29992;?#36135;币的鼻祖,也是第一次应用区块链技术的创新应用。

作为首个开创性的?#29992;?#36135;币,比特币用到了大量的?#29992;?#31639;法:

1. 在计算散列时会计算2次。大多数情况下,使用SHA-256散列,RIPEMD-160会用于生成较短的散列(例如生成比特币地址的时候)。
2. 使用椭圆曲线 数字签名算法(ECDSA)对交易进行签名
3. ECDSA 使用了 http://www.secg.org/collateral/sec2_final.pdf 中的secp256k1曲线
4. 公钥(in scripts) 以 04 <x> <y>的形式给出,x和y是表示曲线上点的坐标的32字节字符串。签名使用DER编码 将 r 和 s 写入一个字节流中(因为这是OpenSSL的默认输出).

参考文档:

· SHA-2安全哈希标准算法 几乎所有?#29992;?#36135;币都用到的基础hash算法
· Merkle树 基础算法:数据块完整性验证
· Bloom Filter 基础算法:快速确定存在性
· 比特币?#21019;?#30721;

比特币被诟病最多的几个方面,也就造成了其它派生?#29992;?#36135;币的诞生:

LiteCoin (莱特币)

派生于 Tenebrix(TBX)主要目的是抵抗?#38053;?#25366;矿导致的不平衡。莱特币对比特币的改变很小, 主要是PoW证明算法改成了Scrypt。具体如下:

第一,Litecoin网络每2.5分钟(而不是10分钟)就可?#28304;?#29702;一个块,因此可以提供更快的交易确认。
第二,Litecoin网络预期产出8400万个Litecoin,是比特币网络发行货币量的四倍之多。
第三,Litecoin在其工作量证明算法中使用了由Colin Percival (著名的FreeBSD黑客) 首次提出的scrypt?#29992;?#31639;法,这个改变导致了经济上的变化: 由于Scrypt算法需要更长的时间?#36879;?#22810;的内存, 使得`矿机`的?#35759;?#26356;大, 收益率更小, 因此对参与者而言“可能更公平” (需要频繁内存访问的算法, ASIC矿机相较普通CPU的优势减小了)。

DarkCoin

DarkCoin(Dash, 达世币)主要目标是“更加匿名化的虚拟货币?#20445;?#26356;加难以追踪,同时更快的交易速度?#36879;?#20302;的费用(BTC网络?#23548;罰?#21516;时BTC价格很高,导致交易费比较高了)。

达世币(DASH)是一款支持即时交易、以保护用户隐私为目的数字货币。它基于比特币,特有的双层网络使其能够更加全面的进行测试?#36879;?#26032;。如同使用现金一样,达世币可以有效的保护您在交易过程中的?#26222;?#38544;私。当使用比特币?#20445;?#20132;易都会被写到数据块链中,您可以查询到接收?#22836;?#36865;双方。然而达世币通过匿名技术,使得交易无法被追踪查询。匿名技术极其重要——因为任何网络用户都可以进入数据块链查看交易,对于那些不想暴露交易记?#24049;筒普?#38544;私的用户,这无疑是硬伤。达世币通过独创的去?#34892;?#21270;网络服务器“主节点?#34987;?#28102;交易,实现匿名。无需第三方,有效的避免了因第三方介入所带来的不稳定性。

X11?#29992;?#31639;法由达世币核心开发者Evan Duffield创立。X11算法是由11种?#29992;?#25955;列算法组成的工作量证明?#29992;?#31639;法,因此其具有公平的分配机制并且与比特币的分配机制相同。由于算法的复?#26377;裕?#20351;得制造矿机的?#35759;?#22823;大提高,至少需要几年时间。由于链式?#29992;?#31639;法的特性,高端CPU与一些GPU的算力相似。由于此新算法的优势,使用GPU挖X11算法的达世币会比挖使用Scrypt算法的币种?#26723;?#32422;30%的能耗以及30%-50%的发热量。

PoS相关技术分析


PoS的目标是取代PoW这种在分配体系中达成一致的方式。PoS引入“币龄”的概念,币龄=币数*持有时间,通过币龄来作为投?#27604;?#37325;。出块用一定的公司计算值,达到所需要的币数(?#27493;?#20570;目标,是由网络通过类似于PoW的?#35759;?#35843;节机制来规定的),?#28304;?#26469;确保大致恒定不变的出块时间。


PoS需要基于一个“去?#34892;?#21270;的、安全的数字资产?#24065;约?#35777;明机制,而btc本身就是这样的数字资产,所以很多PoS需要基于btc构建stack池。


传统的电子货币体系一直都依赖一个?#34892;?#21270;的服务来保障交易安全,如何去?#34892;?#21270;已经?#33268;?#20102;几十年了,一个主要的问题就是如何构建一个能够确保多点一致性同时又是去?#34892;?#21270;的BFT(Byzantine fault tolerance)系统。


在比特币(Bitcoin)提出之前,大家的研究可?#28304;?#21040;容忍25%的节点攻击,但这并不能解决问题。直到2008年,中本?#24076;⊿atoshi Nakamoto)提出的比特币把这个比例提高到了50%。同?#20445;?#19968;方面通过挖矿收益来鼓励节点加入网络,从而进一步提高攻击?#35759;齲?#21478;一方面,通过对每十分钟产生的一个区块进行链式签名,这样,这个链上每多一个区块,之前区块的伪造?#35759;?#37117;会指数级上升。


比特币解决了这个问题,并且目前一直是市值最高的电子货币,但大家并没有停止研究。其中一个研究点就是比特币采用的工作量证明机制。在中本聪的论文里,工作量证明机制是被希望为每CPU拥有一个投?#27604;ǎ╫ne-CPU-one-vote),并选用了两次SHA-256算法。然而,从今天来看,这种算法决定了它和能耗、?#24067;?#25237;入有着直接的关系。虽然比起传统货币体系里花费的能?#27169;?#27604;特币花费的可能微不足道,但?#24067;?#19978;的不公平性却越演越烈。从CPU挖矿到?#38053;?#25366;矿再到ASIC设备挖矿,?#24067;?#20043;间的差异越来越明显,?#37096;?#22987;背离了每CPU一个投?#27604;?#30340;初衷。为了解决这个问题,著名的Litecoin和Darkcoin通过替换算法的方式一定程度?#26723;?#20102;对能耗的要求,同?#27604;?#31639;法更依赖CPU来?#26723;陀布?#19978;的不公平性,但并没有从根本上解决。直到2011年出现的权益证明机制,它不依赖计算量,是目前最有效的解决办法。之后的Peercoin和NXT便采用了这种机制并证明了其可靠性。


NXT (未来币)


NXT主要针对PoW类?#29992;?#36135;币的挖矿能源消耗问题,使用了PoS方式?#21019;?#25104;共识。技术上,Nxt最根本的革新就是透明锻造(Transparent Forging)。这种方式是PoS的一种技术实现。

在Nxt的PoS模型里,安全性是由持币者保证的。由POS带来的好处不会产生在PoW中的集权化趋势,并且数据显示,NXT从诞生开始保持了非常好的分布式状态。在网络中贡献block的独立用户数正在非常快速的增长并且保持了一个较大的数字,前5名top持币者贡献了35%的blocks。


Ethereum (以太坊)


“以太坊”是在比特币之后,?#29992;?#36135;币领域比较大的创新产品。事实上,以太坊的重点不在于原生货币–以太币上,而是“智能合约”。


以太坊试图提供一个自带有完整“图灵完备”编程语言的区块链,可以让用户用?#21019;?#24314;任意的“状态转移(state transition)”功能的“合约?#20445;?#20063;就是号称“智能合约”。?#24066;?#29992;户创建像下面这些系统:


1. 定制化的货币和财产 (“colored coins”)
2. 优?#28909;?#23646;物理设施的所有权证明 (“smart property”)
3. 不可代替的资产,比如域名 (“Namecoin”)
4. 涉及通过一?#26410;?#30721;来实现任意规则的数字资产直接管控的复杂应用 (“smart contracts” 智能合约)
5. 基于区块链的“去?#34892;?#21270;自治组织” (DAOs).


技术特色上:


1. 使用了新的“内存消耗”算法(和Scrypt算法类似,?#26723;?#30719;机的优势)
2. 使用“GHOST blocktrees” 取代传统的区块链
3. 区块内部数据结构使用“Patricia trees?#20445;?#32780;不是 Merkle Tree
4. 交?#36164;?#25454;可以包含程序代码,也就是“合约”

DPoS技术分析

DPoS是 比特股在PoS基础上提出来的,delegated的PoS,主要目的是扩大交易容量。 核心思想是,预选出后续时段的一系?#20889;?#29702;(选举过程还是用PoS),产生区块的权利直接交给预选出来的节点。这样保证非常高的速?#28909;?#36798;成一致性。因为选举还是用PoS,只是提前和其它工作并行,所以称为DPoS。

BitShares

BitShares (比特股,BTS)最大的改进,就是针对比特币的交易效率和确认速度太低,而提出来的“工业级”的扩展区块链技术。

密码学货币和智能合约平台若想成为当前金融平台的可用替代品,高性能的区块链技术是不可或缺的。BitShares的设计从最底层就是为了比VISA和MasterCard加起来还多的交易处理能力。基于DPoS的设计,BitShares网络能够在平均仅1秒的时间里确认交易,仅受光传输的速?#35748;?#21046;。为了实现这个?#30340;?#39046;先的性能,比特股借鉴了从能达到6百万TPS的 LMAX) 交易平台里学到的经验。经验中的关键点如下:

1. 将所有东西都放在内存
2. 将核心业务逻辑保持在一个单线程里
3. 将?#29992;?#31639;法操作(哈希和签名)保持在核心业务逻辑外
4. 将校验分成有状态和无状态两种检查
5. 使用面向对象的数据模型

遵循这几条简单原则,BitShares在没有进行任何特别优化的情况下就能每秒处理10万次交易。未来的优化预计会让BitShares的性能达到LMAX的水平。

应当注意的是,BitShares达到的性能很大程度上受限于一个兼容交易协议。在一个核心业务逻辑运行在一个需要执行?#29992;?#31639;法操作和所有对象都靠哈希索引的虚拟机上的协议里,达到同样的性能水平是不可能的。区块链本质上是单线程的,加上CPU单个核的性能是各种资源中最受限和最不易扩展的。BitShares设计成让这种单线程的执行效?#39318;?#39640;化。

PoS+PoW相关技术分析

PoS + PoW

对比PoS和PoW各自的缺点后,新的一种证明形式出现了。

为了减少矿池控制的风险?#20173;?#22240;,PoS被引入;但又要保持给矿工收益保持网络规模,同时需要PoW。所以这种结合体出现并发展。

PeerCoin

Peercoin(PPC、点点币)是第一个实践了PoS的?#29992;?#36135;币,也是混合模式的原创者。像其他?#29992;?#36135;币,初始货币能被挖矿,但核心网络还是掌握在币的持有者里,而不是最快速的矿池。用PoS/PoW算法的网络,能够减少几个PoW的风险:自私矿主、51%攻击等,也能减少能源消耗。

Novacoin

Novacoin (NVC), 派生于PeerCoin,主要改变证明算法和区块参数。

其他共识方式

因为主要目标和?#29992;?#36135;币不同, 在共识机制上, 有的应用产生了不同的演化方向。并且由于共识机制的不同, 对`去?#34892;?#21270;`的程度也不同, 比如为了成为`银行基础架构`目标的Ripple, 在自己的半?#34892;?#21270;架构上, 实现了金融基础架构需要的快速确认, 高吞吐量, 价值流动低成本 等核心需求。

Ripple

Ripple的目标并不是运作一个虚拟货币(虽然他们有内置原生货币XRP,用于撮合不同货币、资产的桥接、汇兑),而是有远大的多的目标:“Ripple的分布式金融科技让世界各地的银行可以直接交易而无需中央对?#22336;交?#20195;理银行。Ripple可以让银行压缩运营成本并且提供跨境支付服务…” 虽然笔者觉得这个目标不切实际,难以推动区块链生态的真实运转,但是它的确提供了一种新的共识方案,一个优秀创新的工程项目。

从技术角度而言,Ripple的确更接近银行类金融机构的基础架构形态。

Stellar

Stellar(恒星币)创始人Jed就是原来Ripple的联合创始人和主要技术开发者,因为发展方向矛盾而另立门户。基本上恒星币继成了Ripple早期版本的核心,但是修改了核心的共识算法。

由于用了全新的共识算法,Stellar出现过?#29616;?#30340;fork问题(网络里的参与节点产生了两个区块链,各有一半的节点执行两个链条),导致信用下滑,从而导致重新编写共识机制,并理论性证明。

关键词: 区块链技术  比特币  
0/300
? 雀康麻将机价格 杜尔祖拉 英雄吕布APP 0809国王杯4vs西班牙人 重庆时时彩开奖号码图 韩国大邱免税店 狼队ol为什么停服 重庆时时彩开奖直播频 比利亚雷亚尔vs巴塞罗那录像 庆南fc是强队吗 西甲西班牙对巴拉多利德