Sotoken 忘记是第几遍告诉你了 什么是区块链

射雕英雄传相信大家都看过吧,那可是我们80后人经典的记忆。这里St哥不是为了给你讲述任务剧情啥的,我们举一个例子,我们假想太平洋上有一个与世隔绝的海岛,就叫桃花岛。

射雕英雄传相信大家都看过吧,那可是我们80后人经典的记忆。

这里St哥不是为了给你讲述任务剧情啥的,我们举一个例子,我们假想太平洋上有一个与世隔绝的海岛,就叫桃花岛。

在桃花岛上,每个家庭拥有定规模的资产, 这些资产以粮食、蔬菜、日用品、房地产等形式存在。岛上的物质交换只在岛内居民之间进行。所有的交易都由这个岛上唯一能写会算的人一 岛主黄老邪记录。每天随着岛内交易的进行,交易信息都在不断增长,黄老邪将所有的交易信息都记录在一本账本中, 并由自己来保管。但是,由黄老邪一人记账的模式出现了诸多问题,随着岛上居民的交易行为日益频繁,每天要记的账目越来越多,黄老邪的记账压力也越来越大。为了缓解自己的工作压力,黄老邪将记账技能传授给岛上的所有居民,使他们都参与到记账过程中来。

黄老邪要求居民将交易金额及交易时间等信息都记录下来,并且每一笔交易记录经交易双方签字后方可生效。黄老邪还为岛上每一个家庭分配了各自独立的信箱,只有该家庭的成员才能使用钥匙打开自家的信箱,查看信箱中储存的账目信息。

有了信箱以后,岛上的记账模式发生了翻天覆地的变化:当新的交易记录产生时,交易人将一-页记载了新的交易信息的记录放入每家每户的信箱中。这些交易信息按照放入信箱的先后顺序形成了一个天然的账本,每一户居民都可以打开信箱进行查看。在这种情况下,即使有个别人将信箱中的信息进行篡改,整体的交易记录依旧不会出现偏差。居民只要拿出每个人那里保存的账本,根据多数原则确定统-的交 易历史,并纠正个别人手中错误的账本页目,就可以在无需岛主黄老邪监管的情况下完成记账。

这么说大家明白了吗?

这么说大家理解了吗?

这么说大家知道了吗?

什么是区块链

好了,区块链本质上是一个分布式账本技术。

如果以数学函数来类比的话,我们可以将分布式网络、共识机制、去中心化、加密算祛、智能合约、权限许可、价值和资产等要素理解为函数中的变量或因子。这些变量和因子的有机组合形成了区块链有别于传统技术的些新的技术特征。 

分布式账本技术函数见下图

Sotoken 忘记是第几遍告诉你了 什么是区块链

Sotoken 忘记是第几遍告诉你了 什么是区块链

区块链的动态点对点网络

上文的故事中,由黄老邪一人记账的时期与我们如今的社会生活类似,都是由银行等中心化机构来对信息进行记录。相对应地,黄老邪改变记账模式后,岛上的居民都可以参与到记账环节中,每个居民之间都可以发生交易并自行进行记账,这与区块链点对点的特性很相似。

区块链是一个分布式账本

Sotoken 忘记是第几遍告诉你了 什么是区块链

区块链的分布式账本结构

在桃花岛上,由黄老邪一人记账的时期,整座岛上只有一本账本来对所有的信息进行记录。改变记账模式后, 岛上的每一户人家都拥有一本账本,这就相当于区块链这个分布式的公共账本。

区块链推翻了传统的记账模式。与传统记账模式不同,区块链中的交易信息不再由单个机构来记录,而是由其中的每一个节点共同参与记账。在这个分布式网络上,每个节点都有账本的完整备份。如果有人想篡改账本上的记录,他必须改动各节点存储的账本备份,这就使篡改账本记录的行为难以实现。

