去中心化的数字货币。 第1部分。比特币


各种加密货币和区块链的话题现在已经变得非常流行,不再是那些对金融领域的革命m不休的怪胎。 但是,一旦您尝试深入研究该主题,就会立即遇到信息不足的问题:几乎没有材料描述有关这些技术的概念和机制的可访问的,适度的技术语言。 按照惯例,所有材料都可以分为两类:核心技术,从第一句话开始的加密技术,p2p,“数字黄金”等;或者关于新互联网的营销胡说,比特币的资本化或某个公司/国家/地区实施区块链并解决了所有问题。 如果您想了解所有这些工作原理以及这些技术可以做什么,那么这些文章非常适合您。


我将尝试传达去中心化加密货币的基本概念,其工作机制,以及拆解比特币的各个分支。 我特意省略了许多技术细节,以免增加文本负担。 最主要的是要了解本质,然后您可以轻松地自己弄清楚这些荒野。


第1部分。 比特币
第2部分。 其他(非)流行类型的比特币,区块链
第3部分。以太坊


主意


一旦我们试图了解比特币的工作机制,我们就立即开始与我们惯常的思维方式发生冲突,这种思维方式断然拒绝接受分散控制系统的概念,而又没有对违规者施加武力。 但是问题立刻出现了,如果没有人控制比特币,它将如何发挥作用? 在2008年,中本聪(Satoshi Nakamoto)提出了一种优雅的解决方案,其中每个网络成员仅信任自己独立维护的基础,如果没有任何记录,则信任大多数基础。


让我们尝试用手指来解释一个小村庄的例子,这个村庄决定放弃纸币流通,并引入一种去中心化的货币。 让它成为一个特殊的村庄,在这个村庄中,所有居民都可以通过名字彼此认识,可以通过语音识别,非常擅长于花的阴影和崇拜皇家紫色。 因此,居民同意新货币将按以下方式工作:


  1. 所有现金流量都是公开的,即 每个人都知道向谁转移了多少钱;
  2. 当某人想转账给某人时,他公开声明:我,约翰,​​转账100枚硬币给詹姆斯;


  3. 每个居民都有一个会计日记帐,他所听到的所有汇款都适合该日记帐。 当天的所有翻译都记录在一页上,第二天从头开始。


  4. 到一天结束时,居民会制定一种奇怪的仪式来解决这一天的所有交易,因为直到确定该交易才被视为有效。 仪式很费力,但是您可以为此得到回报,因此每个人都希望参与这一过程。 步骤如下:

4.1。 从当天开始,对于每笔交易,根据特殊公式,根据转帐和收件人的数量,选择某种颜色和数量的涂料。 然后将所有这些油漆罐倒入一个碗中并充分混合。


4.2。 仪式要求将所得混合物调为深紫色。 为此,通过长时间的精疲力尽的小剂量搜索,将不同的颜色添加到该混合物中。


4.3。 一旦有人找到了必要的颜色及其剂量,他便立即在今天页面的底部写下这些数据,将50枚硬币记入他的帐户以作为奖励,并将其宣布给所有居民。


4.4。 居民们迅速检查他是否真的找到了正确的比例。 如果一切正确,则他们会批准奖励转移,关闭今天的页面并入睡。



现在更多的是要点:


  1. 我们记得,居民可以很容易地通过语音彼此识别,如果有人尝试不代表自己进行汇款,那么居民只是无视这一说法,而且没人会将此转移添加到他们的笔记中。


  2. 由于所有转帐都是公开的,因此每个人都知道每个公民在他的帐户中有多少钱,如果约翰没有足够的资金,那么他的转帐将被忽略(没有人记笔记)。 理想情况下,每个人的记录链都应该相同。


  3. 如果有人丢失了日记或错过了一些翻译,他会采访居民并同步他的笔记。 在这种情况下,仅需依赖与大多数记录一致的记录。


  4. 选择所需的涂料剂量和颜色是一个非常耗时的过程,并且很容易检查工作结果。 只需进行当天的交易,根据配方即可制备混合物,并以宣布的剂量向桶中添加油漆。 如果您得到的是深紫色,那么一切都是真实的,居民们同意奖励发现这些比例的人。 页面密封后,所有交易均被视为有效并永久保留在历史记录中。 这样,维护了基础的完整性,并且新的资金也进入了系统。 薪酬金额每4年减半,这限制了系统中的总金额。 而且,如果您将找到的颜色比例从上一页添加到下一页,则这些页面将被链接,并且没有人能够追溯更改交易。 至少对记录进行更改,有必要重新计算此页和所有后续页面的涂料剂量,此外,还必须说服大多数居民用新记录替换自己的记录。

