简单讲解一下区块链
马上临近毕业了,参加完研究生考试的我也应该开始准备我的毕业设计了,然后我准备的题目是有关区块链的一个项目,为什么选择区块链这门技术呢?除了自己本身对区块链有一定的兴趣,最重要的是***在19年的讲话上直接提出了要广泛使用区块链这门技术,因为区块链这门技术未来的前景就十分可观了。
那么在进行做这个有关区块链的项目之前,我决定先简单讲解一下什么是区块链,区块链能解决什么问题,以及区块链技术能应用于哪些领域,如果有不足的地方,欢迎纠正。
- 什么是区块链?
简单来讲,区块链就是由若干个区块之间通过一个链条相互链接起来的一个整体,然后区块里面就存储着相关信息 ,主要是用于防止信息被恶意篡改。
在一个区块里面,主要包含了3样内容,一样是保存的数据,一样是这个区块对应的hash(哈希)值,还有一样就是前一个区块的hash值。区块里面的hash值不是凭空产生的,这是这个区块保存的数据和上一个区块里面的hash值通过加密算法得到的,如果区块里面保存的数据被修改了,那么对应的hash值也会发生变化,这样就很容易判断这个区块的内容是否发生变化。
- 区块链能解决什么问题
上文讲到的,一个区块包含的内容除了自己本身的hash值和数据,还保存着上一个区块里面的hash值。特别的,第一个区块的前hash值是空,我们一般将其成为祖先区块。因为每个区块之前的链接内容是上一个区块的hash值,如果一个区块的内容被修改了,那么对应的hash值也会发生变化,从而会导致这条区块链发生了断链,从而可以发现有区块的内容被修改了。
但因为现在电脑算力很强大,单个区块被人为修改后,修改者可以设定脚本或程序快速修改其他区块的hash值,从而再次使得整条区块链重新链接起来,那么区块链技术该怎么去防止这一现象呢?
为了解决这一问题,区块链技术引入了POW(proof of work-工作量证明机制),这个机制类似于玩游戏打怪获得经验来升级,其中经验就相当于工作量,然后升级按钮就相当于验证工作量,只有当获得的经验足够满足升级需要的经验时才能升级,而不同等级所需要的经验值也不相同。而POW的机制同样如此:区块链系统会控制算出一个区块对应的hash值所需要时间的难度,尽量使得每个不同区块算出hash值的时间达到相同,使得同时修改若干个区块的内容的可能性为0。
同时区块链还引入了P2P机制(点对点网络机制),它的作用是区块链上的区块的产生或修改被处于这个网络的用户全部知晓,一个新区块的产生只有每个用户都打成一样的意见后,这个新区块才会加入到区块链中,即达成分布式的作用。如果一定要修改区块链里面的内容,那么修改者必须要获得51%以上的算力才能实现,但这个时候需要的成本极高,且如果这个网络的其他用户发现区块链被修改了,那么他们也会放弃这个区块链,使得修改者修改区块链变得毫无意义,使得从根本上舍弃修改的想法。从而保障了区块链的内容不会被修改。
- 区块链技术能应用于哪些领域
因为区块技术具有不可篡改等优点,使得它的应用领域很广泛,比如电子货币,医保领域,税务信息,高校管理等等。