| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 区块链性能问题 -> 正文阅读 |
|
[区块链]区块链性能问题 |
交易确认时间久1、每十分钟产生一个区块,一个小时只能有六个区块,一个区块最大只能有1M,换算下来一秒只能处理七笔交易 2、一个区块,需要有六个区块一起才能被确定正式上链,然后这个过程需要一个小时 解决方法: 1、增大区块的大小, 2、提高出块的频率 吞吐量低?1、在于共识的过程,(因为每一个区块都要参与到共识的过程中,)吞吐量:就是多久能产生一个区块解决方法: 1、异步共识 同步共识:在一个区块产生的时候,所有的节点开始同步,当所有的节点都达成共识之后才会继续出块。 异步共识:当一个区块产生的时候,只要满足一些规则,那么就可以继续出块,如果这个规则设计的足够巧妙,过一段时间后还是可以达成共识。 2、随机共识 感觉所有的节点都参加,会浪费时间,能不能找一些节点来代替全部节点达成共识。那么就利用“随机抽取”算法来达到。 Algorand算法: 就是 ”随机抽取“算法,会选取一些节点到委员会中,由这些委员会来达成共识。如果足够的随机,下一轮就会重新抽取节点,进入委员会,这样也保证了公平性。 算法核心: (VRFs)函数,在每一轮的选举中,都会有一个随机数来作为随机数作为函数的输入,返回值hash值和一个n, hash值作为下一轮的输入,n就是作为本轮选中的证明,相当于委员证 注意:在抽签之前需要先确定人数。并且都会纪录在区块中一一绑定,从而提高效率,在这个过程中达成共识。 3、分区方案 分区不是区块链中的技术,是从数据库中引入的,但是区块链也是一种数据库,叫做分布式日志数据库,所有数据库提高效率的方法也能在区块链中使用,例如:分区,把一张表的数据分到不同的硬件中 分区选择方式: 按区域分、按市场分、按地域分、按交易类型分、按交易id分 限制分区的瓶颈:跨区数据交换,主要受限于带宽 注意:以太坊中使用的是分片,并不是分区技术,和子链很像,每一笔都是高度自治的, 4、子链/侧链技术 思想:一条区块链性能太差,多来几条,多链并行提高效率, 子链本质:指遵循某种协议的区块链,是通过协议的规则,把某种币从主链上转移到侧链上。 必备条件:必须要有一个协议,可以是一对多的关系, 也必须要发生价值转移。 5、可信执行方案 结合硬件 要么不运行,一但运行,必然可靠,无法被外界影响。 一旦在这种环境中运行,那么就不需要考虑拜占庭容错问题。那么就可以使用一些效率高,简单的共识从而提高效率。 6、隐形中心化 完全去中心化是没有必要的,受限制的中心化,更加贴切情况。 受限制的中心化可以是多中心,轮转中心。 如果降低去中心化能提高效率,那么这种方式是允许的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:56:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |