1. XuperModel数据模型

是比特币utxo模型的一个演变。

  • 每个事务读取的数据需要引用上一个事务写入的数据。
  • 事务的输入表示在执行智能合约期间读取的数据源,即事务的输出来源。
  • 事务的输出表示事务写入状态数据库的数据,这些数据在未来事务执行智能合约时将被引用

1.1 智能缓存

为了在运行时获取合约的读写集,在预执行每个合约时XuperModel为其提供智能缓存。该缓存对状态数据库是只读的,它可以为合约的预执行生成读写集和结果。

  • 验证合约时,验证节点根据事务内容初始化缓存实例,节点将再次执行一次合约,但此时合约只能从读集读取数据。
  • 写入数据也会在写入集中生效。当验证完生成的写集和事务携带的写集一致时合约验证通过,将事务写入账本

图左是合约预执行,右是合约验证:

百度超级链XChain(7)数据模型相关推荐

  1. 百度超级链XChain(8)部署开发

    1. 文件夹说明 在output下,主要目录有data, logs, conf, plugins等, 二进制文件有xchain,xchain-cli 目录名 功能 output/ 节点根目录 ├─ c ...

  2. 百度超级链XChain(5)XuperBridge 智能合约接口

    1. 内核设计 应用程序可以用各种语言实现,比如go,c.类比到合约上就是各种合约的功能,如KV访问,QueryBlock, QueryTx等,这些请求都会通过跟xchain通信的方式来执行 2. 提 ...

  3. 百度超级链XChain(12)平行链与群组

    1. 定义 平行链还具备群组特性,能够一定程度上实现平行链隐私数据的隔离,只有群组内的节点才能有这个平行链的数据 ● 平行链 :相对于主链而言,运行在 XuperChain 中的用户级区块链实例,用户 ...

  4. 百度超级链XChain(4)核心数据结构

    注意为"区块"."交易"."UTXO"和"读写集". 1. 区块 区块以DAG方式链接起来形成的链.因此,区块是区块链的 ...

  5. 百度超级链XChain(3)平台特点

    采用经典的UTXO记账模式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善的账号与权限体系,采用DPOS作为共识算法 1. 权限系统 实现一个去中心化,区块链内置的合约账号权限系统. ...

  6. 百度超级链XChain(1)系统架构

    1. 架构图 智能合约的并行执行和验证 通过自研的WASM虚拟机,做到了指令集级别的极致优化 2. 模块 模块 特性 存储 XuperChain的底层存储基于KV数据库,存储的数据包括区块数据.交易数 ...

  7. 百度超级链XChain(6)XVM虚拟机

    XVM跟XuperBridge对接主要靠两个函数 call_method,这个函数向Bridge传递需要调用的方法和参数 fetch_response,这个函数向Bridge获取上次调用的结果 ext ...

  8. 百度超级链XChain(2)p2p网络

    1. 定义 非结构化p2p网络 结构化p2p网络:结构化p2p最普遍的实现方案是使用分布式哈希表(DHT),eg. 以太坊网络. 1.1 NAT技术 通过将局域网内的主机地址映射为互联网上的有效ip地 ...

  9. 百度超级链Xuper关于金额相关问题

    前言 这篇文章咱聊聊百度链手续费问题 关于百度链往期文章汇总 在百度超级链Xuper上部署智能合约并实现存证功能 对百度超级链Xuper使用过程中的进一步理解 在Xuper链上部署Java语言智能合约 ...

最新文章

  1. a href=# 与javascript:void(0)的区别
  2. Linux5下DHCP配置
  3. Sword STL迭代器prev,next相关函数
  4. opengl纹理示例
  5. INPUT[type=file]的change事件不触发问题
  6. 红橙Darren视频笔记 启动不在清单文件注册的activity 安卓8有效
  7. c++ windows编译器 amd平台_不同操作系统下的C/C++ 编译器,C/C++新手须知,零基础学习C语言...
  8. 获取上周_北美木材价格上周趋于稳定
  9. 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问...
  10. 8255工作方式2——双向选通输入输出(A口)
  11. 高中电子技术——指针式万用表调零
  12. Python多人聊天室
  13. R语言批量生成CaseWhen的解决方案
  14. 2022-2023丰田bZ4X维修手册电路图TOYOTA技术资料
  15. Windows7语言包安装问题
  16. matlab2014如何获得hostid,关于如何修改hostid的问题
  17. 烟雨黑帽seo超级模板站群-可一键清除内页URL转换成单页-百度搜狗超级模板站群-多城市网站站群
  18. 雪碧图 Sprite图
  19. K8S中的亲和,污点和容忍
  20. vue实现页面刷新以及局部刷新的方法

热门文章

  1. 【报错】ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds t
  2. php未正确拼写字 css,前端Bug解决方案
  3. 用java写游戏_用java写的扫雷游戏
  4. rodbc 连接oracle,在R中加密密码 – 使用RODBC连接到Oracle DB
  5. 数据中心运维认证中的管理要求
  6. 卡巴斯基授权许可文件_安全许可证的申请流程有哪些?
  7. 成功解决AttributeError: ‘int‘ object has no attribute ‘encode‘
  8. Py之qrcode:Python包之qrcode的简介、安装、使用方法之详细攻略
  9. vue组件间的传值方式及方法调用汇总
  10. python3 获取cookie解决方案