比特元是一种具有简单稳定、拓展性强等特点的公有链网络。该网络于 2013 年 12 月诞生,初始采用预挖空投+POW 共识机制进行产出,2015 年更新为 POS 共识机制。经过四年多的设计与研究,2018 年 5 月 17 日,比特元区块链 3.0 开发公测、主网上线,并升级为 SPOS(Safe POS),即优化了随机数的安全 POS 共识机制。6 个多月后,2018 年 12 月 7 日,比特元(BTY)在 Github 上正式开源。
比特元的研发采用了杭州复杂美 Chain33 的底层技术,是一个实现并落地的多链(平行公链)架构的公有链项目。在比特元区块链上可开发多条平行公链,各条平行公链既具备多样又独立的区块链生态建设和 DAPP 开发功能,又可实现多链间的跨链互换。平行公链项目的应用领域包括稳定币、红包、社交、电子商务、资产上链、债权上链、存证、游戏等。
项目支持的存储方式
比特元区块链创新性地实现了 MVCCKVDB(多版本 KV 数据存储),这是一种优于传统区块链数据存储方式的创新。传统的区块链通常使用 merkle 树或 MPT 树来存储数据,每次数据的改变都会导致树的重构,效率较低。例如,对于一棵有 20 层的默克尔树,查询一个叶子节点的数据需要进行 20 次读操作,而查询效率仅为普通数据库的 1/20。对于每秒能完成 10 万次读操作的系统,其每秒仅能读取 5000 笔交易的数据,这极大地限制了系统的读取性能。在写数据时,同样需要加载树型分支上的多个节点数据,并最终将其写入磁盘,这也会消耗大量的操作资源。比特元借鉴了数据库设计中的 MVCC 理念,设计了独特的 KVMVCC 数据存储格式,以解决 MAVL 或 MPT 结构中存在的低效问题,更好地满足了区块链数据增长到一定规模后对高读写性能的需求。
Hash 计算
statehash=hash(prevstatehash,KVSet,height),其中包含了前一区块的状态 Hash 信息、本区块的状态数据 KVSet 信息以及本区块的高度信息(即版本信息)。
以下对应关系会被存储到每个节点的数据库中:
hash->height(version)
height(version)->hash
key:height(version)->value
lastest:key->value
数据查询
根据 statehash,可以查找到对应的 height(version),再根据 height 可以查找到对应高度时具体 key 值对应的 value 值。
数据验证
对于特定高度 height 的 KVSet,可以根据前一区块的 hash 值 prevstatehash、KVSet、height 进行 Hash 运算。如果 hash 值相符,则数据未被篡改;否则,数据被改动或者数据有误(高度有误或 KVSet 数据有误)。
对于最新版本数据的维护
特别的,当存储最新区块的 key、value 值时,同时保留(新增 key)或更新(已有历史版本的 key)key:latest->value 的映射关系到本地 key-value 数据库中。当需要获取最新的批量数据时,可以根据 latest 前缀(可自定义)来批量查询最新数据。由于通常的 key-value 数据库可以很好地支持前缀匹配查询,因此查询效率会比较高,远高于默克尔树存储结构的查询。
项目超级节点
为了提高区块链的性能,平行公链通常采用 DPOS(股份授权证明机制)共识。在这种共识机制下,需要从链上选拔出数个提供算力和宽带支持的超级节点。这些超级节点负责将交易信息打包进区块,并将区块信息广播给其他节点,同时将交易信息存储在区块上,以发挥共同治理社区的功能。
一条公链的成功与否,一个重要的衡量指标是其链上的节点数。超级节点机制可以帮助平行公链快速建立链上生态,并通过各个超级节点的运营和维护,推动平行公链生态的繁荣,实现更加稳定、强大和去中心化的区块链系统。
同时,平行公链的运营方可设立平行链基金会,通过基金会对超级节点的各类 token 激励机制和运营手段,激发超级节点的能动性和积极性。此外,还可以通过 token 的回购和交易手续费等方式,促进平行公链的健康可持续发展。
项目支持预言机功能
预言机实现了区块链与真实世界的连接,它是一种可信的实体,可以通过签名引入关于外部世界状态的信息,从而使智能合约能够对不确定的外部世界做出反应。预言机具有不可篡改、服务稳定、可审计等特点。
预言机合约发布数据分为三个步骤:
(1) 发布数据发布事件(告知全网将有某个事件的结果于未来公布,并分配唯一的事件 ID。如果事件未发生,可以进行撤销)。
(2) 预发布结果(数据提供者预发布时间结果。如果被审计发现结果有问题,可以撤销)。
(3) 发布结果(预发布结果经过审计后,最终全网发布,不可篡改,可审计追溯)。
其他合约(例如竞猜合约)可以使用上述步骤 1 中的事件 ID 和具体事件来开展(竞猜)活动。当步骤 3 的结果公布后,竞猜合约根据事件 ID 对应的结果来触发合约完成竞猜结算,实现了无人干预的客观、可信、可审计、可追溯的公平竞猜。
自合并以来,以太坊一直是区块链社区中心化问题的焦点,反对者声称转向股权证明使以太坊更加中心化。但为什么是以太坊,这些问题是什么?本文试图通过考察集权和分权力量之间的许多“战斗”来解决这个问题。为什么是以太坊?以太坊作为智...
数字货币的疯狂拥护者者传扬Web3的优势,她们表明将来大家在网络上做的一切都将由区块链技术给予驱动力。Web3的拥护者说,互联网技术的下一次迭代将把绝大多数权利交到客户,而不是由大中型个人公司管理互联网技术上的观点和商业...
在分散的市场中,技术允许投资者直接交易,而不是在分散的交易所。使用分散货币或数字货币的虚拟市场就是分散市场的一个例子。如何运作去中心化市场?一个分散的市场使用各种数字设备实时沟通和显示买卖价格。这样,买卖双方都不需要在同...
在数字货币上研发的运用,自然也就叫去中心化的应用,通称Dapp,听上去啊,是否很难理解?我再用一个小故事来给大家解释一下,举例说明,假如我把钱借给你,你第二天就死不承认啦,那我找为什么说去?因此啊,我把村支书老李叫来,老...