没有合适的资源?快使用搜索试试~ 我知道了~
吴金泽-2016306658851
需积分: 0 0 下载量 168 浏览量
2022-08-08
20:26:23
上传
评论
收藏 82KB DOCX 举报
温馨提示
试读
18页
吴金泽-2016306658851
资源详情
资源评论
资源推荐
课程报告
课 程 名 称 :
企业软件项目实训
学生姓名:
吴金泽
学生学号:
201630665885
学生专业:
软件工程
开 课 学 期 :
2018-2019 第二学期
软件学院
2019 年 6 月
1
企业软件项目实训课程报告
谈及区块链,很多人首先想到的就是比特币。然而,比特币只是基于区块链
技术的一种落地实现,两者并不能划等号。那么,什么是区块链呢?本质上,
区块链是一种去中心化的分布式数据库。
数据库是什么?数据库就是计算机上的一组表格,它可以存放大量的有
结构的信息,可以简单地类比为 Excel。比如我们去银行存款、取款、
汇款,这些交易信息都是要上传到银行的数据库的。
分布式是什么?数据库可以存放在银行的一台超级电脑上,也可以放在
多台电脑上。比如工行可能在华北、华中、华东、华南等地区各有一台
服务器,每个地区的交易信息发送到本地区的服务器上,各个服务器之
间通过银行的内部网络连接。这就叫“分布式数据库”。
去中心化是什么?传统的服务器,不管是不是分布式的,都是有“管理
员”的。也就是说,有一个银行内部的“超级用户”可以查看所有的交
易信息,并且可以随意添加、修改这些信息。这就叫“中心化”。而区块
链则是“去中心化”的。也就是说,区块链这个数据库中不存在管理员,
所有人都是平等的,都有权查看、添加信息。去中心化是区块链的本质
特征。
既然所有人都有权往区块链上添加信息,那么这个“账本”难道不会乱
七八糟吗?没有了管理员,人人都可以往里面写入数据,怎么才能保证数据
是可信的呢?被坏人改了怎么办?要搞清楚这点,我们需要了解什么是“区
块”,什么是“链”。
2
何为“区块”何为“链”?“区块”是区块链的基本组成。区块就是一
个数据块。类比账本的话,区块就相当于账本上的一页,这一页上记录了多
条交易信息。而把这些分散在整个互联网上的“页”串成一条链,就可以形
成一个完整的“账本”。那么,“区块”是怎么串成“区块链”的呢?
1. 区块链的技术原理
区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入
数据,就是创建一个区块。每个区块包含两个部分:区块头和区块体。区块
头包含了当前区块的多项特征值:生成时间、实际数据(即区块体)的哈希、
上一个区块的哈希等等。
所谓“哈希”就是计算机可以对任意内容,计算出一个长度相同的特征
值。区块链的哈希长度是 256 位,这就是说,不管原始内容是什么,最后都
会计算出一个 256 位的二进制数字。而且可以保证,只要原始内容不同,对
应的哈希一定是不同的。
因此,就有两个重要的推论:
每个区块的哈希都是不一样的,可以通过哈希标识区块。
如果区块的内容变了,它的哈希一定会改变。
区块与哈希是一一对应的,每个区块的哈希都是针对区块头计算的。也
就是说,把区块头的各项特征值,按照顺序连接在一起,组成一个很长的字
符串,再对这个字符串计算哈希。
前面说过,区块头包含很多内容,其中有当前区块体的哈希,还有上一
个区块的哈希。这意味着,如果当前区块体的内容变了,或者上一个区块的
哈希变了,一定会引起当前区块的哈希改变。
3
这一点对区块链有重大意义。如果有人修改了一个区块,该区块的哈希
就变了。为了让后面的区块还能连到它(因为下一个区块包含上一个区块的
哈希),该人必须依次修改后面所有的区块,否则被改掉的区块就脱离区块
链了。由于哈希的计算很耗时,短时间内修改多个区块几乎不可能发生,除
非有人掌握了全网 51%以上的计算能力。
正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,
就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。每
个区块都连着上一个区块,这也是“区块链”这个名字的由来。
由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想
一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节
点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个
区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一
个区块。所以,你别无选择,一听到信号,就必须立刻同步。所以,区块链
的发明者中本聪故意让添加新区块,变得很困难。他的设计是,平均每 10
分钟,全网才能生成一个新区块,一小时也就六个。
这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就
是说,只有通过极其大量的计算,才能得到当前区块的有效哈希,从而把新
区块添加到区块链。由于计算量太大,所以快不起来。这个过程就叫做采矿,
因为计算有效哈希的难度,好比在全世界的沙子里面,找到一粒符合条件的
沙子。计算哈希的机器就叫做矿机,操作矿机的人就叫做矿工。
理论上,每个可接入区块链的节点都有成为矿工的权利,但是它们不一
定有机会成为矿工。挖矿是一种周期性的竞争行为,根据共识算法不同,对
剩余17页未读,继续阅读
一曲歌长安
- 粉丝: 50
- 资源: 302
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0