区块链中的机房英文
⑴ 什么是区块链技术区块链技术的核心构成是什么
从技术的角度,架构的角度,用通俗的语言来跟大家讲讲,我对区块链的一些理解。
究竟啥是区块链?Block chain,一句话来说,区块链是一个存储系统,存储系统更细一点,区块链是一个没有管理员,每个节点都拥有全部数据的分布式存储系统。
那常见的存储系统,是什么样子的呢?
首先看一下如何保证高可用?
普通的存储系统通常是用“冗余”的方式来解决高可用问题的。图上图所示如果能够把数据复制成几份,冗余到多个地方,就能够保证高可用。一个地方的数据挂了,另外的地方还存有数据,例如MySQL的主从集群就是这个原理,磁盘的RAID也是这个原理。
这个地方需要强调的两点是:数据冗余,往往会引发一致性的问题
1、例如MySQL的主从集群中中其实读写会有延时的,它其实就是有一个短的时间内读写不一致。这个是数据冗余,带来的一个副作用。
2、第二个点是数据冗余往往会降低写入的效率,因为数据同步也是需要消耗资源的。你看单点写入,如果加了两个从库之后,其实写入的效率会受影响。普通的存储系统,就是采用冗余的方式,保证数据的高可用的。
那么第二个问题,普通的存储系统,能否多点写入呢?
答案是可以的,比如说以这个图为例:
其实MySQL的话可以做一个双主的主从同步,双主的主从同步,两个节点,同时可以写入。如果要做多机房多活的数据中心,其实多机房多活也是进行数据同步的。这里要强调的是多点写入,往往会引发写写冲突的一致性问题,以MySQl为例,假设有一个表的属性是自增ID,那么现在数据库中的数据是1234,那么其中一个节点写入,插入了一条数据,那它可能变成5了,然后这5条数据,向另外一个主节点进行数据同步,同步完成之前,如果另外一个写入节点,也插入了一条数据,也生成了一条这个自增id为5的数据。那么,生成之后,往另外一个节点同步,然后同步数据到达之后会与本地的这两条5冲突,就会同步失败,会引发写写的一致性冲突问题。这个多点写入的话都会出现这个问题。
多点写入,如何保证一致?
维新“天鹅大咖课”给你更多的技术干活
⑵ 去中心化区块链,为何钱包会被“冻结”
metamask、opensea、coinbase这些公司有几百几千员工,每个人都是独立的,去中心化的,但这些员工加起来,却受制于中心化的单一企业实体。所以会采取统一的指令封杀指定地址。
为加密活动提供所有动力和支撑的,从矿机制造商,到电力公司,到节点服务器、机房、宽带网络提供商,到加密交易所,媒体,各种加密项目公司等等,是分散的,去中心化的,但是他们加起来,却受制于像中国美国这样的中心化大国,所以也会听从统一的指令。
中国可以管控国内所有加密活动,美国可以管控全球加密活动,不服气分分钟CIA带着美军就过去了。
“冻结”一个钱包地址,就像国家对某犯人发布了通缉令,为他提供庇护就是窝藏罪犯,是违法的。是的,被冻结的钱包可以私下交易,他转账到你地址,你给他法币现金。但是当他的加密币转到你钱包时,你的钱包就被关联冻结了,这种交易是违法交易,而你会承担连带犯罪的风险。而如果想追踪到这些交易具体的位置也不难,因为所有的交易都是网络通信,在节点服务器中都会暴露双方的地址,而顺着网线,自下而上到路由器,到节点服务器,到机房,最后到IDC、宽带服务商,然后再自上而下,搜查通信log,很容易就找到交易双方物理位置,然后将人抓获。