区块链+即时通讯是怎样的?
区块链特点之一就是通过分布式账本技术实现不可逆,同时采用各种技术,比如环签名、零知识证明等实现匿名、保护隐私等。社交网络由Facebook垄断、即时通讯由WhatsApp等中心化产品垄断,它们给用户带来了无与伦比的沟通方便,大大提高了人们之间沟通的频次和效率,给全世界几十亿人带来便利。
通过区块链,通讯服务可以不采用中心企业的模式来组织通讯服务的运行,区块链未来要对现实生活产生真正影响,不能光靠概念和炒作,而是要有真正落地的产品。什么叫真正落地的产品,就是能够满足用户需求的产品。如果现有的中心化产品能够很好地满足用户的需求,那么去中心化的产品就没有足够的替代效应,也就无法真正落地性。
区块链协议层就有主要包括:网络编程、分布式算法、加密签名、数据存储技术等4个方面。
网络编程能力是大家选择编程语言的主要考虑因素,因为分布式算法基本上属于业务逻辑上的实现,什么语言都可以做到。其中加密签名技术是直接简单的使用,数据库技术也主要在使用层面,只有点对点网络的实现和并发处理才是开发的难点。所以对于那些网络编程能力强,对并发处理简单的语言,人们就特别偏爱。
用户免费获得初始数量的token。它的一些实际使用场景:
1.加密视频聊天:跨国用户想要进行视频聊天,只有双方都持有一定数量的SKM才能实现加密视频聊天。
2.大容量文件加密传输:一位用户向另外一位用户传输的文件超过了大小限制,传输者必须持有一定的token来实现加密传输。
3.对话信息保存:只要双方认可就可保存对话记录,双方需要持有一定量的token。
4.再次传输提醒:如果一位用户给另外一位用户发送了一份文件,但他不希望对方进行分享,用户可以通过使用一定的token,当文件被再次传输时会获得通知提醒。
5.秘钥解锁文件:一位用户给另外一位传输秘钥文件,只允许对方查看。发送的用户可以通过使用token,让对方收到的是碎片化的文件,只有通过发送者那里得到秘钥才能解锁文件。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
区块链技术概念区块链技术概念
区块链技术概念,现如今,区块链已经成为大部分人关注的领域,很多企业也早已深入其中研究该技术情况,但是还有人对于它不是很了解,下面我分享一篇关于区块链技术概念的相关信息。
区块链技术概念1
区块链的基本概念和工作原理
1、基本概念
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
区块链Blockchain、是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性防伪、和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
2、工作原理
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
1、分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。[8]
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
2、非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
3、共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能.
4、智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息包括医疗信息和风险发生的信息、都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔.
3、其它
互联网交换的是信息,区块链交换的是价值。人类历史和互联网历史可以用八个字理解:分久必合合久必分,到了分久必合的时代,网络信息全部散在互联网上面,大家要挖掘信息非常不容易,这时会出现像谷歌和脸书等的平台,它做的唯一的事情就是把我们所有的信息重新组合了一下。互联网时代垄断巨头们重组的就是信息,并不是产生自己的信息,产生的信息完全是我们个人。一旦信息重组,就会出现一个新的垄断巨人,所以就到了分久必合的时代。现在由于区块链技术产生又到了合久必分时代,又是新的多中心化,新的多中心化之后赋能产生新的价值,这些数据会在我们自己的手上,个人数据产生价值是归自己所有,这是这个时代最最激动人心的时代。
区块链的价值有哪些?低成本建立信任的机制,确立数权,解决数据的.产权。
目前区块链技术不断发展,包括现在的单链向多链发展,而且技术能够在进一步扩展,我想未来还是可能会出现,特别是在交易等方面出现颠覆性的,特别是对现有产业的很多颠覆性的场景。
区块链的本质是在不可信的网络建立可信的信息交换。
一带一路+一链。区块链更大的不是制造信任,而是让信任产生无损的传递,整个降低社会的摩擦成本,从而提高整个效益。
现在区块链本身还是初始阶段,所以包括区块链的信息传递、加密,这个过程中出现量子加密和其他加密,实际上对区块链本身所采用的加密算法攻击现象也时有发生。包括区块链也是作为一种资产的认定,数字资产的一个认定,但是现在我们很多都是用密码算法,或者是作为我们来解密的钥匙,但是如果密码忘记了,很可能你现在的资产就丢掉了,你不能够在得到你原来的这些资产,所以在资产管理,包括信息传递和一些安全这些方面,应该说都还是存在着一些隐患。当然那么从技术角度,现在我们区块链本身处理的速度,或者说本身的扩展性,因为从工作机理的角度来看,是要把整个账本要复制给所有的参与人员,所以在区块链本身的运作效率和扩展性方面还是比较受限的。这些我们觉得都还是需要进一步在技术方面有进一步的发展。
区块链平台这些底层技术,又形成包括区块链钱包、区块链浏览器、节点竞选、矿机、矿池、开发组件、开发模块、技术社区及项目社群等一系列的生态系统,这些生态系统的完善程度直接决定着区块链底层平台的使用效率和效果。
4、蒙代尔的不可能三角
去中心化、高效、安全,不可能实现三者全部同时达到极致。
区块链技术概念2
区块链的本质是一种分布式记账技术,与之相对的是中心式记账技术,中心式记账技术在我们目前的生活中广泛存在。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链Blockchain、,是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证e69da5e887aa7a6431333431343061其信息的有效性防伪、和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
区块链技术通俗的理解就是:把“物”的前、后、左、右区块用一种技术连接成一个链条,但每个区块的原始数据不可篡改,是一种物联网范畴的、可以让参与者信任的“各个模块链动”的技术。区块链技术的应用,离不开互联道网,也离不开物联网,是建立在二者融合互动基础上的、但又让参与者各自保持独回立的去中心化、、并共同拥有这套价值链共建共享、的技术。
区块链的特征:去中心化、开放性、自治性、信息不可篡改,匿名性。
区块链是一个能够传递价值的网络,对可以传递价值的网络的需求是推动区块链技术产生的重要原因。在对于保护带有所有权或者其他价值的信息需求的推动下,区块链出现了。区块链通过公私钥密码学、分布式存储等技术手段,一方面保证了带有价值的信息的高效传递,另一方面保证了这些信息在传递的过程中不会被轻易的复制篡改。
从区块链诞生的必然性来理解区块链的内涵,区块链是解决了中心化记账缺点、解决了分布式一致性问题的分布式记账技术,同时也是连接互联网升级为保证带有价值的信息安全高效传递的价值网络。
区块链技术概念3
区块链:区块链就像是一个全球唯一的帐簿,或者说是数据库,记录了网络中所有交易历史。
以太坊虚拟机(EVM):它让你能在以太坊上写出更强大的程序比特币上也可以写脚本程序、。它有时也用来指以太坊区块链,负责执行智能合约以及一切。
节点:你可以运行节点,通过它读写以太坊区块链,也即使用以太坊虚拟机。完全节点需要下载整个区块链。轻节点仍在开发中。
矿工:挖矿,也就是处理区块链上的区块的节点。这个网页可以看到当前活跃的一部分以太坊矿工:stats.ethdev.com。
工作量证明:矿工们总是在竞争解决一些数学问题。第一个解出答案的(算出下一个区块)将获得以太币作为奖励。然后所有节点都更新自己的区块链。所有想要算出下一个区块的矿工都有与其他节点保持同步,并且维护同一个区块链的动力,因此整个网络总是能达成共识。(注意:以太坊正计划转向没有矿工的权益证明系统(POS),不过那不在本文讨论范围之内。)
以太币:缩写ETH。一种你可以购买和使用的真正的数字货币。这里是可以交易以太币的其中一家交易所的走势图。在写这篇文章的时候,1个以太币价值65美分。
Gas:在以太坊上执行程序以及保存数据都要消耗一定量的以太币,Gas是以太币转换而成。这个机制用来保证效率。
DApp:以太坊社区把基于智能合约的应用称为去中心化的应用程序(DecentralizedApp)。DApp的目标是(或者应该是)让你的智能合约有一个友好的界面,外加一些额外的东西,例如IPFS可以存储和读取数据的去中心化网络,不是出自以太坊团队但有类似的精神)。DApp可以跑在一台能与以太坊节点交互的中心化服务器上,也可以跑在任意一个以太坊平等节点上。(花一分钟思考一下:与一般的网站不同,DApp不能跑在普通的服务器上。他们需要提交交易到区块链并且从区块链而不是中心化数据库读取重要数据。相对于典型的用户登录系统,用户有可能被表示成一个钱包地址而其它用户数据保存在本地。许多事情都会与目前的web应用有不同架构。)
以太坊客户端,智能合约语言
编写和部署智能合约并不要求你运行一个以太坊节点。下面有列出基于浏览器的IDE和API。但如果是为了学习的话,还是应该运行一个以太坊节点,以便理解其中的基本组件,何况运行节点也不难。
运行以太坊节点可用的客户端
以太坊有许多不同语言的客户端实现即多种与以太坊网络交互的方法、,包括C++,Go,Python,Java,Haskell等等。为什么需要这么多实现?不同的实现能满足不同的需求例如Haskell实现的目标是可以被数学验证、,能使以太坊更加安全,能丰富整个生态系统。
在写作本文时,我使用的是Go语言实现的客户端geth(go-ethereum),其他时候还会使用一个叫testrpc的工具,它使用了Python客户端pyethereum。后面的例子会用到这些工具。
关于挖矿:挖矿很有趣,有点像精心照料你的室内盆栽,同时又是一种了解整个系统的方法。虽然以太币现在的价格可能连电费都补不齐,但以后谁知道呢。人们正在创造许多酷酷的DApp,可能会让以太坊越来越流行。
交互式控制台:客户端运行起来后,你就可以同步区块链,建立钱包,收发以太币了。使用geth的一种方式是通过Javascript控制台。此外还可以使用类似cURL的命令通过JSONRPC来与客户端交互。本文的目标是带大家过一边DApp开发的流程,因此这块就不多说了。但是我们应该记住这些命令行工具是调试,配置节点,以及使用钱包的利器。
在测试网络运行节点:如果你在正式网络运行geth客户端,下载整个区块链与网络同步会需要相当时间。你可以通过比较节点日志中打印的最后一个块号和stats.ethdev.com上列出的最新块来确定是否已经同步。)另一个问题是在正式网络上跑智能合约需要实实在在的以太币。在测试网络上运行节点的话就没有这个问题。此时也不需要同步整个区块链,创建一个自己的私有链就勾了,对于开发来说更省时间。
Testrpc:用geth可以创建一个测试网络,另一种更快的创建测试网络的方法是使用testrpc.Testrpc可以在启动时帮你创建一堆存有资金的测试账户。它的运行速度也更快因此更适合开发和测试。你可以从testrpc起步,然后随着合约慢慢成型,转移到geth创建的测试网络上-启动方法很简单,只需要指定一个networkid:geth--networkid"12345"。这里是testrpc的代码仓库,下文我们还会再讲到它。
接下来我们来谈谈可用的编程语言,之后就可以开始真正的编程了。写智能合约用的编程语言用Solidity就好。
要写智能合约有好几种语言可选:有点类似Javascript的Solidity,文件扩展名是.sol.和Python接近的Serpent,文件名以.se结尾。还有类似Lisp的LLL。Serpent曾经流行过一段时间,但现在最流行而且最稳定的要算是Solidity了,因此用Solidity就好。听说你喜欢Python?用Solidity。
solc编译器:用Solidity写好智能合约之后,需要用solc来编译。它是一个来自C++客户端实现的组件又一次,不同的实现产生互补、,这里是安装方法。如果你不想安装solc也可以直接使用基于浏览器的编译器,例如Solidityreal-timecompiler或者Cosmo。后文有关编程的部分会假设你安装了solc。
web3.jsAPI.当Solidity合约编译好并且发送到网络上之后,你可以使用以太坊的web3.jsJavaScriptAPI来调用它,构建能与之交互的web应用。
数字货币他的信息是靠什么传递的?设置货币,他的信息是靠什么传递的?数字货币的传递传递方法都是靠区块链的一个传输方法,也就是说唯一性
什么是区块链技术?区块链是什么通俗解释区块链自从10月底以来,就一直处于风口浪尖。
什么是区块链技术
虽然说区块链问世已经有十几年了,但是很多人对于这个技术还不是很了解。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。从应用视角来看,区块链是一个分布式账本。
那么,为什么区块链叫区块链呢?
因为区块链本身就是一串区块链接而成,在这些区块上,都写满了交易记录,区块很像数据库的记录,每次写入数据,就是创建一个区块。而随着信息交流的扩大,一个区块与一个区块相继续,形成的结果就叫区块链。
区块链技术具有哪些特点呢
简单来说,区块链具有去中心化、开放性、不可篡改、匿名性等特点。
1、去中心化:
在区块链系统中,是没有一个中心的。
在区块链模式中,是分布式核算和存储,各节点自我验证、传递、管理信息,各个节点都是中心,也就是去中心化。
2、开放性:
区块链系统具有开放性的特点,数据是开放的,任何人都可以通过公开的接口查询区块链数据和开发相关应用。
3、信息无法篡改:
区块链系统中,数据一旦写入,就无法撤销篡改,除非掌控全部数据节点的51%,才有可能伪造出一条不存在的记录。所以,区块链技术具备一定的安全性。
4、隐私匿名性:
区块链里面的密码学技术,能够很好地实现身份隐匿。
各节点的身份信息不需要公开或验证,信息传递可以匿名进行。只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
小李向小王借出了10000元,小李找了两个人共同的还有小白来作证明。这种记账模式,就是中心化记账模式,小白就是中心。
然而,一年之后,小李想要回这笔钱的时候,小王适口否认自己借过他钱,原来小王给小白的女朋友在他的公司介绍了一份工作。
这就是中心化记账的弊端。
小李吃一堑长一智,以后有人再找他借钱,他就在村里的微信说,我借给谁谁谁多少多少钱,这样,全村人都知道小李借给谁多少钱。
这样以后小李再要债的时候,对方就不会否认这个问题,因为村里的人脑海里已经建立了一个共识机制:你确实在小李那里借了多少多少钱。
这就是去中心化记账的优势。
因为毕竟有很多人来作证这笔交易,如果像作假的话,除非把全村一半以上的人都收买了,然而这个代价是很大的。
实际上,区块链具备的这些特点都是为了解决“信任”这个问题,区块链丰富的应用场景,也都基于区块链能解决信息不对称问题,同时区块链也有助于实现多个主体之间的协作信任与一致行动。
区块链的应用有哪些
除了数字货币,区块链的应用场景还有很多。
1、医学领域
区块链帮助实现智慧医疗,比如去医院看病,通过区块链模式,患者的就诊情况、病例、治疗情况等都清晰可见,节省大量医疗资源。
2、版权领域
区块链可以证明作品版权的真实性和唯一性,从音频、视频、图片、文字等作品的诞生到转让,都能被追踪和记录,并且形成不可篡改的信息。
3、物流领域
在物流领域应用了区块链之后,商品从生产到消费都有迹可循。
4、食品安全
区块链用于食品安全?通过区块链的可追溯性,可以轻松地从追踪他们食物的前世今生。
5、证券交易
比如传统的证券交易,需要经过多个机构的协调工作,才能完成,而区块链系统就可以独立地完成一条龙式服务可以让证券交易的时候更简单,效率更快。
不过,很多人对于区块链存在着很大的误解,其中最大的误解就是:区块链=比特币
实际上,区块链和比特币并不是一回事儿,区块链是比特币的底层技术,比特币是区块链的第一个应用。
比特盒子,未来之星
2018-01-22
移动互联网和区块链是当今最热门的两大技术,也被认为正在改变或将会改变商业模式和经济模式的重大变革。移动互联网确确实实改变着一切,包括改变我们人类根本的生存状态。2015年底,全球有 20亿个人电脑,但是在全球的移动终端已经达到了人均一台,就是 70亿台。在传统电脑时代,每个人平均每天花在互联网上的时间是 2.8个小时,但是在智能手机时代,也就是移动互联网的时代每个人花在互联网的时间是 16个小时。
手机移动端面临的技术障碍
目前,智能手机的计算性能大幅度提升,但是在适应区块链计算上仍然面临很多技术障碍:
1)手机芯片的性能瓶颈。目前主流手机的硬件配置中 CPU可以达到 2-3G,内存 4-8G,存储空间达到 128-256G,基本满足区块链的最低配置。但是在加密算法、挖矿算法,以及运行中的 CPU及内存峰值,都有可能使手机系统崩溃。因此,手机相应的软硬件系统都要为区块链做一定的适配改进。
2)手机网络的不稳定。手机在正常使用中,经常切换在 4G和 Wifi之间切换网络,造成网络参数的不稳定(比如 IP地址),影响区块链数据的同步和共识的达成。
3)手机操作系统的编译系统差异性。大部分的区块链代码都是基于 Linux系统的 C++编译环境,再向手机端移植过程中,无论是 Android系统还是 IOS系统,都面临编译环境、编译类库的调整,甚至要对手机操作系统进行重新改写。目前世界范围内,还没有团队敢挑战这个领域。
物联网在区块链应用上的机会和面临的障碍
1、物联网的运营成本:随着物联网技术的进一步应用,数以千亿计的物联网设备的管理和维护将会给生产商、运营商和最终用户带来巨大的成本压力。
区块链技术为物联网提供了点对点直接互联的方式进行数据传输,整个物联网解决方案不需要引入大型数据中心进行数据同步和管理控制,包括数据采集、指令发送和软件更新等操作都可以通过区块链的网络进行传输。
区块链技术解决物联网的构架瓶颈问题主要体现在三个方面:
(1)、点对点的分布式数据传输和存储的构架;
(2)、分布式环境下数据的加密保护和验证机制。
(3)、方便可靠的费用结算和支付。
2、物联网的隐私保护问题:随着物联网产业的不断发展,对于数据安全和隐私保护的问题越来越受到关注。在斯诺登事件之后,由政府和大型企业控制的网络服务的隐私被广泛质疑。特别在物联网领域,目前的中心化服务构架将所有的监测数据和控制信号都由中央服务器存储和转发。这些中央服务器收集者所有的摄像头传输过来的视频信号,麦克风录制的通话记录,甚至用户的奔跑节奏、心跳和血压的信息都汇总到中央服务器,并且通过中央服务器转发的信号还可以控制家庭中门窗、电灯和空调等设备的开启,直接地影响着用户的日常生活。
3、利用区块链建立新的商业模式:未来物联网不仅仅是将设备连接在一起完成数据的采集,人们更加希望连入物联网的设备能够具有一定的智能,在给定的规则逻辑下进行自主协作,完成各种具备商业价值的应用。但是,具备商业价值的交互必须确保进行操作的设备具有代表拥有者进行交易的授权,并且这种授权能够被直接验证。同时,由智能设备发出的交易请求需要可靠地记录以确保交易的有效性。
4、区块链技术在物联网环境下的演进:区块链技术的部署和实施需要由多个节点共同参与,在物联网的条件下每个智能设备的计算能力都非常有限,与传统的区块链挖矿节点相比,其 Hash计算能力甚至不到 GPU系统的千分之一。另外,物联网设备的电力消耗也是在实际应用中受到严格关注的问题。因此,不可能直接把现有的区块链技术原封不动地应用到物联网的应用当中。
比特盒子的设想和技术路线
1)为了实现区块链向手机移动端的完全转移,比特盒子联合国内外(中国、俄罗斯、以色列)IT技术精英,制定出合理的解决方案和实施路线图:
第一步,区块链核心代码仍然运行在服务器上,在手机端开发命令控制接口,实现一台手机和一台服务器的一一对应关系。手机端完成区块链的参数传统、系统监控、数据反馈、上层的交易接口 SDK等。
第二步,将区块链代码中的底层部分(P2P网络、共识算法、数据存储等)与钱包部分(地址管理、加密算法、交易控制等)解耦,然后将钱包部分移植到手机端。
第三步,将完整的区块链代码深度优化后,完全移植到手机端。
第四步,基于 Android或 Ubuntu Core操作系统进行深度定制,将区块链核心代码整合到操作系统层面,手机启动同时启动区块链的网络通信。这样使区块链更好地适配手机硬件和网络性能,提高区块链运行的稳定性、可靠性,也带来更大的安全性。
2)Android技术平台
Android是一种基于 Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google公司和开放手机联盟领导及开发。Android操作系统最初由 Andy Rubin开发,主要支持手机。2005年 8月由 Google收购注资。2007年 11月,Google与 84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android系统。随后 Google以 Apache开源许可证的授权方式,发布了 Android的源代码。
3)Ubuntu Core技术平台
Ubuntu Core被称为物联网时代的 Ubuntu,是 Ubuntu的一个精简版本,可在具有自主性的机器、设备和其他通过互联网相连的数字化产品上安全地运行。从智能家居到无人机,这些设备将给我们生活的诸多方面带来彻底变革,但是它们需要一套与传统 PC系统不同的操作系统,确保它更加安全可控。
4)研发现状
目前,比特盒子基于北斗链的开源代码已经完成了初步的原型开发,区块链核心程序压缩到 6M,内存运行峰值限制在 250M以内,优化后的挖矿共识算法只需要普通的 CPU(1G)即可实现。比特盒子的第一个版本将会在 2018年 3月份公布,并发布代码。
比特盒子的意义
1)手机移动端的用户已经远超 PC端和服务器端用户,比特盒子的出现将使区块链技术更加贴近最终使用者,有利于区块链技术的普及,以及手机端区块链应用的快速开发。区块链 APP无需通过网络远程调用区块链接口,直接调用本机的区块链系统即可,甚至在没有网络的情况下也可以进行数字资产的交易,操作性能和安全性大大增强。
2)在物联网技术快速发展的背景下,未来各种物联网节点也都会连入区块链网络,而物联网节点的计算性能跟手机的计算性能接近,因此,比特盒子将成为同时兼容物联网和区块链的操作系统。
【区块链】什么是区块链钱包?
提起区块链钱包我们就不得不谈到比特币钱包(Bitcoincore),其他区块链钱包大多都是仿照比特币钱包做的,比特币钱包是我们管理比特币的工具。
比特币钱包里存储着我们的比特币信息,包括比特币地址(类似于你的银行卡账号)、私钥(类似于你的银行卡密码),比特币钱包可以存储多个比特币地址以及每个比特币地址所对应的独立私钥。
比特币钱包的核心功能就是保护你的私钥,如果钱包丢失你将可能永远失去你的比特币。
区块链钱包有很多种形态。
根据用户是否掌握私钥可将钱包分为:链上钱包(onchainwallet)和托管钱包(offchainwallet)。他们之间有如下两点区别:
关于链上钱包(onchainwallet)我们又可根据私钥存储是否联网划分为冷钱包和热钱包;冷钱包和热钱包我们也称之为离线钱包和在线钱包。
通常所说的硬件钱包就属于冷钱包(一般准备长期持有的大额数字货币建议使用冷钱包存放),除了这种专业的设备我们还可以使用离线的电脑、手机、纸钱包、脑钱包等作为冷钱包存储我们的数字资产。
冷钱包最大优点就是安全,因为它不触网的属性可以大大降低黑客攻击的可能性;唯一需要担心就是不要把自己的冷钱包弄丢即可。
与冷钱包相对应的就是热钱包,热钱包是需要联网的;热钱包又可分为桌面钱包、手机钱包和网页钱包。
热钱包往往是在线钱包的形式,因此在使用热钱包时最好在不同平台设置不同密码,且开启二次认证确保自己的资产安全。
根据区块链数据的维护方式和钱包的去中心化程度又可将钱包分为全节点钱包、轻节点钱包、中心化钱包。
全节点钱包大部分都属于桌面钱包,其中的代表有Bitcoin-Core核心钱包、Geth、Parity等等,此类钱包需要同步所有区块链数据,占用很大的内存,但可以实现完全去中心化。
而手机钱包和网页钱包大部分属于轻节点钱包,轻钱包依赖区块链网络中的其他全节点,仅同步与自己相关的交易数据,基本可以实现去中心化。
中心化钱包不依赖区块链网络,所有的数据均从自己的中心化服务器中获取;但是交易效率很高,可以实时到账,你在交易平台中注册的账号就是中心化钱包。
记住在区块链的世界里谁掌握私钥谁才是数字资产真正的主人。
全局节点什么意思
全节点是是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。
请问,大学生区块链本科专业,电脑需要什么样的配置够用?学生的电脑普通电脑配置就够用了,三四千块钱的台式机用起来就不错
什么是区块链扩容?普通用户能够运行节点对于区块链的去中心化至关重要
想象一下凌晨两点多,你接到了一个紧急呼叫,来自世界另一端帮你运行矿池(质押池)的人。从大约14分钟前开始,你的池子和其他几个人从链中分离了出来,而网络仍然维持着79%的算力。根据你的节点,多数链的区块是无效的。这时出现了余额错误:区块似乎错误地将450万枚额外代币分配给了一个未知地址。
一小时后,你和其他两个同样遭遇意外的小矿池参与者、一些区块浏览器和交易所方在一个聊天室中,看见有人贴出了一条推特的链接,开头写着“宣布新的链上可持续协议开发基金”。
到了早上,相关讨论广泛散布在推特以及一个不审查内容的社区论坛上。但那时450万枚代币中的很大一部分已经在链上转换为其他资产,并且进行了数十亿美元的defi交易。79%的共识节点,以及所有主要的区块链浏览器和轻钱包的端点都遵循了这条新链。也许新的开发者基金将为某些开发提供资金,或者也许所有这些都被领先的矿池、交易所及其裙带所吞并。但是无论结果如何,该基金实际上都成为了既成事实,普通用户无法反抗。
或许还有这么一部主题电影。或许会由MolochDAO或其他组织进行资助。
这种情形会发生在你的区块链中吗?你所在区块链社区的精英,包括矿池、区块浏览器和托管节点,可能协调得很好,他们很可能都在同一个telegram频道和微信群中。如果他们真的想出于利益突然对协议规则进行修改,那么他们可能具备这种能力。以太坊区块链在十小时内完全解决了共识失败,如果是只有一个客户端实现的区块链,并且只需要将代码更改部署到几十个节点,那么可以更快地协调客户端代码的更改。能够抵御这种社会性协作攻击的唯一可靠方式是“被动防御”,而这种力量来自去一个中心化的群体:用户。
想象一下,如果用户运行区块链的验证节点(无论是直接验证还是其他间接技术),并自动拒绝违反协议规则的区块,即使超过90%的矿工或质押者支持这些区块,故事会如何发展。
如果每个用户都运行一个验证节点,那么攻击很快就会失败:有些矿池和交易所会进行分叉,并且在整个过程中看起来很愚蠢。但是即使只有一些用户运行验证节点,攻击者也无法大获全胜。相反,攻击会导致混乱,不同用户会看到不同的区块链版本。最坏情况下,随之而来的市场恐慌和可能持续的链分叉将大幅减少攻击者的利润。对如此旷日持久的冲突进行应对的想法本身就可以阻止大多数攻击。
Hasu关于这一点的看法:
“我们要明确一件事,我们之所以能够抵御恶意的协议更改,是因为拥有用户验证区块链的文化,而不是因为PoW或PoS。”
假设你的社区有37个节点运行者,以及80000名被动监听者,对签名和区块头进行检查,那么攻击者就获胜了。如果每个人都运行节点的话,攻击者就会失败。我们不清楚针对协同攻击的启动群体免疫的确切阈值是多少,但有一点是绝对清楚的:好的节点越多,恶意的节点就越少,而且我们所需的数量肯定不止于几百几千个。
那么全节点工作的上限是什么?
为了使得有尽可能多的用户能够运行全节点,我们会将注意力集中在普通消费级硬件上。即使能够轻松购买到专用硬件,这能够降低一些全节点的门槛,但事实上对可扩展性的提升并不如我们想象的那般。
全节点处理大量交易的能力主要受限于三个方面:
算力:在保证安全的前提下,我们能划分多少CPU来运行节点?
带宽:基于当前的网络连接,一个区块能包含多少字节?
存储:我们能要求用户使用多大的空间来进行存储?此外,其读取速度应该达到多少?(即,HDD足够吗?还是说我们需要SSD?)
许多使用“简单”技术对区块链进行大幅扩容的错误看法都源自于对这些数字过于乐观的估计。我们可以依次来讨论这三个因素:
算力
错误答案:100%的CPU应该用于区块验证
正确答案:约5-10%的CPU可以用于区块验证
限制之所以这么低的四个主要原因如下:
我们需要一个安全边界来覆盖DoS攻击的可能性(攻击者利用代码弱点制造的交易需要比常规交易更长的处理时间)
节点需要在离线之后能够与区块链同步。如果我掉线一分钟,那我应该要能够在几秒钟之内完成同步
运行节点不应该很快地耗尽电池,也不应该拖慢其他应用的运行速度
节点也有其他非区块生产的工作要进行,大多数是验证以及对p2p网络中输入的交易和请求做出响应
请注意,直到最近大多数针对“为什么只需要5-10%?”这一点的解释都侧重于另一个不同的问题:因为PoW出块时间不定,验证区块需要很长时间,会增加同时创建多个区块的风险。这个问题有很多修复方法,例如BitcoinNG,或使用PoS权益证明。但这些并没有解决其他四个问题,因此它们并没有如许多人所料在可扩展性方面获得巨大进展。
并行性也不是灵丹妙药。通常,即使是看似单线程区块链的客户端也已经并行化了:签名可以由一个线程验证,而执行由其他线程完成,并且有一个单独的线程在后台处理交易池逻辑。而且所有线程的使用率越接近100%,运行节点的能源消耗就越多,针对DoS的安全系数就越低。
带宽
错误答案:如果没2-3秒都产生10MB的区块,那么大多数用户的网络都大于10MB/秒,他们当然都能处理这些区块
正确答案:或许我们能在每12秒处理1-5MB的区块,但这依然很难
如今,我们经常听到关于互联网连接可以提供多少带宽的广为传播的统计数据:100Mbps甚至1Gbps的数字很常见。但是由于以下几个原因,宣称的带宽与预期实际带宽之间存在很大差异:
“Mbps”是指“每秒数百万bits”;一个bit是一个字节的1/8,因此我们需要将宣称的bit数除以8以获得字节数。
网络运营商,就像其他公司一样,经常编造谎言。
总是有多个应用使用同一个网络连接,所以节点无法独占整个带宽。
P2P网络不可避免地会引入开销:节点通常最终会多次下载和重新上传同一个块(更不用说交易在被打包进区块之前还要通过mempool进行广播)。
当Starkware在2019年进行一项实验时,他们在交易数据gas成本降低后首次发布了500kB的区块,一些节点实际上无法处理这种大小的区块。处理大区块的能力已经并将持续得到改善。但是无论我们做什么,我们仍然无法获取以MB/秒为单位的平均带宽,说服自己我们可以接受1秒的延迟,并且有能力处理那种大小的区块。
存储
错误答案:10TB
正确答案:512GB
正如大家可能猜到的,这里的主要论点与其他地方相同:理论与实践之间的差异。理论上,我们可以在亚马逊上购买8TB固态驱动(确实需要SSD或NVME;HDD对于区块链状态存储来说太慢了)。实际上,我用来写这篇博文的笔记本电脑有512GB,如果你让人们去购买硬件,许多人就会变得懒惰(或者他们无法负担800美元的8TBSSD)并使用中心化服务。即使可以将区块链装到某个存储设备上,大量活动也可以快速地耗尽磁盘并迫使你购入新磁盘。
一群区块链协议研究员对每个人的磁盘空间进行了调查。我知道样本量很小,但仍然...
请点击输入图片描述
此外,存储大小决定了新节点能够上线并开始参与网络所需的时间。现有节点必须存储的任何数据都是新节点必须下载的数据。这个初始同步时间(和带宽)也是用户能够运行节点的主要障碍。在写这篇博文时,同步一个新的geth节点花了我大约15个小时。如果以太坊的使用量增加10倍,那么同步一个新的geth节点将至少需要一周时间,而且更有可能导致节点的互联网连接受到限制。这在攻击期间更为重要,当用户之前未运行节点时对攻击做出成功响应需要用户启用新节点。
交互效应
此外,这三类成本之间存在交互效应。由于数据库在内部使用树结构来存储和检索数据,因此从数据库中获取数据的成本随着数据库大小的对数而增加。事实上,因为顶级(或前几级)可以缓存在RAM中,所以磁盘访问成本与数据库大小成正比,是RAM中缓存数据大小的倍数。
不要从字面上理解这个图,不同的数据库以不同的方式工作,通常内存中的部分只是一个单独(但很大)的层(参见leveldb中使用的LSM树)。但基本原理是一样的。
例如,如果缓存为4GB,并且我们假设数据库的每一层比上一层大4倍,那么以太坊当前的~64GB状态将需要~2次访问。但是如果状态大小增加4倍到~256GB,那么这将增加到~3次访问。因此,gas上限增加4倍实际上可以转化为区块验证时间增加约6倍。这种影响可能会更大:硬盘在已满状态下比空闲时需要花更长时间来读写。
这对以太坊来说意味着什么?
现在在以太坊区块链中,运行一个节点对许多用户来说已经是一项挑战,尽管至少使用常规硬件仍然是可能的(我写这篇文章时刚刚在我的笔记本电脑上同步了一个节点!)。因此,我们即将遭遇瓶颈。核心开发者最关心的问题是存储大小。因此,目前在解决计算和数据瓶颈方面的巨大努力,甚至对共识算法的改变,都不太可能带来gaslimit的大幅提升。即使解决了以太坊最大的DoS弱点,也只能将gaslimit提高20%。
对于存储大小的问题,唯一解决方案是无状态和状态逾期。无状态使得节点群能够在不维护永久存储的情况下进行验证。状态逾期会使最近未访问过的状态失活,用户需要手动提供证明来更新。这两条路径已经研究了很长时间,并且已经开始了关于无状态的概念验证实现。这两项改进相结合可以大大缓解这些担忧,并为显著提升gaslimit开辟空间。但即使在实施无状态和状态逾期之后,gaslimit也可能只会安全地提升约3倍,直到其他限制开始发挥作用。
另一个可能的中期解决方案使使用ZK-SNARKs来验证交易。ZK-SNARKs能够保证普通用户无需个人存储状态或是验证区块,即使他们仍然需要下载区块中的所有数据来抵御数据不可用攻击。另外,即使攻击者不能强行提交无效区块,但是如果运行一个共识节点的难度过高,依然会有协调审查攻击的风险。因此,ZK-SNARKs不能无限地提升节点能力,但是仍然能够对其进行大幅提升(或许是1-2个数量级)。一些区块链在layer1上探索该形式,以太坊则通过layer2协议(也叫ZKrollups)来获益,例如zksync,Loopring和Starknet。
分片之后又会如何?
分片从根本上解决了上述限制,因为它将区块链上包含的数据与单个节点需要处理和存储的数据解耦了。节点验证区块不是通过亲自下载和执行,而是使用先进的数学和密码学技术来间接验证区块。
因此,分片区块链可以安全地拥有非分片区块链无法实现的非常高水平的吞吐量。这确实需要大量的密码学技术来有效替代朴素完整验证,以拒绝无效区块,但这是可以做到的:该理论已经具备了基础,并且基于草案规范的概念验证已经在进行中。
以太坊计划采用二次方分片(quadraticsharding),其中总可扩展性受到以下事实的限制:节点必须能够同时处理单个分片和信标链,而信标链必须为每个分片执行一些固定的管理工作。如果分片太大,节点就不能再处理单个分片,如果分片太多,节点就不能再处理信标链。这两个约束的乘积构成了上限。
可以想象,通过三次方分片甚至指数分片,我们可以走得更远。在这样的设计中,数据可用性采样肯定会变得更加复杂,但这是可以实现的。但以太坊并没有超越二次方,原因在于,从交易分片到交易分片的分片所获得的额外可扩展性收益实际上无法在其他风险程度可接受的前提下实现。
那么这些风险是什么呢?
最低用户数量
可以想象,只要有一个用户愿意参与,非分片区块链就可以运行。但分片区块链并非如此:单个节点无法处理整条链,因此需要足够的节点以共同处理区块链。如果每个节点可以处理50TPS,而链可以处理10000TPS,那么链至少需要200个节点才能存续。如果链在任何时候都少于200个节点,那可能会出现节点无法再保持同步,或者节点停止检测无效区块,或者还可能会发生许多其他坏事,具体取决于节点软件的设置。
在实践中,由于需要冗余(包括数据可用性采样),安全的最低数量比简单的“链TPS除以节点TPS”高几倍,对于上面的例子,我们将其设置位1000个节点。
如果分片区块链的容量增加10倍,则最低用户数也增加10倍。现在大家可能会问:为什么我们不从较低的容量开始,当用户很多时再增加,因为这是我们的实际需要,用户数量回落再降低容量?
这里有几个问题:
区块链本身无法可靠地检测到其上有多少唯一用户,因此需要某种治理来检测和设置分片数量。对容量限制的治理很容易成为分裂和冲突的根源。
如果许多用户突然同时意外掉线怎么办?
增加启动分叉所需的最低用户数量,使得防御恶意控制更加艰难。
最低用户数为1,000,这几乎可以说是没问题的。另一方面,最低用户数设为100万,这肯定是不行。即使最低用户数为10,000也可以说开始变得有风险。因此,似乎很难证明超过几百个分片的分片区块链是合理的。
历史可检索性
用户真正珍视的区块链重要属性是永久性。当公司破产或是维护该生态系统不再产生利益时,存储在服务器上的数字资产将在10年内不再存在。而以太坊上的NFT是永久的。
是的,到2372年人们仍能够下载并查阅你的加密猫。
但是一旦区块链的容量过高,存储所有这些数据就会变得更加困难,直到某时出现巨大风险,某些历史数据最终将……没人存储。
要量化这种风险很容易。以区块链的数据容量(MB/sec)为单位,乘以~30得到每年存储的数据量(TB)。当前的分片计划的数据容量约为1.3MB/秒,因此约为40TB/年。如果增加10倍,则为400TB/年。如果我们不仅希望可以访问数据,而且是以一种便捷的方式,我们还需要元数据(例如解压缩汇总交易),因此每年达到4PB,或十年后达到40PB。InternetArchive(互联网档案馆)使用50PB。所以这可以说是分片区块链的安全大小上限。
因此,看起来在这两个维度上,以太坊分片设计实际上已经非常接近合理的最大安全值。常数可以增加一点,但不能增加太多。
结语
尝试扩容区块链的方法有两种:基础的技术改进和简单地提升参数。首先,提升参数听起来很有吸引力:如果您是在餐纸上进行数学运算,这就很容易让自己相信消费级笔记本电脑每秒可以处理数千笔交易,不需要ZK-SNARK、rollups或分片。不幸的是,有很多微妙的理由可以解释为什么这种方法是有根本缺陷的。
运行区块链节点的计算机无法使用100%的CPU来验证区块链;他们需要很大的安全边际来抵抗意外的DoS攻击,他们需要备用容量来执行诸如在内存池中处理交易之类的任务,并且用户不希望在计算机上运行节点的时候无法同时用于任何其他应用。带宽也会受限:10MB/s的连接并不意味着每秒可以处理10MB的区块!也许每12秒才能处理1-5MB的块。存储也是一样,提高运行节点的硬件要求并且限制专门的节点运行者并不是解决方案。对于去中心化的区块链而言,普通用户能够运行节点并形成一种文化,即运行节点是一种普遍行为,这一点至关重要。
区块链的核心技术是什么?简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,我来举个例子,你就好理解了。
你可以想象有100台计算机分布在世界各地,这100台机器之间的网络是广域网,并且,这100台机器的拥有者互相不信任。
那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。
区块链就是为了解决上述问题而产生的技术方案。
二、区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1、P2P网络协议
P2P网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。
通常我们所用的都是比特币P2P网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求Peer节点的地址数据以及区块数据。
这套P2P交互协议也具有自己的指令集合,指令体现在在消息头(MessageHeader)的命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的PeerDiscovery的章节。
2、分布式一致性算法
在经典分布式计算领域,我们有Raft和Paxos算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。
如果从技术演化的角度来看,我们可以得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。
在图中我们可以看到,计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能采用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了Paxos和Raft为主的分布式系统。
而在区块链领域,多采用PoW工作量证明算法、PoS权益证明算法,以及DPoS代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。
PoW:通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。
PoS:这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。
DPoS:简单来理解就是将PoS共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账。这个圈子可能是21个节点,也有可能是101个节点,这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。
3、加密签名算法
在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。
其中,难题友好性正是众多PoW币种赖以存在的基础,在比特币中,SHA256算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。
而在莱特币身上,我们也会看到Scrypt算法,该算法与SHA256不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于SHA3算法的挖矿算法。以太坊使用了Dagger-Hashimoto算法的改良版本,并命名为Ethash,这是一个IO难解性的算法。
当然,除了挖矿算法,我们还会使用到RIPEMD160算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。
除了地址,我们还会使用到最核心的,也是区块链Token系统的基石:公私钥密码算法。
在比特币大类的代码中,基本上使用的都是ECDSA。ECDSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC(椭圆曲线函数)。
从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。
4、账户与交易模型
从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数