在上一部分中,我们以比特币的形式描述了去中心化数字货币的基本概念及其实际实现。 像任何新概念一样,比特币在实践中面临许多与网络操作协议和保护数据库完整性有关的问题。 在本文中,我们将讨论网络的当前局限性,替代货币以及一种或另一种比特币问题的解决方案,以及大企业为何对区块链产生兴趣。
第1部分。 比特币
第2部分。 其他(非)流行类型的比特币,区块链
第3部分。以太坊
积木
比特币不仅显示了点对点支付系统理念的一致性,而且还提出了解决公共(去中心化)共识问题的解决方案。 对读者而言,在初始阶段,比特币的架构似乎过于复杂。 例如,如果有通用规则,而我们可以简单地忽略不正确/欺诈性交易,那么为什么我们需要区块和挖掘? 为此,我们需要了解交易和防止双重支出的实施方式。
交易额
在比特币中,当在输入处进行交易时,许多先前的交易会合并在一起,在输出处会执行到其他帐户的转账(见图)。 退出产生的转移称为未花费的交易(UTXO),直到它们进入另一个交易为止。
创建新交易时,UTXO会被整体花费,但是如果您只需要花费一部分,则仅将另一笔转账与剩余的余额一起添加到您自己的帐户中。
如果我们对之前交易的有效性没有信心,那么我们每次都必须仔细检查整个交易链,直到发行为止。 为避免这种情况,将事务打包在一个块中,然后再用漂亮的哈希将其密封,并由两侧的其他块链接。 这给了我们一定的保证,即属于该区块的交易是有效的,并且已经可以被引用。
汇总到某个帐户的所有UTXO后,我们可以找到其余额,因此,在任何时候,所有UTXO的总和等于系统中的总金额。
双重支出
在分散式系统中,很难同步所有用户的记录,交易顺序和重复消费存在问题。 想象一下这样一种情况,用户使用同一UTXO(几乎)同时启动多个事务。 由于网络延迟,参与者将以不同的顺序接收这些消息,甚至他们可能会跳过一部分(请参见图)。
当然,如果我们有一个为所有参与者提供通用时间的系统,我们可以避免这种混乱,但这是后向集中化,我们最初拒绝了。 为了解决这个问题,发明了区块和挖掘技术,它们确定了这些交易的顺序和确认。 同时开采多个分支,但调整了采矿的复杂性,以便在3-4个区块内突破一个分支,从而永久修复了历史记录中的所有交易。
工作证明
就像我们在上一篇文章中提到的那样,PoW保护数据库的完整性。 但是,如果某人(我们称他为攻击者)拥有可观的资源,那么什么是51%的攻击以及理论上可以采取的行动。
攻击者将能够比其他人更快地建立链(并获得最大的回报),但只能以诚实的方式进行。 区块的正确性易于验证,一旦检测到此类活动,善意的参与者将忽略此类区块和交易。
- 攻击者可以取消交易并退还他的钱(见图)。
通常,这种情况在短期内不会造成太大损害,除非回滚自己的交易并阻止其他交易。 但是由于大多数奖励将由一个参与者获得,因此其他矿工将分散,这也意味着网络的终结。
2014年,Ghash.io池累积了51%的电量达几个小时,一些矿工独自离开了池,以免破坏对比特币的信心。
其他分散式共识机制
PoW的主要缺点之一是能源成本。 作为一种节能的替代方案,开发了权益证明共识协议,其中份额较高的参与者更有可能创建下一个区块。 这种机制和其他类型的共识在这里很好地描述。
比特币当前问题
根据网络规则,平均每10分钟会创建1个块。 建议等待大约六个区块,以便将交易视为已在区块链中明确固定,这已经是一个小时的时间。 与银行间转账相比,这当然非常快,但仍然不适合小型企业。
鉴于创建该块的时间,块的大小限制为一兆字节,对于矿工来说,以较高的佣金为交易服务更有利可图。 最近,尝试通过更改块的结构和大小来更新协议,最终导致网络分支为经典比特币(BTC)和比特币缓存(BCH)。
另一个缺点是矿工的入门门槛很高,没有ASIC机器进行采矿就没有意义。 除此之外,矿工们正在为稳定的利润而拼搏,这又是一种集中化。
品种种类
Namecoin是比特币的第一个分支,它允许您通过将名称写入区块链来注册名称。 .bit区域中的域名带有d /空格,而带有相关信息的名称则带有id /。 有了公众的共识,在网络内,您可以保证拥有一个特定的名称,而您需要定期付款。 这样的模型可以替代当前的ICANN系统,从理论上讲可以消除注册服务商的问题。
Litecoin是最受欢迎的分支之一。 与比特币相比,该交易速度快4倍,佣金低。 此外,为PoW选择了一种算法,该算法会使GPU卡和ASIC机器上的挖掘复杂化。
PeerCoin是第一种具有PoW和PoS混合模型的货币。
Zerocoin是一种完全匿名的货币,可让您跟踪货币的流动。
以太坊是一个用作分散式应用程序虚拟机的平台。 例如,正在开发某种智能合约,他们用金钱(如佣金,在这里称为加油)为它加油并发送到网络。 矿工依次处理这些块,执行这些应用程序的字节码,并从这些应用程序中除去燃料以作为工作报酬。
那区块链呢?
比特币存储数据的方式以及共识方法已经发展成为一个独立的话题。 在需要达成共识和透明基础的任何领域中,实施的前景都可以:
- 金融,贸易;
- 保险,博彩业务;
- 公共数据库,注册表;
- 投票,电子政务。
每个区域对安全模型,数据隐私,共识机制都有自己的要求,这取决于参与者和在区块链中流通的对象的性质。
一个例子是私人银行间区块链,其中不包括匿名性,参与者最初彼此信任。 因此,简化了网络保护机制,银行将仅具有用于同步某些资产的基础管理和联合管理的工具。 其他必要的要求可能是参与者之间的私人数据交换,监管机构之间的连接等。
最初,区块链解决了双重支出数字资产的问题,但是在产品跟踪和保险等领域,需要一种有效的序列化物理对象的方法,以防止各种类型的欺诈。
在这里您可以了解有关区块链平台概述的更多信息。
下一部分将描述以太坊平台并查看智能合约的示例。