网络的每个成员自己决定是否接受欺诈性交易,并且在大多数善意参与者的同时,系统将按其应有的方式运行。 但是,这意味着什么呢?这种去中心化货币的开发商设定了哪些目标?


  1. 系统中的货币数量应受到限制,从这个意义上说,货币就像黄金。 没有人应该能够印出一大笔钱,这反过来会导致通货膨胀和储蓄贬值。


  2. 取消与当前货币系统的最小单位相关的限制。 例如,您想以1科比或1便士的价格出售服务。


  3. 除非由于整个Internet断开,否则将确保由于缺少单点故障而进行任何正确的汇款。 任何组织,甚至一个州,都不应该具有回滚/阻止事务的能力。
  4. 为了欺骗系统或更改规则,必须说服网络的大多数参与者(> 50%),等等。

实作


如果基本思想清晰无误,那么我们可以继续进行简化的技术实施。 接下来,您需要了解诸如哈希,公共密钥加密和数字签名之类的概念。



每个网络成员都会生成一个或多个帐户,其中一个帐户只是由ECDSA算法(用于创建数字签名的公钥算法)生成的密钥对。 作为帐户的地址,使用一对中的公钥,并且为了从帐户中转账,需要用私钥签署此转账(交易)。 交易被广播到所有网络参与者,那里有特殊参与者,矿工,他们参与形成所有交易历史的单一,协调的链(区块链)。 矿工在检查当前交易正确性的同时将其打包。 除了事务列表之外,一个块还包含来自上一个块的哈希值和某个NONCE值。 为了使该块被认为是正确的,有必要选择一个NONCE,以使整个块的哈希值很漂亮(开始时带有大量的零)。


由于数据散列给出完全不可预测的值,因此很难选择此NONCE。 在交易列表中,第一个是特殊交易(块奖励),用于奖励矿工一定的金额。 一旦矿工选择了必要的NONCE,他就会通知所有人和其他矿工检查其工作结果。 这个过程称为采矿,因为它创建了一个单一的区块链,矿工为此工作获得了回报。 验证过程非常快,所有交易和整个区块的哈希都经过检查。 如果没有错误和欺诈,那么每个矿工都将这个区块包含在其区块链中,并继续进行进一步的挖掘。 如果区块链中包含一个区块,那么所有交易都被视为完成,包括将奖励转移到矿工账户的非常特殊的交易。


总结一下


  • 所有交易都是公开可用的。
  • 有一套公认的规则,是否遵守则取决于每个人自己决定。 没有中央机构采用武力对违法者施加影响的方法。
  • 如果将事务打包在一个块中,则该事务被视为成功(已批准)。
  • 打包在一个块中的事务被视为有效,因为它们会被反复检查。
  • 应鼓励翻译验证过程,并应更多地参与此过程。
  • 但是有必要使包装过程复杂化。 为此,使用了工作量证明原理。 需要解决资源密集型任务,其结果易于验证。
  • 如果一个块具有漂亮的哈希,则认为该块已打包,为此,您需要长时间对块中的NONCE变量进行排序。 找到正确的NONCE是困难的,并且检查哈希很容易。 找到正确的价值会得到回报。
  • 每个块都包含前一个的哈希,我们得到了一个沿一个方向增长的块链。
  • 有时链可以分支,但最长的分支将有效。 为了创建包含虚拟交易的区块并增加该分支,攻击者将不得不花费更多的计算资源。

下一部分将描述比特币的当前局限性和问题,以及旨在解决各种问题的分支概述。


文学:关于比特币Github

Source: https://habr.com/ru/post/zh-CN405453/


All Articles