分类
Uncategorized

blockchain的验证

一个区块头大概80字节。如果我们假设每十分钟产生一个区块,一年就是80字节*6*24*365=4.2兆字节。2008年出售的电脑典型的配置是2GB内存,根据摩尔定律预测,每年增加1.2G,即使区块头全部放在内存里,存储也不是个问题。

8. 简化支付验证

即使不运行全网络节点,验证支付也是可能的。用户仅需要保存最长工作量证明链的区块头的拷贝,他通过查询网络节点直到确信它有最长的链来获取区块头,并且可以得到默克尔分支,分支连接了交易和这个打了时间戳的区块。他本身不能验证交易,但是通过连接到链上的一个地方,他可以看到网络节点已经接受了它,后面的区块进一步确定网络接受了它。

因此,如果诚实节点控制着网络,验证就是可靠的,如果网络被攻击者控制,验证就是很弱的。虽然网络节点本身可以验证交易,但这种简化验证的方法会被攻击者编造的交易欺骗,因为攻击者可能持续控制网络。防止这种情况的一种策略是接收网络节点的告警,当他们检测到无效块的时候,提示用户软件下载整个区块,并且提醒确认交易的一致性。频繁接收支付的企业可能仍然想运行他们自己的节点,为了更独立的安全性和更快的验证。

9. 组合和分割价值

虽然可以单独处理币,为转账的每一分都单独交易是很不方便的。为了能是价值分割和组合,交易包含多个输入和多个输出。正常的会有一个单独从以前交易来的大额输入或多个小额输入组合在一起,最多两个输出:一个用来支付,一个用来找零,有零钱的话会返还给发送者。

应该注意的是,一个交易依赖几个交易,这些交易依赖更多的交易,看起来很分散,但在这里不是一个问题。从不需要提取一个交易全部历史的独立的拷贝。

10. 隐私

传统的银行通过限制向有关方和信任的第三方提供信息来达到一个保护隐私的目的。向公众广播所有交易的必须性将这个方法排除了。通过打破信息在其他地方的流动性仍然可以保护隐私:通过保持公钥匿名性。公众可以看到一个人给其他人转钱了,但是没有信息可以把交易和某人联系起来。这类似于证券交易所公布的信息水平,交易时间和个人的交易规模是公开的,但不告诉当事人是谁。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注