0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树图区块链Conflux 把 TPS 大幅度提高以后,数据怎么存?

倩倩 ? 来源:用户投稿 ? 2019-12-16 14:18 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

区块链相关从业者朋友们经常提到这样一个问题:树图区块链Conflux 把 TPS 大幅度提高以后,数据怎么存?以现在树图区块链Conflux 的网络参数为例,平均每秒生成 4 个区块,每个区块大小约为 300KB。那么在满载的情况下,一秒的吞吐量为 1.2MB,一天约 100GB,每年新增的交易历史数据可达 30TB。在企业级和工业级的应用中存储 30TB 数据并不是一件特别困难的事情,按照现在的市场价 3 块 10TB 硬盘只需 5000-7000 元。但是不同于 Hashgraph 那样的“企业级联盟链”,树图区块链Conflux 要最大程度地保证去中心化,因此就必须尽可能地降低参与共识的成本。

为了降低参与共识的门槛,树图区块链Conflux在开发时把全节点的最低运行配置限制在 2019 年主流家用台式机的水平。包括同步交易、执行交易、验证交易、维护树图结构等操作在内,全节点消耗的CPU、硬盘、内存等计算资源受到了非常严格的控制。因此,通过要求矿工增加新硬盘以存储新增数据的“简单解决方案”从一开始就不在考虑范围之内。

高吞吐量还带来另外一个问题:新节点加入的时候,需要花多长时间来同步已有的数据?为了解决高吞吐量带来的存储和同步的问题,树图区块链Conflux 采用了如下方案:对于足够老的区块,全节点只需存储区块头而不用存储区块内的具体交易信息。树图区块链Conflux 未来会提供“档案节点”(Archive Node)的代码,允许任何人运行一个档案节点,存储所有历史数据。上述设计可能与大家直觉中认识的区块链有些出入,所以下面我们解释一下,为什么这样的设计没有丢失区块链基本的属性。让我们一起来看一下 树图区块链Conflux的区块头里都包含哪些信息:首先,区块头包含所有区块引用的信息。这意味着 树图区块链Conflux 的树图结构是在每个全节点都完整保存的。

其次,工作量证明要求每个区块头的哈希值足够小,需要有足够多的“前导0”。即使不保存区块内的交易,仅从区块头也足以判断区块生成时是否付出了足够的工作量。也就是说,区块头中还保留了工作量证明的信息。因此,区块之间的结构和区块头中的信息,都是以去中心化和不可篡改的方式,在每一个全节点那里被存下来的。攻击者如果想改写历史,就必须付出与“历史累计工作量”相当的代价。除了树图结构和工作量证明外,区块头还包含有这个区块交易和交易执行结果的默克尔树根(Merkle Root)。

这里的默克尔树根实际上就是一个代表了当前的数据内容的哈希值。树图区块链Conflux 的每个区块头包含 3 个这样哈希值: 交易哈希根 (Transaction Root):对应于区块内所有交易内容。 状态哈希根 (State Root):对应于交易执行后的“世界状态”,包括每个账户地址的余额和所有智能合约的状态。(由于采用了延迟执行的策略,在 树图区块链Conflux 里区块头里的状态根对应的是执行了之前区块里的交易后的状态,该区块内的交易将延迟到更晚的区块才会执行。) 交易收据哈希根 (Receipt Root):对应于合约执行过程中产生的收据。包括执行是否成功,执行过程中是否触发了转账等。如果某个用户想要获得较早的交易数据和执行结果,则他可以从“档案节点”那里查询,并通过比对区块头中的哈希值来判断档案节点提供的数据是否正确。(这里每一个哈希值本质上都是一个 Merkle Tree 的 Root Hash,所以档案节点只需提供被查询数据的默克尔证明 Merkle Proof 就可以了,而不用传输整个区块。)由于哈希函数可以抗碰撞的特点,档案节点无法为一笔不存在的交易伪造一个能通过检测的证明。

对于档案节点来说,唯一的攻击方式是拒绝提供交易数据,由此带来的后果至多也只是影响到历史交易的可查询性。即使没有任何一个诚实的节点保存较早的历史交易,那些交易也只会被遗忘而不会被篡改,交易的不可篡改性依然可以得到保证。

由于档案节点的“作恶”方式非常有限,所以档案节点本身对去中心化要求也没那么高,完全可以由 树图区块链Conflux 基金会和社区共同维护若干个档案节点。实际上,因为运行档案节点并不需要任何审核或许可,所以大用户也可以根据业务需要自己运行或委托他人运行档案节点,以此确保查询历史交易数据的性能和可靠性。对于在 树图区块链Conflux 上运行的 DApp 来说,如果其本身需要保存和随时访问的数据量不是很大 —— 比如说每年新增 1MB 数据,则这些业务数据完全可以存储在智能合约的内部状态里。存储于合约内部状态的数据会作为世界状态的一部分被每一个全节点保存和同步,无需自己运行档案节点也可以保证最高程度的可用性。

