📝 区块链教程

77篇技术文档
  区块链教程

📅  最后修改于: 2020-10-30 14:59:14        🧑  作者: Mango

区块链是越来越多的记录列表,称为块,这些记录使用密码术链接。每个块都包含前一个块的加密哈希,时间戳和交易数据。这些天来,区块链一直备受关注。这主要是因为它是世界上非常著名的加密货币-比特币的支柱。许多政府和主要银行已决定引入基于区块链概念的许多常规交易。该框架的应用和潜力巨大,并被认为正在改变各种领域中进行交易的方式。本教程是为渴望学习区块链基础知识的专业人士准备的。我们试图通过比特币加密货币来解...

  区块链-简介

📅  最后修改于: 2020-10-30 14:59:30        🧑  作者: Mango

近年来,关于区块链的讨论越来越多。许多人将其描述为十年来最具颠覆性的技术。特别是,金融市场可能是受影响最大的市场。该技术已被广泛应用于医疗保健,医药,保险,智能财产,汽车甚至政府等多个领域。但是,到目前为止,最成功的区块链实现是比特币-一种点对点电子现金系统,顺便说一下,这也是区块链技术的第一个实现。因此,要了解区块链技术,最好是了解比特币系统是如何设计和实施的。在本文中,您将学习什么是区块链,其...

  区块链-双重支出

📅  最后修改于: 2020-10-30 14:59:52        🧑  作者: Mango

考虑图像中显示的情况-从这里可以清楚地看到,鲍勃(Bob)向丽莎(Lisa)投标了10美元的钞票,以换取一本书。一旦Lisa收到了这笔10美元的实体账单,Bob就无法再使用这笔钱进行其他交易,因为Lisa现在拥有该实体货币。现在,考虑以数字形式付款的情况。如图所示-由于货币兑换的格式为数字格式,因此它实质上是一个存储在Bob设备上某处的二进制物理文件。鲍勃将此文件(数字货币)提供给丽莎后,他还可以...

  比特币-简要历史

📅  最后修改于: 2020-10-30 15:00:14        🧑  作者: Mango

中本聪(Satoshi Nakamoto)在2008年通过一份名为《比特币:对等电子现金系统》的研究型白皮书在世界上引入了比特币。比特币不仅解决了双重支出问题,而且还提供了更多优势,其中一个值得一提的优势是交易的匿名性。创建该系统并在该系统上进行少量交易的Satoshi对整个世界完全是匿名的。试想一下,在这个社交媒体世界中,当每个人的隐私受到威胁时,世界至今无法找出谁是中本聪?实际上,我们不知道中...

  区块链-公钥密码学

📅  最后修改于: 2020-10-30 15:00:38        🧑  作者: Mango

公钥密码术或简称为PKI,也称为非对称密码术。它使用两对密钥-公钥和私钥。密钥是一个较长的二进制数。公钥在全球范围内分发,顾名思义,它是真正的公钥。私钥必须严格保密,并且永远不要丢失。如果是比特币,如果您丢失了比特币钱包的私钥,那么钱包中的所有内容将立即遭到盗窃,并且在您不知情的情况下,您所有的钱(钱包中的内容)将一无所有系统中的机制以找出是谁偷了它-这就是我前面提到的系统中的匿名性。PKI通过加...

  区块链-哈希

📅  最后修改于: 2020-10-30 15:00:52        🧑  作者: Mango

在PKI中最重要的函数之一是哈希函数。哈希函数将任意大小的数据映射到固定大小的数据。比特币使用SHA-256散列函数,该函数产生大小为256位(32字节)的散列(输出)。如图所示-鲍勃(Bob)向丽莎(Lisa)下订单时,会创建一条类似于上图的消息。通过产生32字节哈希的哈希函数对该消息进行哈希处理。对于所有实际目的,此哈希的优点在于哈希(256位数字)对于消息的内容而言是唯一的。如果消息被修改,...

  比特币-采矿

📅  最后修改于: 2020-10-30 15:01:10        🧑  作者: Mango

鲍勃创建丽莎的购买请求时,不会将其单独发送给丽莎。而是在他所连接的整个网络上广播请求消息。鲍勃的网络如图所示。该消息发送到所有连接的节点(机器)。图中的某些节点标记为矿工。这些机器运行运行用于挖掘比特币消息的软件。现在,我将向您解释此采矿的含义。采矿过程由于整个网络分布广泛,因此预计网络中的每个矿工在任何给定时间段都会收到来自多个供应商的多个消息。矿工的工作是将这些消息合并在一个块中。如图所示-消...

  区块链-链块

📅  最后修改于: 2020-10-30 15:01:23        🧑  作者: Mango

各种矿工创建的区块链接在一起,形成了所谓的真正分布式公共分类帐。链中的每个块都包含多个消息(事务),如前面的图8所示。链中的块可以来自任何矿工。在创建块链时,我们遵守以下规则:将前一个块的哈希添加到当前块。因此,一个矿工在创建区块时,会拾取链中最后一个区块的哈希,将其与自己的消息集结合起来,并为其新创建的区块创建一个哈希。现在,这个新创建的区块成为链的新端,因此随着矿工向其中添加越来越多的区块,链...

  区块链-工作证明

📅  最后修改于: 2020-10-30 15:01:41        🧑  作者: Mango

由于所有事务都带有时间戳,因此我们需要在对等网络上实现分布式时间戳服务器。这需要一些额外的实现,这就是我现在将描述的工作量证明。现在,对于每个块,我们再添加一个称为Nonce的项,如下图所示-Nonce是一个数字,表示该块的哈希满足特定条件。该标准可能是所生成的哈希必须使其前导四位数字为零。因此,生成的哈希看起来像000010101010xxx。通常,矿工从Nonce值0开始,并一直递增该值,直到...

  区块链-网络与采矿

📅  最后修改于: 2020-10-30 15:01:59        🧑  作者: Mango

现在,我将总结上述步骤;这是网络中发生的事情-想要从已经在网络上做广告的第三方获得服务的任何人都首先创建交易(向所需收件人发送消息)。在给定的时间内,可能会有许多发送方(买方)和接收方(卖方)创建此类交易。所有交易都在网络上广播到所有节点。注意,给定的交易不必必须到达网络中的每个其他节点。每个节点将新事务组合成一个块。请注意,每个块中的事务集独立于其他人创建的块集,并且自然会与其他人不同。没关系;...

  区块链-矿工奖励

📅  最后修改于: 2020-10-30 15:02:13        🧑  作者: Mango

正如我们在“比特币-采矿”一章中所看到的,在任何给定时间段内,矿工可能会被许多交易淹没。系统中预先定义了一个块的最大大小,因此必须在该块中仅包含一定数量的事务。区块中的交易数量取决于预定义的区块大小和每个区块的平均长度。这里的一个重要提示是,发件人不应在其消息中包含过多信息,以使其简短,从而激励矿工在其他冗长的消息之前接受它。通常,发件人还会根据一定数量的比特币增加交易费,以激励矿工尽早将其包括在...

  区块链-默克尔树

📅  最后修改于: 2020-10-30 15:02:30        🧑  作者: Mango

节点中磁盘空间的问题很容易克服,因为一个块中的所有事务都在Merkle树中进行了哈希处理,如图所示-现在,块标题包含上一个块的哈希,随机数和Merkle树中当前块中所有事务的根哈希。由于此根哈希包括块中所有事务的哈希,因此可以修剪这些事务以节省磁盘空间。所以现在您的区块链将如下图所示-这样可以节省大量磁盘空间。普通客户只对从其他人那里收到付款感兴趣,因此使用此策略。但是,矿工需要保存完整的区块链。...

  区块链-付款验证

📅  最后修改于: 2020-10-30 15:02:50        🧑  作者: Mango

考虑一种情况,作为卖方,您可能希望验证过去的某笔付款。由于您持有的机器上的区块链仅包含块头(如上图所示),因此您要搜索的交易在区块链副本中丢失。现在,您可以在区块链副本中向后搜索,直到找到带有所需交易时间戳的区块。现在,请求选定区块的merkle树,您将拥有所需的交易。如下图所示-在这里,我们假设您正在寻找Tx103。尽管您可能看不到Tx103的内容,但您知道它已被它所属的块和链中所有后续块所接受...

  区块链-解决冲突

📅  最后修改于: 2020-10-30 15:03:05        🧑  作者: Mango

如我们所见,比特币网络包含多个矿工。两个不同的矿工有可能同时解决工作量证明,从而将他们的区块添加到链中的最后一个已知区块。下图所示-现在,我们在块3之后有两个分支。两个分支均有效。因此,下一个开采的区块可能会添加到任一分支中。假设矿工将新开采的区块添加到区块104-A,包含区块104-A的分支将比包含区块104-B的分支更长。下图所示-在比特币架构中,最长的分支总是赢,而较短的分支则被清除。因此,...

  区块链-隐私

📅  最后修改于: 2020-10-30 15:03:21        🧑  作者: Mango

由于记录所有比特币交易的分类账是真正公开的,因此隐私受到威胁。世界上任何人都可以知道谁向谁付款?传统的银行系统能够通过对记录进行保密来维护这种隐私。比特币系统中的隐私是通过不同的策略实现的。请注意,我们说过,比特币的发送者需要知道向谁付款。因此,他要求向其付款的供应商的公钥。此公共密钥可以是匿名的。从某种意义上说,作为某些服务的供应商,当有人问您将付款发送到哪里时,您只需将其公钥发送给他即可。此公...