大家好!我是练习时长两年半的个人练习生......不好意思,cxk乱入了(滑稽脸)!
大家好!我是资深运营小白,经过一天的简单学习那,也算基本上对区块链有了一定量的理解,那么今天就由我来带大家回味一下区块链的具体构造与简单的基本原理!
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
比特币白皮书英文原版其实并未出现 blockchain 一词,而是使用的 chain of blocks。最早的比特币白皮书中文翻译版中,将 chain of blocks 翻译成了区块链。这是“区块链”这一中文词最早的出现时间。
好了!别看了!别看了!这么专业的名词,你肯定也看不懂,毕竟抽象的名词是咱们理解不了的原因之一!
那么由我来给大家做一个简单的分析:
如图所示一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。
1.数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;
2.网络层则包括分布式组网机制、数据传播机制和数据验证机制等;
3.共识层主要封装网络节点的各类共识算法;
4.激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;
5.合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;
6.应用层则封装了区块链的各种应用场景和案例。
该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
矿工与挖矿
挖矿本质上是一组节点(矿机)使用他们的计算资源去创建一个包含有效交易的区块的过程,参与这个过程的节点(矿机)被称为矿工。一个矿工想要提交一个区块到区块链上,就必须更快的计算出一个nonce,nonce 和 区块头信息能共同证明,一个区块是有效的。
工作量证明
上面提到,挖矿的过程中,矿工必须更快的计算出一个 nonce,这个 nonce 如何计算呢?nonce 是一个整数值,一般先把区块头信息后面加上nonce得到的字符串,进行 SHA256 哈希运算,得到的结果如果开头0的个数小于设定的难度值,则验证不通过,把 nonce 值加1重复上述操作,直到计算出来的 nonce 满足得到的哈希值开头0的个数不小于设定的难度值。而nonce的值,就是挖矿过程中工作量的证明。而系统为了鼓励更多矿工参与进来,会给参与挖矿的每个矿工一定代币的奖励。
钱包
钱包本质是一个包含私钥的文件。通常会包含一个软件客户端,钱包的地址,是由私钥计算出来的,也就是公钥。每一次交易,发送方必须要提供私钥,才能把该公钥地址下所拥有的代币转帐到其他公钥地址,所以私钥决定了比特币的所有权。这里要注意一点,一个钱包地址拥有多少代币,不是存储在私钥里,而是存在区块链上,区块链上有着所有历史交易账目,可以根据账目计算出每个地址所拥有的代币。
比特币 VS 以太坊
区块链目前最火的两个应用就是比特币系统和以太坊系统,这两个系统都是公共区块链平台,都有自己自己的虚拟货币(比特币 和 以太坊)。但是他们是有很多区别的,其中一个重要区别就是,以太坊通过智能合约使平台具有图灵完备性,相对于比特币,未来更具有扩展性。当然这也和他们本身的目标有关,比特币想成为纯粹的虚拟货币,以太坊想成为一个纯粹的图灵完备的开发平台。
区块链适合什么不适合什么?
区块链数据的特征主要有两点:1.公开透明,任何节点对数据有完全的权利去查看;2.难以伪造或篡改。因此,区块链非常适合两类场景:1.证据;2.监督。如果区块链上的信息得到法律认可,那么但凡拿出区块链上的证据,侵权方将百口莫辩。而试想,如果将税收完全迁移到区块链,每个公民的每一笔税收,最后都用到哪里,一清二楚,这可能是令某些人害怕的点。
但区块链有两大缺点:1.要挖矿,还有分叉风险,也就是说一个数据放到区块链上,要等很久才能成为不可篡改的可信数据。2.分区块,数据被割裂存放,这给查询带来巨大的麻烦,非常影响效率。所以,区块链不适合那种即时性要求高的场景,无论是信息交换的即时性(例如聊天)还是查询的即时性(如搜索引擎)。
区块链不是万能的,某些服务明明中心化模式效率更高,成本更低,却偏要为了风口搞区块链化,那只能看韭菜长没长齐。还有一点令人担心的是,由于区块链上信息的公开透明,而且不可删除,是否会对个人隐私造成极大的损害,试想一下,当年给冠希哥修电脑的小哥通过区块链网络炫耀自己发现的照片……那对当事人的伤害……连人死了都不会消散……
那么好了!简易的说区块链应用的话,未免也说不太明白!那么就用大白话讲的话,我可以理解为:“人们把一段时间内生成的信息打包成一个区块,盖上时间戳,与上一个区块衔接在一起,每下一个区块的页首都包含了上一个区块的索引数据,然后再在本页写入新的信息,从而形成新的区块,首尾相连,最终形成区块链”
本文为测试,如有雷同,不胜荣幸!
网友评论