简述定义: 计算机程序链由两个共享资源的,纠错的分布式系统统计资料库和多结点网络组成。

在计算机程序链统计资料库中,统计数据仅可透过一致意见演算法以块的形式减少,不容修改或删除,以避免盗用;每个计算机程序至少会包含两个块生成时间和出块亲笔签名;大部份的交易统计数据单厢被双方亲笔签名,以避免狡辩;传统计算机程序链中,新增计算机程序中储存上两个计算机程序的hash,并透过此hash与上两个计算机程序相连
在计算机程序链多结点网络中,大部份结点都有下载计算机程序的职权,但并不能全然控制计算机程序大部份结点都有验证计算机程序,参予一致意见,并透过一致意见减少统计数据的基本权利透过计算机程序链可以实现不依赖信贷业务第三方的统计数据记录和链上统计数据追根溯源透过peer-to-peer网络的统计网络设备和可靠价值互换
对大部份面向系统中心Medinipur的攻击都有十分强的抵抗力潜在性应用领域:物联网互联网医疗云储存安全领域,如授权,可靠服务项目提供更多互联网金融等可以认为,一切存在虚拟化账单的控制技术都可能有计算机程序链应用领域前景,这是一类工作效率和信赖的互换,但需要注意这种互换不一定大部份应用领域都值得。
应用领域示例:由日本Morgen银行和ripple等提供更多的快速,安全,快捷的国际性提款服务项目.SWIFT自己正在创建的计算机程序链网络,加速国际性提款IBM创建的supply chain,探索潜在性服务项目比特币构成控制技术:P2P控制技术: 文件共享资源统计传输,BT协议的支撑控制技术。
一致意见演算法:计算机程序链能够保证不容盗用,统计数据可靠的核心理念圆锥身份验证演算法,官民钥体系,数字亲笔签名等信息论演算法Merkle树:计算机程序链统计数据储存的统计计算机程序Nenon中将介绍我认为不容替代的许多控制技术: 一致意见演算法,身份验证/亲笔签名,P2P。
但我莫雷县还是决定把我自己理解的计算机程序链控制技术写下来,毕竟这是有可能会改变许多东西的几项控制技术请注意,本文只想以一类客观的角度来描述计算机程序链控制技术,请文章也仅指控制技术难题,不讨论政治,哲学和其他,我保留删文章的基本权利。
计算机程序链的最主要控制技术进步是,事实证明了在同步通信的情况下,参予结点不受到限制的奥斯曼难题近似可解谈到计算机程序链现在呈现鲜明的三派,褒贬不一这是因为早期比特币参予者,所谓的币圈元老参差不齐,骗徒居多造成的,首先在这里有必要澄清许多过度贩毒引起的误会。
计算机程序链是几项革命性控制技术是一类民主革命 这是错误的,计算机程序链是一类工作效率和信赖的互换,并不是民主革命,也不一定适用于大部份难题计算机程序链是“去虚拟化”的,“智能合同”是智能的实际上,decentralized那个词既没有在比特币论文出现过,也不应该被译者为“去虚拟化”,我个人比较喜欢香港地区的“集中式”那个译者。
2016年6月W3C的计算机程序链会议上,镜像坊核心理念开发团队就表示不再使用那个词,而全然的去中心化会导致工作效率十分低下,是不容行的计算机程序链的核心理念是分布式系统智能合同(smart contract)那个词,译者的十分不正确。
英文里”smart”的意思是”敏捷“,”intelligent”的意思才是智能,”smart contract”是为了帮助程序员快速完成计算机程序链应用领域开发现在有很多人望文生义,这也很不合适计算机程序链全然是一类分布式系统统计资料库。
计算机程序链采用了分布式系统统计资料库的特征,但为了达成强统计数据一致性和不容盗用,牺牲了很多分布式系统统计资料库的优点,当然也带来了许多分布式系统统计资料库没有的特性控制技术有其应用领域前景,在不成熟之前就接受大众投资是十分不明智的行为背景
2009年, Satoshi Nakamoto创建了第两个计算机程序链系统,比特币,这是一类文件共享资源电子现金系统,主要为了支持资金交易此后,计算机程序链系统随着数字货币的爆发迅速发展,功能各种各样此后,随着ETH的发展,smart contract给计算机程序链的发展带来了极大的控制技术变革,它帮助应用领域开发者缩短了开发时间。
这是计算机程序链发展史上目前两个十分重要的结点现在在不同领域,存在各种各样的计算机程序链系统正在开发,或者正在运行,或者正在探索应用领域前景计算机程序链的p2p通信方式,信息论身份验证/亲笔签名并不是重点,已经有了很多解释,我们着重讲一下计算机程序链里的一致意见演算法。
挖矿/一致意见演算法挖矿是一类创造计算机程序的过程,这种计算机程序是可以被验证并添加进分布式系统统计资料库的统计数据块在许多计算机程序链系统中,比如比特币和ETH,矿工可以透过挖矿从系统获得奖励在所以计算机程序链系统中,挖矿都是两个最核心理念的概念,试图参予挖矿过程的结点被称为。
矿工理论上,每个可接入计算机程序链的结点都有成为矿工的基本权利,但它们不一定有机会成为矿工挖矿是一类周期性的竞争行为,根据一致意见演算法不同,对于每个挖矿周期,从矿工中选择“优胜者”的方式也有所不同,通常我们称这些“优胜者”为当前周期。
“出块者”这种一致意见演算法通常被理解成为“多数人一致意见”,而如何在网络中定义“人”这一过程,在不同一致意见演算法中有所不同目前存在很多种一致意见演算法来决定这一过程:工作量证明(Proof of Work): PoW是比特币中使用的一致意见演算法,当然目前也有很多其它计算机程序链系统应用领域PoW。
它需要矿工参予一场困难的周期性的数学竞赛(比特币中具体为计算指定0数目的hash值),这场数学竞赛难以计算但易于验证一旦有某个矿工计算出了结果,它将用那个结果和这段时间自己从网络中收集的交易信息一起打包,形成当前计算机程序,并把此计算机程序广播至计算机程序链结点网络。
每个结点都可以验证竞赛结果和计算机程序中的交易信息,如果验证成功,结点会添加那个计算机程序进自己的计算机程序链统计资料库大部份结点完成新计算机程序验证和添加的时间之和应当小于竞赛周期因为需要参予数学禁赛,这场竞赛比较的是计算能力PoW一致意见演算法认为,单位计算能力就是互联网上的两个“人”。
于是,如果攻击方的算力大于参予竞赛大部份算力的50%,才可以攻击成功(实际情况下,考虑到网络延迟等因素,攻击成功的算力门限要低于50%)股权证明(Proof of Stake) : PoS并不要求矿工参予计算复杂的数学难题,实际上,它采用一类。
伪随机的方式,根据每个账户持有“Stake“的多少来选择每一轮的“出块人”,持有股票越多,概率越大PoS演算法认为每一份“Stake”或者“Value”的持有者是互联网上的两个“人”,持有股票才代表此“人”对网络潜在性恶意不大。
当然,与PoW同理,如果持有股票的”50%“以上,才有攻击网络的能力最初的PoS版本不奖励出块人,它会导致持有者没有参予挖矿的动力,所以,现在的PoS一致意见都加入了对出块人的奖励,然而这依然存在“无利益攻击“等潜在性的攻击方式。
容量证明(Proof of Space): PoSpace类似于PoW一致意见,但它要求大容量的硬盘空间矿工透过向硬盘中写入指定大小的统计数据,来参予挖矿竞赛换句话说,单位硬盘空间被认为是网络中的两个“人” ,PoSpace已经被提出了一段时间,但目前应用领域还不多。
重要性证明(Proof of Importance): PoI是矿工透过结点的交易数量和账单来向网络证明自己重要性的一致意见演算法,换句话说,单位交易记录被认为是网络中的两个“人”,但这种一致意见演算法很容易被机器人刷单攻击。
随机数演算法:通常,如果不考虑经济模型,计算机程序链的一致意见演算法是为了透过一类足够随机的方式选出“出块者”,并透过随机性使下一轮“出块者”难以预测因此,存在很多在计算机程序链网络制造随机数的一致意见演算法,比如最小块哈希(Minimum Block Hash)和Algorand一致意见,它们并没有透过与经济模型的结合,降低矿工攻击网络的动机。
实用奥斯曼纠错(PBFT):PBFT是一类奥斯曼难题解决方案,也是信息论中 “多数人一致意见“的主要获得方式PBFT每轮选择出块结点,该结点生成的计算机程序需要透过一系列复杂的表决方式获得至少2/3参予一致意见结点的同意。
PBFT的优点是,当块产生之后不需要其他结点验证,也就是说不会出现其他结点“不同意”这轮竞赛结果或者计算机程序内交易信息的难题因此,PBFT演算法极其变种,几乎不存在“分叉难题”, 大部份结点出块即最终块而PBFT的最大难题是,一致意见演算法的时间复杂度会随着加入结点的减少而大幅度增长,通常认为PBFT难以服务项目25个以上的参予一致意见结点。
因此,大部份采用PBFT的计算机程序链必须首先透过许多规则”选举“出参予一致意见的代表所以,这是一类利用“被选举出的人做出的小范围一致意见”代替“大多数人一致意见”的一致意见演算法,当然实践上这是可行的比较典型的计算机程序链是NEO和Hyperledger。
需要补充说明的是,1,2,3,4 的系列演算法中都存在“分叉难题”,每轮竞赛之后,优胜者出块可能存在被其他结点拒绝的情况,这时会导致计算机程序链统计资料库在某些结点不同步,即“分叉”,这些演算法的解决方案是寻找“最长链”的结点统计资料库,并与之同步。
身份验证/亲笔签名依靠信息论的身份验证和亲笔签名技术是计算机程序链中身份唯一性的保证这里我说的”身份唯一性“,并不是在指代两个人只有两个账户,而是计算机程序链中账户本身是唯一的,只能被自己的”钥匙“打开这就是非对称身份验证,在非对称身份验证中,有一堆秘钥,这两者都可以用来身份验证统计数据,而必须用另一方才能解密。
公钥是公开的两个秘钥,私钥是不公开的两个秘钥那么可以很容易理解,当用公钥身份验证的时候,只有私钥持有者才可以解密统计数据,这是在做保密传输,称为”公钥身份验证“当用私钥身份验证的时候,所以知道此私钥对应公钥的人都可以解密统计数据,这是在透过公钥认证身份,称为”。