区块链用哈希算法实现信息的不可篡改随着新交易的不断产生,桃花岛每家每户账本里记录的交易信息也快速增长,越来越多的记录信息页会保存到信箱中。类似地,在区块链中,一个又一个新产生的区块会不断链接到现有区块链的尾端。

如何能够保证这个记录信息页的每一页,以及区块链账本中的每一个区块都是真实准确、没有被篡改过的呢?

设想一下, 如果我们通过一种算法对账本信息进行加密,给区块链上第一个区块打上一个唯一的标签, 之后的每一个区块也通过加密后打上一个唯一标签,同时又能够包含前一个区块链的标签。这时,只要采用一种方法保证这个标签无法被轻易替换更改,那么就能保证这个区块记录的信息没有被篡改过。

哈希算法就是上面提到的区块链中保证交易信息不可篡改的单向密码体制。该算法的思想是接收一段明文, 以一种不可逆的方式将它转化成一段长度较短、位数固定的输出做列。这个加密过程是不可逆的,这就意味着无法通过输出散列的内容推断出任何与原文有关的信息。

任何输入信息的变化,哪怕仅仅是一~位数字的更改,都将导致散列结果的明显变化。基于输出散列与输人原文一 一对应的特性,哈希算法可以被用于验证信息是否被修改。

通过哈希算法可对一个交易区块的所有交易信息进行加密,并把记账内容压缩成一串数字和字母组成的字符串,这个字符串无法反推出原来的内容。区块链的哈希值可以唯一、准确地标识--个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值。

如果想要确认区块的内容是否被篡改,那么利用哈希算法重新进行计算,记账信息没有变化,计算出的哈希值也将不会产生变化。

在区块链中,通常使用SHA-256的哈希算法进行区块的加密,该算法的输出长度为256位,即生成长度为32字节的随机散列。区块链用公钥、私钥来标识身份在区块链中,信息的传播按照公钥加私钥的方式进行。

公钥相当于桃花岛上每家每户居民的信箱地址,当别人获知你的公钥时,可以与你通信。相应地,私钥相当于信箱的钥匙,只有拥有私钥的人才能查看信箱中的信件信息。在区块链中,数字签名可以用于验证信息发送者的身份,用户可以公布自己的公钥,然后发送可以被公钥所验证的、已经通过私钥加密过的信息。

如果信息的接收者能够使用公钥解密加密过的信息,即可证明这条信息发送者的身份属实。上述过程可以用图3-4 表示:区块链中有两个用户Alic和Bob,Alicc想让Bob知道自己是真实的Alice,而不是他人冒充的。Alice 只需要使用私钥对文件签名并发送给Bob, Bob 使用Alice的公钥对文件进行签名验证,如果验证成功,则该文件一定是使用Alice的私钥加密的。由于Alice的私钥只由Alice一人持有,Bob 就可以确定文件的发送者正是Alice本人。

Sotoken 忘记是第几遍告诉你了 什么是区块链

此外,公钥与私钥还可以保证分布式网络中点对点信息传递的安全。我们不妨假想这样一个情形: Alice想在分布式网络中发送一封情书给Bob。但由于分布式网络的信息传递特性,这封情书将被发送至每一个用户手中。

Alice 不希望情书的内容被其他用户看到,因此Alice使用Bob的公钥对情书进行加密。网络中除Bob外的其他用户接收到这封经过加密的情书,看到的只是一段密文。

只有Bob可以使用自己的私钥对密文进行解密,得到一份情书的明文。通过这个加密与解密的过程,Alice与Bob之间实现了点对点的数据传递。

在区块链的信息传递过程中,信息传递双方的公私钥加密与解密往往是成对出现的,即信息发送方使用私钥对信息签名、使用信息接收方公钥对信息加密,信息接收方使用对方公钥验证信息发送方的身份、使用私钥对加密信息解密。

