2020:07:11   今天是星期六   21:59:39
APP下载 万链之家APP

Android

区块链:新手速成班

06-12 11:38

标签    区块链   以太坊   比特币   区块链媒体   区块链论坛

文章来源: 万链之家

区块链是一个简单但真正强大的概念,在过去的几年里已经改变了许多行业。简单地说,它是一种去中心化存储数据的方式,通过将数据分布在网络的所有参与者之间,从而消除了中央参与交易的需要。

区块链是比特币和以太坊等加密货币背后的底层技术。在过去的几年里,这些已经引起了很多关注,但是我想深入探讨一些概念,这些概念使得这些数字货币能够存在,而无需中央银行来协调匿名用户之间的所有交易。

这一切都始于2008年中本聪发布的白皮书《比特币:点对点电子现金系统》(Bitcoin: a Peer-to-Peer Electronic Cash System)。这篇论文解释了公众如何能够重新控制他们的货币,并可以在对等网络上转移数字货币,而不需要一个中央权威机构来调解所有的交易。除了引入我们都听说过的加密货币比特币以外,这篇论文还引入了一种革命性的数据存储分发系统,现在被称为区块链。

我在文章的最后创建了一个术语表,其中包含了整篇文章中使用的一些技术词汇。

区块链基础知识:

本质上,区块链是一种存储数据的新方法。这些数据可以是单个比特币从一个账户转移到另一个账户的审计跟踪,也可以用于其他用例,这些用例可能使用它存储文件或跟踪供应链中产品的出处。区块链存储数据的独特方式是将一定数量的数据放在单独的块中,然后使用加密哈希值将这些块固定地链接在一起。它类似于一个永久性的簿记,保存按时间顺序发生的所有交易的日志。过去的任何信息/交易都不能被改变,因为它们与之前的交易紧密相连。

比特币之前没有数字货币?

在2008年比特币发布之前,没有人能够在互联网上安全地转移数字货币。比特黄金(Bit Gold, 2005年)是尼克·萨博(Nick Szabo)创建一个安全的数字货币转移平台的失败尝试。这并不安全,因为他没有解决双重支出的问题。

假设Gavin想把钱发送给卖方A和卖方B。请记住,数字货币是由数字文件表示的,所以Gavin只需要将该文件发送给卖方A。然而,这里出现了一个问题,我们不能确定Gavin在将数字文件发送给卖方A之后,已经从他的计算机中删除了他的个人拷贝。Gavin可以将相同的数字文件发送给卖方B,因为它仍然代表着相同数量的数字货币。这被称为双重支出问题,只有在处理数字货币而不是实物现金时才会出现。

通常,这个问题可以通过一个管理所有交易的权威中介来解决。例如,这个可信任的第三方可以是银行,负责保存人与人之间发生的所有交易的记录,并确保没有任何交易是欺诈的。这是解决双重支出问题的中央方案。


恰恰相反,区块链提出了一种去中心化的解决方案——每个人都可以平等地访问所有交易的公共账本(加密)。只有在当事人之间存在信任问题时,才需要银行。为了消除中介所有交易的中央机构,需要一个不可信任的系统。区块链不需要各方相互信任,但仍然像拥有调停者(如银行)一样安全。它使用去中心化的概念来创建一个不可信的系统。简单地说,区块链是在特定网络上发生的所有交易的准确且永久的记录。它在一个由所有相关节点运行和维护的对等网络上完成这一任务。区块链依赖于公共计算机网络来验证每个交易。该系统依赖于网络上的每个节点/用户能够完全访问网络上曾经发生过的全部交易链,这被称为去中心化账本。每个参与者的计算机与网络上的其他节点交叉引用他们的公共账本区块链。这意味着所有节点总是在同一个页面上,并且始终拥有最新的区块链副本;当一个新的块添加到网络时更新它们的区块链副本。