技术的革新往往会带来经济、社会发展格局的改变。从某种意义上说,在区块链等新兴领域,不同的城市、地区、国家其实是处于同一个起跑线的,这当中起关键作用的是有没有革新的勇气和前沿的思维,而作为支撑起将来国内技术发展的区块链技术,显然需要更多像树图区块链Conflux 这样优秀的团队。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11116

    浏览量

    218278
  • 区块链
    +关注

    关注

    112

    文章

    15568

    浏览量

    109358
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    反激/全桥逆变GS尖峰如何解决?请各位前辈多多指教吧

    为外接学生电源进行供电,全桥逆变上功率时,辅助电源电压下降、电流上升,功率飙升而且电压电流一直在大幅度波动;拿热成像看了,除电感外没什么地方发热。所以怀疑是GS尖峰导致。
    发表于 07-12 15:38

    cs1237 读取数值老是跳

    使用过程中,读取的数值大幅度波动频繁,低速率传输没问题,只要高于40就会上下跳,这是怎么回事?
    发表于 07-09 13:42

    如何提高TPS65145芯片接受EN信号后的启动到输出电压的这段时间?

    如何提高TPS65145芯片接受EN信号后的启动到输出电压的这段时间
    发表于 03-03 08:24

    科技在物联网方面

    传输的需求。例如,利用5G的低延迟、高带宽特性,实现机器人与云端服务器之间的快速数据传输,提高机器人的响应速度和智能化水平。 智能决策与数据分析 边缘计算与云计算结合:宇科技的机
    发表于 02-04 06:48

    利用ADS1281作为数据采集的时候,输出就出现了限幅为什么?

    ,而且此时的限幅幅度也是正负2V对应的值。随着输入的加大,平顶的宽度变宽,但最大幅度不变。 同时,在输出限幅的时候,会有一段时间的振荡,是输入所没有的。附件是采集数据的一些截图。 哪位大师可以解释一下出现的原因。不胜感激。
    发表于 01-24 07:37

    Arm涨价计划或影响三星Exynos芯片未来

    据外媒报道,芯片巨头Arm计划大幅度提高授权许可费用,涨幅最高可达300%。这一消息对三星Exynos芯片的未来发展构成了严峻挑战。
    的头像 发表于 01-23 16:17 ?511次阅读

    LDC1101提高采样率到140Ksps后RP raw数据幅度特别大,怎么解决?

    LDC1101,我如果用2M左右的谐振频率设计线圈,resptime最大去采集数据,RP rawdata采集出来的数据范围很小。如果提高resptime的话,返回会稍微变大。如果我
    发表于 12-11 06:52

    YOGO ROBO智能机器人助力区块行业发展

    日前,上海静安区成功举办了全国首个区块主题的场景集市——“数通谷”区块+医疗场景集市。本次活动汇聚了来自
    的头像 发表于 11-22 11:33 ?803次阅读

    有单通道数据模块吗?

    请问,有单通道数据模块吗?应用是系统网电断电后,任然可以锁数据状态。要求锁模块能长期单独长期供电。
    发表于 11-13 07:42

    华为云、上海钧达数科 发布区块数据要素联合解决方案

    【摘要】 9 月 19 日,在华为全联接大会 2024 期间,华为云与上海钧达数科在上海世博展览馆联合发布了基于华为云区块打造“区块数据
    的头像 发表于 10-09 20:16 ?782次阅读
    华为云、上海钧达数科 发布<b class='flag-5'>区块</b><b class='flag-5'>链</b><b class='flag-5'>数据</b>要素联合解决方案

    京准电钟:GPS北斗卫星校时服务器助力区块数据

    京准电钟:GPS北斗卫星校时服务器助力区块数据
    的头像 发表于 09-27 10:43 ?677次阅读
    京准电钟:GPS北斗卫星校时服务器助力<b class='flag-5'>区块</b><b class='flag-5'>链</b><b class='flag-5'>数据</b>网

    利用TPS2116提高电表应用的系统可靠性

    电子发烧友网站提供《利用TPS2116提高电表应用的系统可靠性.pdf》资料免费下载
    发表于 09-24 09:21 ?2次下载
    利用<b class='flag-5'>TPS</b>2116<b class='flag-5'>提高</b>电表应用的系统可靠性

    用功率运放OPA549T做电压跟随器,出现大幅度振荡的原因?怎么解决?

    用功率运放OPA549T做电压跟随器,负载电流2.5A左右,电压0到14v可变,只在下降沿和上升沿处出现大幅度振荡,振荡波形周期为200us,维持时间在5ms,根据datasheet推荐在输出端加RC网络补偿,没效果,哪位工程师能帮忙解决。
    发表于 09-10 07:03

    INA163 4引脚的电压信号被大幅度衰减是怎么回事?

    中间的是INA163,测试的时候正常上电,给4引脚接入0.1V正弦电压信号,在9引脚处测试输出信号,发现被大幅度衰减,基本没有信号,但是用5引脚测试时是正常的,所以想请教一下,可能存在的原因是什么?谢谢
    发表于 08-30 07:37

    TPS25981-提高功率密度

    电子发烧友网站提供《TPS25981-提高功率密度.pdf》资料免费下载
    发表于 08-26 09:34 ?1次下载
    <b class='flag-5'>TPS</b>25981-<b class='flag-5'>提高</b>功率密度