区块链用Merkle树结构简化验证程序Merkle树是区块链的基本组成部分,Merkle树的叶子节点存储的是数据文件的哈希值,非叶子节点存储的是对其下面所有的叶子节点值的组合结果进行哈希计算后得出的哈希值。区块链利用Merkle树这种数据结构存放所有叶子节点的哈希值,并以此为基础生成一个统一的哈希值。

区块中的任何一笔交易的发生和交易信息的变动都会使Merkle树发生改变。在交易信息的处理、比对及验证的过程中,尤其是在分布式环境下进行比对或验证时,Merkle 树会大大减少数据的传输量和计算的复杂度。

Sotoken 忘记是第几遍告诉你了 什么是区块链

Merkle 树结构图

区块链为每一笔交易盖上时间戳黄老邪在传授记账方法时,要求居民将发生在桃花岛上的每一笔交易都记录下来,并且要求他们将交易发生的时间也一并记录在账本上,这就相当于区块链为每- -笔交易在发生时盖上了时间戳。

在区块链中,时间戳的应用是对每一次交易记录的认证,它就像交易合同公证一样,能够显示交易记录的真实性。时间戳作为区块元数据的一部分,具有天然的时间特性。从某种意义上讲,区块链的本质可以被理解为构造了一个永不停息、无坚不摧的时间戳系统。

区块链中的时间截比传统的公证制度更为可信,是因为时间签名是直接写在区块链上的,区块链中已经生成的区块不能以任何方式进行修改。一旦区块被修改,生成的哈希值就无法匹配,操纵行为也将由此而被系统检测到。

由于区块哈希值的不可伪造性,一个区块能提供出哈希值即可证明区块哈希值存在于该区块生成时刻之后,就像你在一张白纸上写下了一串数字,说明的是数字出现的时间晚于白纸 ,这也称为时间点后向证明。

时间点前向证明则需要构造一个包含数字摘要的交易,当该交易进入区块后,便可以证明你在该区块时刻之前拥有该数字摘要。

在区块链技术中,智能合约在分布式交易所、金融衍生品、身份认证、医疗健康和科学发现等领域均有着广泛的应用。

如果还有不清楚的,可以私聊小编,或者在公众号直接回复哦……

生成图片
3

发表评论

Sotoken 忘记是第几遍告诉你了 什么是区块链

星期四 2018-10-25 11:25:13

射雕英雄传相信大家都看过吧,那可是我们80后人经典的记忆。

这里St哥不是为了给你讲述任务剧情啥的,我们举一个例子,我们假想太平洋上有一个与世隔绝的海岛,就叫桃花岛。

在桃花岛上,每个家庭拥有定规模的资产, 这些资产以粮食、蔬菜、日用品、房地产等形式存在。岛上的物质交换只在岛内居民之间进行。所有的交易都由这个岛上唯一能写会算的人一 岛主黄老邪记录。每天随着岛内交易的进行,交易信息都在不断增长,黄老邪将所有的交易信息都记录在一本账本中, 并由自己来保管。但是,由黄老邪一人记账的模式出现了诸多问题,随着岛上居民的交易行为日益频繁,每天要记的账目越来越多,黄老邪的记账压力也越来越大。为了缓解自己的工作压力,黄老邪将记账技能传授给岛上的所有居民,使他们都参与到记账过程中来。

黄老邪要求居民将交易金额及交易时间等信息都记录下来,并且每一笔交易记录经交易双方签字后方可生效。黄老邪还为岛上每一个家庭分配了各自独立的信箱,只有该家庭的成员才能使用钥匙打开自家的信箱,查看信箱中储存的账目信息。

有了信箱以后,岛上的记账模式发生了翻天覆地的变化:当新的交易记录产生时,交易人将一-页记载了新的交易信息的记录放入每家每户的信箱中。这些交易信息按照放入信箱的先后顺序形成了一个天然的账本,每一户居民都可以打开信箱进行查看。在这种情况下,即使有个别人将信箱中的信息进行篡改,整体的交易记录依旧不会出现偏差。居民只要拿出每个人那里保存的账本,根据多数原则确定统-的交 易历史,并纠正个别人手中错误的账本页目,就可以在无需岛主黄老邪监管的情况下完成记账。