由于消除了中间商,这个想法降低了成本,提高了交易速度。如果有人试图通过使用属于该网络的设备更改一个区块来欺骗该系统,那么它将作为一个明显的异常现象被其他同行所注意。这就带来了形成共识的概念。为了将新的区块添加到永久区块链(公共账本)中,51%的网络参与者必须同意该区块不存在欺诈。一旦提交给区块链的方案经过验证并被大多数参与者普遍接受,就形成了共识。然后,块被添加到公共分类账中,每个参与者的区块链副本将被更新。

推行这一制度可带来以下好处:

· 消除了对中介所有交易的中央机构的需要,从而将控制权交还给网络的参与者
· 减少交易时间和速度,同时消除交易成本的中央当局
· 没有单点故障,因此如果一个节点宕机,网络将保持完整,因此永远不会出现任何停机问题
· 安全的数据
· 对恶意用户来说,这几乎是不可原谅的
· 每个比特币/文件/产品都有一个来源链(审计跟踪)
· 增加交易涉及各方之间的透明度,同时减少需要完成的冗余文书工作

另一种确保区块链安全的方法显然与区块的不可变链接有关。一个简单块包含一组由网络参与者提交的交易。区块链上的每个块都固定地链接到前一个块,本质上就像一个链表。这一概念的含义是,如果恶意用户试图诈骗系统,并更改公共分类账中过去块中的交易细节,那么从该点起链中其馀块将不再有效,因为所有加密链接都将被破坏。这确保了存储在区块链上的数据的不变性。

块通常包含以下属性:

1. 时间戳——它被创建/挖掘的时间
2. 上一个块的哈希值
3. 交易/其他数据
4. 块本身的哈希值—通过组合块的内容产生

演示目前为止要解释的概念:demoblockchain.org/blockchain

矿工:

网络上的一些参与者可以选择成为矿工。在永久添加到区块链之前,它们负责“挖掘”(验证)新块。矿工们互相竞争,解决计算税务难题,并计算出块中所有属性的哈希值。此外,矿工计算出存储在一个块中的所有其他加密散列,该块将其固定地链接到前一个块。

加密哈希函数是一个复杂的数学函数,它具有:

· 总是产生一个固定长度的看似随机的输出,而且它是确定性的(对函数的相同输入总是会产生相同输出)
· 是一个单向的功能,所以输出不能重新进入到功能复制输入-不能被逆转
· 输入可以是任意长度

例如,在比特币的架构中,验证区块需要工作量证明。这意味着挖掘器需要使用伪随机数nonce来解决这个复杂的问题。这需要大量的时间和计算能力。一旦找到nonce值,网络上的其他参与者就很容易验证该值。可以这样想,在十亿个可能的锁钥匙中,矿工们都在竞争,试图随机挑选出适合那把锁的钥匙。这很难做到,但是一旦找到了正确的密钥,其他人就很容易通过简单的测试来验证所选的密钥是否适用于该锁。一旦找到nonce值(正确的键),矿机就会将它们的块(连同nonce值)广播到网络的其他节点,其他节点可以批准它并将其永久地添加到区块链中。

矿工在区块链网络上的角色

您可能想知道,如果两个矿机同时提交要添加到区块链的不同块,会发生什么情况。我们在同一个网络上得到了两个不同版本的区块链。为了决定沿着哪个链前进,算法等待另一个挖掘器将下一个块添加到链的一个版本中。区块链算法总是将被使用的最长的区块链作为唯一最可信的真值源。长链被整个网络所接受,长链失效。然后网络继续使用最长的可用区块链。

非对称加密:

在区块链网络中,使用公钥加密/非对称加密对存储在块中的数据进行加密,以保证每次交易的详细信息的安全。这确保了只有预期的消息/交易接收者能够访问它。此外,私钥还用于验证交易的发送方。

解释:

