区块链和数字经济的关系:区块链协议概述(第二部分)

  简化付款确认

  可以在不运行完整网络节点的情况下验证支付。用户只需要保存最长的工作证明链的块头副本,他可以通过查询网络节点获得这个副本,直到他确信自己拥有最长的链,并获得将事务链接到它所标记块的Merkle分支。他不能自己检查事务,但是通过将其链接到链中的某个位置,他可以看到一个网络节点已经接受了它,并在它进一步确认网络已经接受它之后添加块。

  

  因此,只要诚实的节点控制网络,验证是可靠的,但是如果网络被攻击者制服,验证就更容易受到攻击。虽然网络节点可以自己验证事务,但是只要攻击者能够继续控制网络,简化的方法就会被攻击者编造的事务所欺骗。防止这种情况发生的一种策略是,当网络节点检测到无效的块时,接受来自网络节点的警报,提示用户的软件下载整个块,并提醒事务确认不一致性。经常收到付款的企业可能仍然希望运行自己的节点,以获得更独立的安全性和更快的验证。

  如果大部分CPU功率合谋说谎,那么网络显然不再安全。如果使用51%的攻击,那么这个简单的方法将很容易被愚弄,人们将希望拥有完整的区块链。

  隐私

  一个典型的模型是,身份与通过受信任的第三方然后在交易对手处结束的交易相关联。在这个模型中,网络的其他部分不知道双方之间进行的某些交易。

  在比特币协议模型中,身份是一个单独的部分,交易以分类账的形式通过公众进行。

  作为一个额外的防火墙,应该为每个事务使用一个新的密钥对,以防止它们链接到一个公共所有者。但是,存在这样一种风险:如果密钥的所有者被公开,链接可能会显示属于同一所有者的其他事务。

  使用区块链

  区块链提供了可公开编写的全局仅追加日志。参与区块链网络的节点遵循块头协议来决定哪个节点可以编写下一个块并收取特定的事务费。在每一轮的领导人选举中,只有一个节点可以写入一个块。区块链中的节点维护它的完整和更新版本。独立验证和添加到区块链的挖掘过程包括运行计算密集型软件来解决复杂的数学问题,这种困难被称为“工作证明”(proof-of-work, POW)。POW基于加密哈希函数。为了使块可以接受,它的头哈希必须在前面加上一定数量的0,其中哈希是时间段内所有事务的Merkle根、前一个块和nonce的组合。 Merkle根是通过哈希值数据、将结果与另一对数据配对并再次将所有事务数据都包含在最后一个哈希中而形成的。矿工搜索' nonce ',它的前缀块头有足够的0来满足POW条件。一旦POW被解决,新的块将通过网络传输。然而,在使用区块链构建系统时存在一些挑战,比如数据存储的限制、写入速度慢、带宽有限等。

  哈希函数是将任意大小的输入数据转换为固定大小的输出数据。数字签名是公钥密码学(也称为非对称密码学)的派生,公钥密码学使用两个不同但在数学上相连的密钥,一个是私有的(这是秘密的),另一个是公共的(与他人共享的)。

  代码

  要深入理解区块链技术,我们需要通读实现它的代码。

  区块链的基本概念非常简单:一个分布式数据库,它维护一个不断增长的有序记录列表。比特币和以太坊等流行的区块链项目就是这种情况。术语“区块链”通常与事务、智能合约或加密货币等概念紧密相关。

  这使得理解区块链成为一项困难的任务。尤其是source-code-wisely。在这里,我将介绍一个超级简单的区块链,它是我用200行Javascript实现的,名为NaiveChain。

  块结构

  第一个逻辑步骤是决定块结构。为了使事情尽可能简单,我们只包括最必要的:索引、时间戳、数据、哈希和以前的哈希值。

  

  块哈希

  块需要哈希值以保持数据的完整性。SHA-256接管块的内容。应该注意的是,这个哈希值与“挖掘”无关,因为没有要解决的工作问题。

  

  生成一个块

  要生成一个块,我们必须知道前一个块的哈希值,并创建所需内容的其余部分(=索引、哈希值、数据和时间戳)。块数据是由最终用户提供的。

  

  存储块

  内存中的Javascript数组用于存储区块链。区块链的第一个块总是所谓的“起源快”,它是硬编码的。

  

  验证块的完整性

  在任何给定的时间,我们必须能够验证一个在完整性方面是否有效。尤其是当我们从其他节点接收新块并必须决定是否接受它们时,更是如此。

  

  选择最长的链

  在给定的时间内,链中应该始终只有一个显式的块集。在发生冲突的情况下(例如两个节点都生成72个块),我们选择块数最长的链。

  与其他节点通信

  节点的一个重要部分是与其他节点共享和同步区块链。以下规则用于保持网络同步。

  · 当一个节点生成一个新的块时,它向网络广播它

  · 当节点连接到新的对等点时,它查询最新的块

  · 当节点遇到一个索引大于当前已知块的块时,它要么将该块添加到当前链中,要么查询完整的区块链。

  不使用自动对等发现。必须手动添加对等点的位置(=url)。

  控制节点

  用户必须能够以某种方式控制节点。这是通过设置HTTP服务器来完成的。

  

  与其他节点通信

  节点的一个重要部分是与其他节点共享和同步区块链。以下规则用于保持网络同步。

  · 当一个节点生成一个新的块时,它向网络广播它

  · 当节点连接到新的对等点时,它查询最新的块

  · 当节点遇到一个索引大于当前已知块的块时,它要么将该块添加到当前链中,要么查询完整的区块链。

  不使用自动对等发现。必须手动添加对等点的位置(=url)。

  控制节点

  用户必须能够以某种方式控制节点。这是通过设置HTTP服务器来完成的。

  

  可以看出,用户可以通过以下方式与节点进行交互:

  列出所有块

  使用用户提供的内容创建一个新块

  列表或添加对等点

  最直接的控制节点的方法是使用Curl:

  从节点获取所有块

  curl http://localhost: 3001 /块

  体系结构

  应该注意的是,节点实际上公开了两个web服务器:一个用于用户控制节点(HTTP服务器),另一个用于节点之间的对等通信(Websocket HTTP服务器)。

  第一部分

  更多区块链信息:www.qukuaiwang.com.cn/news

