首页> 智库> FISCO BCOS 技术文档>区块链交易流程

此组别内的文章

  • FISCO BCOS 区块链 平台介绍
  • 版本信息
  • 搭建第一个区块链网络
  • 开发第一个区块链应用
  • 关键概念
  • 网络搭建
  • 配置管理
  • 网络维护
  • 创建和使用账户
  • 开发和使用智能合约
  • 多种语言SDK
  • 区块链功能接口列表
  • 使用链上信使
  • 开发期问题排查
  • 开发部署工具(build_chain.sh)
  • 命令行交互控制台
  • WeBASE管理平台
  • 区块链浏览器
  • 运维部署工具
  • 数据治理通用组件
  • 多方协作治理组件
  • 区块链应用开发组件
  • 整体架构
  • 区块链交易流程
  • 数据结构与编码协议
  • 核心模块设计解析
  • 深入浅出FISCO BCOS
  • 社区资源和更多开源工具

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

提交工单

区块链交易流程

交易——区块链系统的核心,负责记录区块链上发生的一切。区块链引入智能合约后,交易便超脱『价值转移』的原始定义,其更加精准的定义应该是区块链中一次事务的数字记录。无论大小事务,都需要交易的参与。

交易的一生,贯穿下图所示的各个阶段。本文将梳理交易的整个流转过程,一窥FISCO BCOS交易完整生命周期。

区块链交易流程

交易生成

用户的请求给到客户端后,客户端会构建出一笔有效交易,交易中包括以下关键信息:

  1. 发送地址:即用户自己的账户,用于表明交易来自何处。
  2. 接收地址:FISCO BCOS中的交易分为两类,一类是部署合约的交易,一类是调用合约的交易。前者,由于交易并没有特定的接收对象,因此规定这类交易的接收地址固定为0x0;后者,则需要将交易的接收地址置为链上合约的地址。
  3. 交易相关的数据:一笔交易往往需要一些用户提供的输入来执行用户期望的操作,这些输入会以二进制的形式被编码到交易中。
  4. 交易签名:为了表明交易确实是由自己发送,用户会向SDK提供私钥来让客户端对交易进行签名,其中私钥和用户账户是一一对应的关系。

之后,区块链客户端会再向交易填充一些必要的字段,如用于防交易重放的交易ID及blockLimit。交易的具体结构和字段含义可以参考 编码协议文档,交易构造完成后,客户端随后便通过Channel或RPC信道将交易发送给节点。

区块链交易流程

交易池

区块链交易被发送到节点后,节点会通过验证交易签名的方式来验证一笔交易是否合法。若一笔交易合法,则节点会进一步检查该交易是否重复出现过,若从未出现过,则将交易加入交易池缓存起来。若交易不合法或交易重复出现,则将直接丢弃交易。

区块链交易流程

交易广播

节点在收到交易后,除了将交易缓存在交易池外,节点还会将交易广播至该节点已知的其他节点。

为了能让交易尽可能到达所有节点,其他收到广播过来的交易节点,也会根据一些精巧的策略选择一些节点,将交易再一次进行广播,比如:对于从其他节点转发过来的交易,节点只会随机选择25%的节点再次广播,因为这种情况一般意味着交易已经开始在网络中被节点接力传递,缩减广播的规模有助于避免因网络中冗余的交易太多而出现的广播风暴问题。

交易打包

为了提高交易处理效率,同时也为了确定交易之后的执行顺序保证事务性,当交易池中有交易时,Sealer线程负责从交易池中按照先进先出的顺序取出一定数量的交易,组装成待共识区块,随后待共识区块会被发往各个节点进行处理。

区块链交易流程

交易执行

节点在收到区块后,会调用区块验证器把交易从区块中逐一拿出来执行。如果是预编译合约代码,验证器中的执行引擎会直接调用相应的C++功能,否则执行引擎就会把交易交给EVM(以太坊虚拟机)执行。

交易可能会执行成功,也可能因为逻辑错误或Gas不足等原因执行失败。交易执行的结果和状态会封装在交易回执中返回。

区块链交易流程

交易共识

区块链要求节点间就区块的执行结果达成一致才能出块。FISCO BCOS中一般采用PBFT算法保证整个系统的一致性,其大概流程是:各个节点先独立执行相同的区块,随后节点间交换各自的执行结果,如果发现超过2/3的节点都得出了相同的执行结果,那说明这个区块在大多数节点上取得了一致,节点便会开始出块。

交易落盘

在共识出块后,节点需要将区块中的交易及执行结果写入硬盘永久保存,并更新区块高度与区块哈希的映射表等内容,然后节点会从交易池中剔除已落盘的交易,以开始新一轮的出块流程。用户可以通过交易哈希等信息,在链上的历史数据中查询自己感兴趣的交易数据及回执信息。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

聚圣源融资公司起名恶魔实验公司起名如何查重带童的男孩起名2018年4月份男孩起名我是一个贼朝字起名字大全男孩最佳女婿小说猪宝宝起名忌用睿字配什么字搭配起名给树林起名入党申请书1500字北京农村商业银行电话有时右逝五行缺火 猪宝宝起名负面清单长生风御九秋网页起名完美告白辽宁卫视浩字与皓字哪个起名字好方姓男孩起名天涯侠医如何起队名给孩子起名字 李姓鞍山都市阳光凯立德激活码生成器云鬟酥腰小说微信起名大全有财运个人名字japanesejizz光丘事件淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化