顾名思义,用户的公钥对网络上的每个人都可用,而私钥必须由用户保密。这些键成对生成。它们在数学上是相关的,这意味着任何由公钥加密的内容只能由其对应的私钥解密,反之亦然。这意味着,如果用户A想向用户B发送一个交易/消息,并确保只有用户B可以解密和读取消息;用户A将使用用户B的公钥加密消息,每个人都可以访问该公钥。这是因为加密的消息只能使用相应的私钥解密。因此,只有用户B可以解密该消息,因为他们是唯一能够访问自己私钥的用户。

类似地,为了验证消息或交易的来源/发送者,发送消息的用户A可以使用其私钥对其消息的哈希值(加密消息)进行加密,该私钥会产生一个“数字签名”。 这个数字签名伴随着通过区块链发送给用户B的哈希值消息。因为区块链网络上的每个人都可以访问用户A的公钥,所以任何人都可以对附加到加密消息的数字签名进行解密,并检查它是否与加密消息匹配。
见下图。这就验证了用户A一定发送了该消息/交易,因为他们是唯一能够访问其用于创建数字签名的私钥的用户。由于数字签名不能被伪造,因此被认为是更安全的,所以数字签名如今在所有行业中都得到了使用。

数字签名验证的概念

词汇表:

块:
数据块是以链的形式存储在去中心化网络上的一组独立的属性数据。每个块包含诸如块头、多个交易、时间戳、它的前一个哈希值(前一个块的当前哈希值)和它的当前哈希值(块的所有内容通过加密哈希值函数传递)等属性。

区块链:
区块链是一个持续增长的记录(块)列表或“链”,它们按时间顺序链接。每个块包含多个交易,这些交易由一个挖掘器挖掘以形成一致意见。它是一个数字账本,记录了自第一个区块被挖掘以来在该网络上发生的所有交易。

加密哈希值函数:
它是一种产生随机的字母和数字的数学字符串的方法。它接受一个输入,然后变成一个看似随机的给定长度的输出。当输入包含一个块的内容并将其传递给一个散列函数时,它是唯一的代码/输出。

非对称加密:
非对称加密使用两个密钥而不是一个。生成一对互补的单向键。一个公钥和一个私钥,可用于对用另一个密钥加密的数据进行解密。它允许创建数字签名来验证交易和加密消息的身份。

节点:
连接到网络的任何计算机,因此是网络的参与者。

去中心化:
没有中央机构,也没有中央服务器响应所有客户端。网络上的所有参与者都可以平等地访问所有信息,信息的副本存储在所有节点上。

挖矿:
当一个节点必须完成一个复杂的数学问题时,该问题需要花费大量的计算时间来找到正确的答案。

工作量证明:
一种验证方法。计算机必须不断猜测数字,直到它得到正确的答案并找到正确的Nonce值。

白皮书:
权威的指南或报告,简明地告诉用户一个特定的问题和作者可能已经开发解决问题的解决方案。帮助读者理解问题,并通常推广公司的解决方案。例如,基于区块链的企业会解释为什么他们需要区块链,为什么他们可能创造了一种代币,以及整个系统是如何进场逻辑运作的。它是一个开源文档,解释了作者开发的问题和解决方案。

不变性:
不 能改变或改变的事物。在本例中,它是存储在区块链分类账的每个块中的信息。


声明:万链之家登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。

赵宇飞

300打赏金币 11所得总金币

    最新发表    最高金币  最高点击量

特约作者

7x24h快讯更多 >>
  • 18:13

    HKEx.one全球技术交流会·长沙站暨HKEx Club... [快讯详情]

  • 16:22

    UEEX创始人惠禹博:交易是加密资产最核心的价值7月11日... [快讯详情]

  • 07.10 14:12

    ETCC将在以太超跑生态在中以保底0.3 USDT每枚进行... [快讯详情]

  • 07.10 12:33

    EAYChina线上ama今晚启动据业内讯息,今日知名项目... [快讯详情]

  • 07.09 20:10

    【GPSS 将于7月15日17:00正式上线99Ex】最新... [快讯详情]