美文网首页区块链大学区块链研习社
【读书】《图说区块链》|(二)区块链原理(1)

【读书】《图说区块链》|(二)区块链原理(1)

作者: 鹤兰 | 来源:发表于2018-08-09 14:43 被阅读8次

    文/鹤兰

    跟着书本探索,对区块链中一些基本概念的认知越来越清晰了。上期我们谈了账本的演变史,这一期跟大家聊聊区块链的原理。

    原理篇我会分两期来说,这一期主要学习区块链的定义以及重要的概念,如区块、哈希算法、公钥私钥、时间戳等,希望能拂去你存在的一些疑惑哦。

    1、区块链的定义

    区块链本质上是一个去中心化的分布式账本,其本身是一系列使用密码学而产生的互相关联的数据块,每一个数据块中包含了多条网络交易有效确认的信息。

    先别懵,我们把定义拆开来说。

    首先怎样理解中心化和去中心化?举例来说:

    我们在淘宝上买东西,虽然和卖家做交易,但当我们付款时,钱先打到支付宝里,卖家发货后,我们确认收货,此时钱才由支付宝转移到卖家手里。所以,整个过程中,支付宝就充当了这个中心。也就是现在我们做交易时都基于中心化机构组织的基础上。

    区块链可以直接不通过支付宝这个中心,直接让你和卖家一手交钱一手提货。所以这就是去中心化的意思。

    那怎养理解分布式账本呢?

    当购物时没有了支付宝,你可能会问:那万一我付款后,卖家说没收到钱不给发货怎么办?区块链是这么做的:你付款后,账本上会记录,你买了什么,给对方付款多少。卖家收款后,账本上也会记录,卖家收款多少。同时,其他人也会帮你在账本上记录这些。最后,你手里,卖家手里,其他所有人手里都有一个这样的账本,上面的交易信息都写的很清楚。所以,一切撒谎都不再可能。而分布在各个地方帮你记账的、给你作证的人就可以理解为分布式账本。

    2、你可能会有的困惑

    由区块链的定义我们知道区块链是干什么的了,但你可能会有疑惑:别人凭什么要给你记账呢?如果其他人记得账都不一样该信谁的呢?我们来解答下这些问题。

    1)凭什么帮你记账?

    关于帮记账,这里有个奖励回报的规定。第一个记完账的人,在账单上加上独一无二的编号,告诉其他人自己先记完了,别人就记不了了,然后其他人会接着这个编号继续记下一笔帐。所以,这一次的奖励就会给到第一个记完账的人。

    而比特币挖矿就会这个逻辑。先挖到矿的矿工就会得到比特币的奖励。

    2)双花问题

    双花问题是指一笔数字现金在交易中被重复使用的现象。在交易中会不会出现买家A同时用一笔钱多次支付买两份东西呢?

    区块链是这样解决的:当一次交易产生,交易数据就被盖上一个时间戳,被打包到一个区块中,这就算完成一次交易确认。一次确认就要很长时间,当连续6次确认,最红确认结果不可逆转。当你想再提交订单时,第一次交易信息已经形成并被记录了,就不能第二次确认了。

    3、你需要清楚的重要概念

    1)区块

    区块是区块链中最小的单元结构,就像细胞对于人体;区块包含区块头和区块主体;每10分钟产生一个区块,里面有这个时间里产生的所有交易信息,同时还有上一个区块的ID(识别码)。

    每个区块相连就成了一个完整的区块链。

    关于区块头的组成,可见下图:

    2)哈希算法

    我们知道区块链中的交易记录一旦形成就不可更改,那么为什么不能改呢?这就涉及到哈希算法了。

    哈希算法是能保证交易信息不被篡改的单向密码机制。能将一段明文转化为一组散列数据。它有两个特点:

    1. 加密过程不可逆,能从明文得出散列数据,但是不可以从散列数据推出明文;

    2. 输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输

    出的散列数据的变化。

    3)公钥和私钥

    公钥和私钥是我们必须要掌握的知识,因为你的转账交易、兑换人民币等过程都离不开它们。

    私钥由钱包生成;私钥就像我们的银行卡密码,想要对数字资产进行操作,就需要输入私钥才能同意支付;它是个人拥有;有对账户进行解密的作用。

    公钥由私钥生成;公钥的作用是能证明私钥在你这儿,它是大家都可以看的;公钥通过单向加密哈希函数可以生成地址,一个公钥就对应一个地址,这个地址相当于我们的银行账号;有对账户进行加密的作用。

    4)时间戳

    由区块头我们知道时间戳存在于区块头中,它是对每一次交易记录的认证,证明交易记录信息的真实。只要被加盖了时间戳的区块,就是独一无二、不可篡改的了。

    5)Merkle树结构

    区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。

    当一个数据修改时都会导致Merkle树结构发生变化,在交易信息验证比对的过程中,只需要验证Merkle树结生成的哈希值就可以,这样就大大减少了运算量。

    end:送给你的话

    这期就跟大家分享到这里。个人认为这几个区块链的概念还是很有必要整明白的,这样才能对它的特点和应用有更深入的理解,所以有不太明白的,一定要去查查资料哦。

    相关文章

      网友评论

        本文标题:【读书】《图说区块链》|(二)区块链原理(1)

        本文链接:https://www.haomeiwen.com/subject/kexovftx.html