这么说大家明白了吗?

这么说大家理解了吗?

这么说大家知道了吗?

什么是区块链

好了,区块链本质上是一个分布式账本技术。

如果以数学函数来类比的话,我们可以将分布式网络、共识机制、去中心化、加密算祛、智能合约、权限许可、价值和资产等要素理解为函数中的变量或因子。这些变量和因子的有机组合形成了区块链有别于传统技术的些新的技术特征。 

分布式账本技术函数见下图

Sotoken 忘记是第几遍告诉你了 什么是区块链

Sotoken 忘记是第几遍告诉你了 什么是区块链

区块链的动态点对点网络

上文的故事中,由黄老邪一人记账的时期与我们如今的社会生活类似,都是由银行等中心化机构来对信息进行记录。相对应地,黄老邪改变记账模式后,岛上的居民都可以参与到记账环节中,每个居民之间都可以发生交易并自行进行记账,这与区块链点对点的特性很相似。

区块链是一个分布式账本

Sotoken 忘记是第几遍告诉你了 什么是区块链

区块链的分布式账本结构

在桃花岛上,由黄老邪一人记账的时期,整座岛上只有一本账本来对所有的信息进行记录。改变记账模式后, 岛上的每一户人家都拥有一本账本,这就相当于区块链这个分布式的公共账本。

区块链推翻了传统的记账模式。与传统记账模式不同,区块链中的交易信息不再由单个机构来记录,而是由其中的每一个节点共同参与记账。在这个分布式网络上,每个节点都有账本的完整备份。如果有人想篡改账本上的记录,他必须改动各节点存储的账本备份,这就使篡改账本记录的行为难以实现。

区块链用哈希算法实现信息的不可篡改随着新交易的不断产生,桃花岛每家每户账本里记录的交易信息也快速增长,越来越多的记录信息页会保存到信箱中。类似地,在区块链中,一个又一个新产生的区块会不断链接到现有区块链的尾端。

如何能够保证这个记录信息页的每一页,以及区块链账本中的每一个区块都是真实准确、没有被篡改过的呢?

设想一下, 如果我们通过一种算法对账本信息进行加密,给区块链上第一个区块打上一个唯一的标签, 之后的每一个区块也通过加密后打上一个唯一标签,同时又能够包含前一个区块链的标签。这时,只要采用一种方法保证这个标签无法被轻易替换更改,那么就能保证这个区块记录的信息没有被篡改过。

哈希算法就是上面提到的区块链中保证交易信息不可篡改的单向密码体制。该算法的思想是接收一段明文, 以一种不可逆的方式将它转化成一段长度较短、位数固定的输出做列。这个加密过程是不可逆的,这就意味着无法通过输出散列的内容推断出任何与原文有关的信息。

任何输入信息的变化,哪怕仅仅是一~位数字的更改,都将导致散列结果的明显变化。基于输出散列与输人原文一 一对应的特性,哈希算法可以被用于验证信息是否被修改。

通过哈希算法可对一个交易区块的所有交易信息进行加密,并把记账内容压缩成一串数字和字母组成的字符串,这个字符串无法反推出原来的内容。区块链的哈希值可以唯一、准确地标识--个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值。

如果想要确认区块的内容是否被篡改,那么利用哈希算法重新进行计算,记账信息没有变化,计算出的哈希值也将不会产生变化。

在区块链中,通常使用SHA-256的哈希算法进行区块的加密,该算法的输出长度为256位,即生成长度为32字节的随机散列。区块链用公钥、私钥来标识身份在区块链中,信息的传播按照公钥加私钥的方式进行。

公钥相当于桃花岛上每家每户居民的信箱地址,当别人获知你的公钥时,可以与你通信。相应地,私钥相当于信箱的钥匙,只有拥有私钥的人才能查看信箱中的信件信息。在区块链中,数字签名可以用于验证信息发送者的身份,用户可以公布自己的公钥,然后发送可以被公钥所验证的、已经通过私钥加密过的信息。