的过程非对称身份验证的一类——–圆锥曲线身份验证演算法目前是被应用领域最广泛的演算法P2P(peer to peer 对等网络)P2P是一类文件共享资源统计传输控制技术,依靠用户群互换信息,与有中心服务项目器的中央网络系统不同,对等网络的每个用户端既是两个结点,也有服务项目器的功能,任何两个结点无法直接找到其他结点,必须依靠其户群进行信息交流。
P2P网络的分布特性透过在多结点上复制统计数据,也减少了防故障的健壮性,并且在纯P2P网络中,结点不需要依靠两个中心索引服务项目器来发现统计数据在后一类情况下,系统也不会出现单点崩溃当然P2P网络也有很多种,不同计算机程序链中可能采用不同实现方式。
P2P网络的经典例子,比如迅雷和早期的电驴。

图3 P2P网络计算机程序链依靠P2P在各个结点之间传输统计数据,依靠私钥亲笔签名确保统计数据唯一,依靠官民钥体系构建账户体系,依靠一致意见演算法添加统计数据并提供更多网络维护者的激励,依靠Merkle树构建储存统计资料库依靠时间戳确保历史计算机程序产生时间。
这是计算机程序链的主要控制技术构成存在难题当然计算机程序链目前存在太多难题,导致使用起来很反用户直觉1.匿名和隐私比特币和镜像坊目前是不存在绝对的隐私的,只是存在了许多匿名手段,准确的说,比特币只存在许多匿名特性虽然无法知道用户是谁,但比特币那个“论坛”上的“用户行为”是可以追踪的。
目前有以ZK-SNARK为代表的零知识证明控制技术来保证隐私,但还存在性能的难题2.算力/票集中化导致的安全性下降如之
比如“矿机”,“矿池”等以大算力为目标的许多设施PoS也是如此,有多少票是一类经济行为,而在各种经济领域,“二八准则”始终是存在的3.过于自由的智能合同带来的安全难题智能合同是图灵完备的,在这种基础上,因为写智能合同的人同样参差不齐,所以很可能会出现各种安全漏洞。
4.计算机程序链统计数据是很封闭的计算机程序链是两个很封闭的生态系统,它的信赖只能保证在“链上”统计数据本身,而从现实世界到计算机程序链这一段,并不能保证不存在拟欺诈甚至,不同计算机程序链之间的统计数据互传,也很难保证是全然可靠的这就是大多数人诟病的”追根溯源“并不一定可靠,当然目前有了许多以预言机为代表的解决方案,但这些控制技术并没有能够从根本上解决难题,还需要进一步研究。
5.当需要与用户交互时,智能合同本身无法操纵账户统计数据比如用智能合同发工资,但我们并不能保证智能合同取钱的账户内部有足够工资它只能完成“输入金钱到输出多账户工资”这样的流程这是我理解的计算机程序链控制技术完[1]M. Pilkington, “Blockchain Technology: Principles and Applications,” in Research Handbook on Digital Transformations, 2016. [online] Available: 。
Blockchain Technology: Principles and Applications, (accessed February 13, 2018).[2]I. Eyal, A. E. Gencer, E. G. Sirer, and R. V. Renesse. “Bitcoin-NG: a scalable blockchain protocol,” in 13th Usenix Conference on Networked Systems Design and Implementation (NSDI16), Berkeley, CA, USA, 2016, pp. 45-59.
[4]S. Nakamoto, “Bitcoin: a peer-to-peer electronic cash system,” 2009. [Online] Available: Open source P2P money
(accessed February 13, 2018).[5]M. Mettler, “Blockchain technology in healthcare: The revolution starts here,” in 2016 IEEE 18th International Conference on e-Health Networking, Applications and Services (Healthcom), Munich, 2016, pp. 1-3.
[6]K. Christidis and M. Devetsikiotis, “Blockchains and Smart Contracts for the Internet of Things,” in IEEE Access, vol. 4, 2016, pp. 2292-2303.
[7]M. Conoscenti, A. Vetrò, and J. C. De Martin, “Blockchain for the Internet of Things: A systematic literature review,” in IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA), 2016, pp. 1-6.
[8] I. C. Lin and T. C. Liao, “A Survey of Blockchain Security Issues and Challenges,” in International Journal of Network Security, vol. 195, no. 5, 2017, pp. 653-659.
[9] M. Conti, C. Lal, and S. Ruj, “A survey on security and privacy issues of bitcoin,” arXiv preprint arXiv:1706.00916, 2017.
[10] M. E. Peck, “Blockchain world – Do you need a blockchain? This chart will tell you if the technology can solve your problem,” in IEEE Spectrum, vol. 54, no. 10, October 2017, pp. 38-60.
[12] W. Stallings, “Cryptography and network security: principles and practice,” Pearson Education, 2016