区块链是什么,区块链技术又是什么技术?
2024-03-19 广告
2020-09-27 · 百度认证:广发证券官方账号
开户咨询
实时在线解答
行情咨询
实时在线解答
理财咨询
实时在线解答
产品咨询
实时在线解答
查
看
更
多
- 在线客服
-
官方服务
- 证券开户
从技术的角度,架构的角度,用通俗的语言来跟大家讲讲,我对区块链的一些理解。
究竟啥是区块链?Block chain,一句话来说,区块链是一个存储系统,存储系统更细一点,区块链是一个没有管理员,每个节点都拥有全部数据的分布式存储系统。
那常见的存储系统,是什么样子的呢?
如上图所示,底部是数据,上面可以写入数据。一个空间存储数据,一个软件管理数据,提供接口写入数据,这就是存储系统。比如MySQL就是最常见的存储系统。
普通的存储系统,容易存在什么问题呢?至少有两个常见的问题
第一个是非高可用的问题,数据存在一个地方很危险。用技术的话说,就是数据不高可用。
第二个问题是,它存在写入的单点,写入点只有一个。用技术的话说,就是它是一个单点控制。
那普通的存储系统通常是如何解决这两个问题的呢?
首先看一下如何保证高可用?
普通的存储系统通常是用“冗余”的方式来解决高可用问题的。图上图所示如果能够把数据复制成几份,冗余到多个地方,就能够保证高可用。一个地方的数据挂了,另外的地方还存有数据,例如MySQL的主从集群就是这个原理,磁盘的RAID也是这个原理。
这个地方需要强调的两点是:数据冗余,往往会引发一致性的问题
1、例如MySQL的主从集群中中其实读写会有延时的,它其实就是有一个短的时间内读写不一致。这个是数据冗余,带来的一个副作用。
2、第二个点是数据冗余往往会降低写入的效率,因为数据同步也是需要消耗资源的。你看单点写入,如果加了两个从库之后,其实写入的效率会受影响。普通的存储系统,就是采用冗余的方式,保证数据的高可用的。
那么第二个问题,普通的存储系统,能否多点写入呢?
答案是可以的,比如说以这个图为例:
其实MySQL的话可以做一个双主的主从同步,双主的主从同步,两个节点,同时可以写入。如果要做多机房多活的数据中心,其实多机房多活也是进行数据同步的。这里要强调的是多点写入,往往会引发写写冲突的一致性问题,以MySQl为例,假设有一个表的属性是自增ID,那么现在数据库中的数据是1234,那么其中一个节点写入,插入了一条数据,那它可能变成5了,然后这5条数据,向另外一个主节点进行数据同步,同步完成之前,如果另外一个写入节点,也插入了一条数据,也生成了一条这个自增id为5的数据。那么,生成之后,往另外一个节点同步,然后同步数据到达之后会与本地的这两条5冲突,就会同步失败,会引发写写的一致性冲突问题。这个多点写入的话都会出现这个问题。
多点写入,如何保证一致?
维新“天鹅大咖课”给你更多的技术干活
区块链的应用领域有数字货币、通证、金融、防伪溯源、隐私保护、供应链、娱乐等等,区块链、比特币的火爆,不少相关的top域名都被注册,对域名行业产生了比较大的影响。
区块链技术具有三个明显的特性:公开性、安全性和唯一性。
公开性主要指区块链中的存储信息对所有参与者是完全公开的。这点主要由区块链点对点网络存储方式决定的,在区块链网络中,每一个节点都可以存储区块链的副本,而区块链的唯一性可以保证这个副本在不同节点之间是完全一样的。
安全性主要指区块链区块内存储的信息是经过了数字加密技术处理之后保存的,只有私钥持有者才可以对信息进行解密获得真实信息。其他成员只能可以看到并且验证信息的完整性和唯一性,但无法看到真实的信息。
唯一性这个特性主要是由于区块链上的信息一旦上链就无法篡改,因此具备唯一性。当然这里说的唯一性还包括空间上的唯一性,即所有节点都只有一个相同版本的信息,也包括时间上的唯一性,即历史数据不可更改。这个唯一性还指区块链在运行过程中保持唯一一条主链的特性,而一旦出现其他链,则是出现了分叉。分叉的出现会导致区块链在两个不同的空间维度中出现了副本,当然解决这个问题还需靠设定合理的共识规则来避免。
2019-12-07 · 专注于APP、区块链、小程序开发服务
而事实上区块链技术就是一种分布式记账技术,它的特点就是去中心化、公开透明,让每个人都可以参与数据库建立,而且每个建立的数据又是不可篡改的,大家都参与了,陌生人之间的信任问题也就解决了。