文章内容系本站作者个人观点,不代表本站对其观点赞同或支持,文章的版权归该作者所有。如需转载,请注明文章来源。本文地址:http://www.cis.net.cn/kejikuaixun/44236.html
留言与评论(共有 条评论)
验证码:

最新文章

区块链协议概述(第二部分)

科技快讯
简化付款确认可以在不运行完整网络节点的情况下验证支付。用户只需要保存最长的工作证明链的块头副本,他可以通过查询网络节点获得这个副本,直到他确信自己拥有最长的链,并获得将事务链接到它所标记块的Merkle分支。他不能自己检查事务,但是通过将其链接到链中的某个位置,他可以看到一个网络节点已经接受了它,并在它进一步确认网络

去中心化网络DHT介绍

科技快讯
DHT可以译作分布式哈希表,是P2P网络进化中最为重要的环节,它解决了以往需要中心化服务器才能实现的资源发现问题,通过DHT网络模型P2P可以自行组网实现去中心化网络。以前有人问区块链节点是怎么互联的,这篇文章可以解答了DHT全称叫分布式哈希表(DistributedHashTable),是一种分布式网络模型。在不需

区块链与实体(区块链和实体怎么结合)

科技快讯
9月28日,中国在海南生态软件园举行主题为“链接产业,赋能实体”的战略发布会,会上正式宣布火币中国总部落户海南。火币中国将抓住赋能实体经济的时势机遇,乘海南发展的春风,定位于“区块链+产业服务一站式平台”,下辖火币研究院、(中国)、火币Labs(中国)、火币英才、五大事业部,其中火币大学作为区块链行业的“黄埔军校”

王峰深夜十问薛蛮子,区块链让所有人都有机会干出BAT!

科技快讯
“3点钟无眠区块链群”最初由玉红在2月11日创立,玉红此前是360游戏的主要负责人,现在是SEEU&QYGAME创始人,后者曾推出了基于区块链的大型网络游戏《基本世界》。由于最初建群时是凌晨三点,故将其命名为3点钟无眠区块链群。春节七天,群里的人无心观看春晚,亦对于抢红包失去了兴趣,他们盯着群里快速变化的消

如何从Cryptoshuffle木马中保护自己的比特币?

科技快讯
俄罗斯的网络安全公司卡巴斯基实验室已经警告加密货币的所有者,即使在私人钱包里,他们的硬币也不安全。一种名为CryptoShuffler的新型木马,是通过在用户的剪贴板上替换钱夹地址来复制和粘贴用于传输的钱包数据,从而直接从用户的鼻子中盗取硬币。没有钱包是安全的,因为特洛伊利用计算机上的剪贴板功能。尽管网络研究人员认为这个

人民网:十余省发布指导意见布局区块链发展

科技快讯
区块链和基于区块链产生并发展起来的数字货币,是近年出现的新兴事物,已经有越来越多的人对其产生了兴趣,并加入到这个行业中。去年国内出台监管措施以后,这个行业将何去何从更是受到广泛关注。今天人民网的一篇文章似乎可以提供一个观察、分析的方向。01、多地下血本力争区块链之都,抢占发展机遇5月7日,一篇题为《二三线城市为争区块

谷歌DoubleClick广告服务遭挖矿恶意软件滥用

科技快讯
随着比特币和以太坊等加密货币价值的快速上涨,针对加密货币的网络攻击数量也在随之增加。黑客瞄准了几乎所有加密货币业务参与者,这包括加密货币交易所、加密货币钱包、ICO、DAO、矿业公司、虚拟私人服务器和托管服务等等。

清华大学五道口张晓燕学生(清华五道口金融学院张晓燕)

科技快讯
在当前,区块链是未来金融科技的底层技术已经成为一个基本共识。它具有一些独特的特征,改变了传统金融中的一些弱点。具体表现在:脱媒(dis-intermediation),也称非中介化,在金融市场上表现为扩宽直接融资渠道,降低融资成本;去中心化(decentralization),这是一种更为开放、扁平、平等的信息结构,通过分布式计算,点对点提高了交易效率,也使得交

迅雷网心成为中国区块链技术应用示范基地

科技快讯
9月8日,“2018中国新经济产业领袖峰会”在京召开,“新时代、新技术、新业态、新未来”峰会主题下,本次大会汇聚了国务院、工信部等政府部门首脑、国内顶级经济学家、行业领袖企业及人士,聚焦区块链技术等新技术主导的新经济时期。其中,迅雷旗下的网心科技作为中国区块链技术发展的领军企业,受邀出席

以太坊跌成这样,你真的了解它吗,以太坊为代表的智能合约平台

科技快讯
续前:第二个概念就是以太坊虚拟机EVM。在一个编程系统之上,通常会有一些编译和执行的虚拟机来去做支撑。JAVA有JVM,那么在以太坊里,也会有以太坊的虚拟机,可以执行任意复杂的算法代码。开发者可以使用现有的JavaScript或Python以及其他友好的编程语言,在以太坊上创造出自己想要的应用。第三个概念是智能合约(SmartContract)。智能合