如果信息的接收者能够使用公钥解密加密过的信息,即可证明这条信息发送者的身份属实。上述过程可以用图3-4 表示:区块链中有两个用户Alic和Bob,Alicc想让Bob知道自己是真实的Alice,而不是他人冒充的。Alice 只需要使用私钥对文件签名并发送给Bob, Bob 使用Alice的公钥对文件进行签名验证,如果验证成功,则该文件一定是使用Alice的私钥加密的。由于Alice的私钥只由Alice一人持有,Bob 就可以确定文件的发送者正是Alice本人。

Sotoken 忘记是第几遍告诉你了 什么是区块链

此外,公钥与私钥还可以保证分布式网络中点对点信息传递的安全。我们不妨假想这样一个情形: Alice想在分布式网络中发送一封情书给Bob。但由于分布式网络的信息传递特性,这封情书将被发送至每一个用户手中。

Alice 不希望情书的内容被其他用户看到,因此Alice使用Bob的公钥对情书进行加密。网络中除Bob外的其他用户接收到这封经过加密的情书,看到的只是一段密文。

只有Bob可以使用自己的私钥对密文进行解密,得到一份情书的明文。通过这个加密与解密的过程,Alice与Bob之间实现了点对点的数据传递。

在区块链的信息传递过程中,信息传递双方的公私钥加密与解密往往是成对出现的,即信息发送方使用私钥对信息签名、使用信息接收方公钥对信息加密,信息接收方使用对方公钥验证信息发送方的身份、使用私钥对加密信息解密。

区块链用Merkle树结构简化验证程序Merkle树是区块链的基本组成部分,Merkle树的叶子节点存储的是数据文件的哈希值,非叶子节点存储的是对其下面所有的叶子节点值的组合结果进行哈希计算后得出的哈希值。区块链利用Merkle树这种数据结构存放所有叶子节点的哈希值,并以此为基础生成一个统一的哈希值。

区块中的任何一笔交易的发生和交易信息的变动都会使Merkle树发生改变。在交易信息的处理、比对及验证的过程中,尤其是在分布式环境下进行比对或验证时,Merkle 树会大大减少数据的传输量和计算的复杂度。

Sotoken 忘记是第几遍告诉你了 什么是区块链

Merkle 树结构图

区块链为每一笔交易盖上时间戳黄老邪在传授记账方法时,要求居民将发生在桃花岛上的每一笔交易都记录下来,并且要求他们将交易发生的时间也一并记录在账本上,这就相当于区块链为每- -笔交易在发生时盖上了时间戳。

在区块链中,时间戳的应用是对每一次交易记录的认证,它就像交易合同公证一样,能够显示交易记录的真实性。时间戳作为区块元数据的一部分,具有天然的时间特性。从某种意义上讲,区块链的本质可以被理解为构造了一个永不停息、无坚不摧的时间戳系统。

区块链中的时间截比传统的公证制度更为可信,是因为时间签名是直接写在区块链上的,区块链中已经生成的区块不能以任何方式进行修改。一旦区块被修改,生成的哈希值就无法匹配,操纵行为也将由此而被系统检测到。

由于区块哈希值的不可伪造性,一个区块能提供出哈希值即可证明区块哈希值存在于该区块生成时刻之后,就像你在一张白纸上写下了一串数字,说明的是数字出现的时间晚于白纸 ,这也称为时间点后向证明。

时间点前向证明则需要构造一个包含数字摘要的交易,当该交易进入区块后,便可以证明你在该区块时刻之前拥有该数字摘要。

在区块链技术中,智能合约在分布式交易所、金融衍生品、身份认证、医疗健康和科学发现等领域均有着广泛的应用。

如果还有不清楚的,可以私聊小编,或者在公众号直接回复哦……