编辑: 颜大大i2 | 2019-12-11 |
2019 年2月5日progr76@gmail.
com 内容 概述 介绍 目前区块链存在的问题 低速,没有突破性(火箭科学)技术 DApps 以及中心化 与网络集成 实现 理论角度 快速路由网络 网络协议 数据传输及验证分离 数据河 它是如何使用的 自定义区块链数据库容量 安全 双花 区块确认数计算 矿工经济激励 DDOS 攻击保护 实践角度 规范 处理器线程构成 相关链接 概述 TERA 是一个去中心化应用的平台.这类似于一个'
'
操作系统.TERA 由一个集 成到互联网的程序和数据存储库构成. 在该平台上发布程序和数据的机制不受审 查,加密货币是通证经济的血液,而区块链则使其流淌. 考虑以下几层: 硬件>
软件>
UI>
数据库>
中心化网络>
去中心化网络 在21 世纪,每个人都有一个计算设备,比如一台电脑,一台笔记本,一部智能 手机,一块智能手表等等.就其本身而言,这样的设备对一个人来说是没有意义 的,所以它总是运行一个程序并且执行一些有用的东西.程序的结果显示在用户 界面中.通常,结果持久地存储在设备的数据层中,以便能够再次访问.更大的 用处是允许其他用户通过网络访问这些数据.因此,来达到为用户增加每一个连 续实用性的目的. 为了相互通信,由设备组合而成的每一个节点构成了一个网络拓扑结构.将节点 组合成网络的最简单方法是使用单个协调服务器. ,但由于单点故障导致相应的 不可靠性也表明这样的解决方案是中心化的, . 还有一些其他的解决方案,所有的设备都是平等的,具有相同的等级和优先级, 我们叫它去中心化网络. .重要的是要理解去中心化网络的整体工作原理;
节点 之间作为一种协调良好的机制在整个网络中进行通信.为了实现这一点,有一些 特殊的算法用于节点之间的交互,我们将其称为共识.可以是:时间共识、传输 共识或数据链共识. TERA 是人类及软件交互的下一个时代. 介绍 目前区块链的问题 低速,没有突破性(火箭科学)技术 早在
2017 年,区块链的主要瓶颈就很明显――那就是它的工作缓慢.在那之后 的时间里情况也并未改变. 这个行业需要一种能让数亿人受益的技术并且使得世 界各地的人们都来使用,这就使用了动态可扩展性. 这种技术的缺乏导致行业的停滞和交易所上加密货币的资本化损失 DApps 和中心化 Dapp 一词代表去中心化应用,但目前应用不当.它是一个通过区块链中的智能 合约交互并且实际上位于一个中心化服务器的程序. 集中服务器上的那部分是关 键,因为没有服务器是无法使用的.这样的 DApp 只能保证用户资金的保存,因 为他们在区块链上. 这种情况是由于当前的区块链在其平台上不提供托管服务, 并且现有区块链上不 存在用户界面(TERA 区块链除外). 与网络集成 区块链对于普通用户来说仍然过于虚拟导致无法理解;
他们从未能在眼中看到. 相信你从未见过的东西是很困难的. 向区块链添加可视化接口将允许用户立即查 看并开始使用它.软件开发的简化将有助于区块链的实际分配.为此,智能合约 的语言应该尽可能简单和被人熟悉.你只需使用简单的语言和现代的通用技术 (Javascript 和HTML),通过基本的熟练度来最大限度地提高采用率.网站程序 员是 IT 行业中最大的区块链用户群体.他们将能够在区块链上快速创建流行的 应用程序,并尽可能方便所有用户使用 dapps. 实施 理论角度 一个快速的路由网络 传统的区块链不使用节点之间的顺序.整个网络看起来是随机的,就像这样:: 这种随机的链接组织并不能保证在所有节点之间的快速传递. . 而在 TERA 中,节点自发组织成有序的通信方式:: 区块链将数据从第一个节点传递到最后一个节点的时间不超过
3 秒. 为了实现这一点,基于节点地址之间的相似性,节点之间通过特殊的连接方式进 行连接.节点地址是随机值(32 字节),在节点操作期间不会更改.与其他节点的 连接数与网络中节点的数量呈对数关系,从而实现相对恒定的交易传输时间. 因此,如果网络由
10 亿个节点组成,节点之间的传输时间仍然不超过
100 毫秒 (ms),因此最大时间将是 30*100 ms =
3 秒.节点之间传输交易的延迟时间
100 ms 是上限,但在实践中,它小于
100 ms,因为延迟较小的节点间具有连接优 先级. 为了使成功的连接更加持久, 每个节点会统计不同区块内容之间成功交换的信息. 此统计的信息会影响连接优先级. 网络协议 交易由用户发送到 N 个相邻节点(其中 N 是从
5 到16).交易被添加到新生成的 区块中(当前第二个块).当交换阶段到来时,交易开始从一个节点移动到另一个 节点,并在区块中积累.如果一个块包含的交易多于它的容量,那么需要大量工 作量证明的交易会被留下――这就是 DDOS 保护的实现方式.在区块生成阶段 结束时,执行签名阶段和 PoW 区块计算(1 秒),然后开始为期 3s 的具有最大工 作量证明的区块搜索.这样的区块被添加到区块链中. 区块传输处理 区块链:每秒形成块的次数, 但区块的确认时间(即区块链中区块的接通持续时间) 为8秒. 为了使创建区块的速度比确认时间快
8 倍, 使用了区块的流水线处理. 这可以被认为是
8 个独立的区块链,形成周期为
8 秒.每一个这样的区块链相 对于其他都会相对移动一秒钟.因此,我们在一秒内创建第一个区块链的区块, 在第二秒内创建第二个区块链的区块,以此类推,直到第
8 个区块链.为了将这 些区块链连接成一个区块链,它们被粘在一起.在传统的区块链中,前一个块的 哈希包含在每个单链的区块头中.在TERA 区块链中,为了达到这些目的,前 一个区块的哈希值是基于
8 个区块链中每个的前几个区块计算出来的. 在这个阶 段,我们将
8 条链的逻辑绑定成一条. 几个块并行处理,处理顺序取决于当前时间(当前块): 区块上传以及上传到网络 (从网络) 时间点: 1. 新(当前)区块,从MemPool 加载交易,计时器激活 2. 同步单元(分布式单元)的开始 3. 同步结束 4. 将数据块与前面的区块捆绑在一起,POW 运算 5. 最大 PoW 网络搜索开始 6. 最大工作量证明搜索结束 7. 检查该单位的有效性,考虑到由于下载新的区块链与大的完整的工作量证明 而可能改变的之前区块. 从图中您可以看到,该区块引用前面的区块,但是增量为
8 个区块. 一旦确定有效并存储在数据库中, 来自第
8 个节点的块就会参与到其他节点的卸 载中(类似地,它们也可以从其他节点加载). 这是在 TERA 区块浏览器页面中的区块: 数据传输与验证分离 网络中的每个节点都相等.节点的数量是无限制的.节点之间的通信通过组织单 个数据链来实现,其中的信息以命令(交易)的形式记录下来.通常这样的链称为 区块链,但是在这个平台中,它的应用程序被扩展.传统区块链中,交易被写到 区块中.在这种情况下,不允许写入交易块,这是无效的(例如,数字签名不正 确、账户资金不足、双花等).在TERA 平台中,区块链作为一种传输工具,可 以将任意的信息写入区块中(以后我们称之为交易).对信息正确性的解释取决于 更高层次的应用.区块链有一个共识机制来确定哪个数据链为真,但是这个共识 不会解释区块内交易的规则. 区块数据是一个黑匣子――所有操作都是用一组字 节执行的.PoW 算法用于抵御 DDOS 攻击.交易的长度越长,PoW 的值就必 须越大.在将交易发送到网络之前,客户端计算 PoW 值. 数据河 TERA 平台可以抽象地表示为一个水道, 它保证了集装箱船舶通过的连续性和数 理顺序.航道不对船舶和货物负责管辖.船舶的效用包括港口、渔场、仓库等, 它们为船舶装载提供有用的工作. 它是如何使用的? 假设你需要把货物送到 B 港,而A港已经把货物装进集装箱并送到了港口.在B港,检查所有的集装箱是否有正确的内容,当你找到货物时就去提货.该通道 仅用
8 秒就能将船只运送到目的地的所有港口. 这里的一个重要方面是数理顺序. 区块链的目的是确保每个设备有一个区块的单 一顺序和组成.如果提供了这种方法,那么读取它们的程序将在世界上所有的计 算机上生成相同的结果――所以数据是相同的.因此,即使这些区块包含不正确 的交易、 双花等等, 用户端的程序也会看到它并拒绝执行. 这称为交易验证过程. 为了加快整个系统的速度,我们将其从区块传输过程中分离出来.因此,我们可 以在另一个时间和另一个进程中执行验证,而不影响区块链,由于大量检查,我 们可以更快地执行验证――由于较少的数据库访问, 我们可以对操作进行分组并 加快工作速度. 自定义区块链数据库大小 对于在
1000 tps 时不可避免地会出现的大量数据,新用户应该能够快速下载区 块链来验证它并开始使用它.因此,下载顺序发生了变化――如果以前是从链的 开头下载的,现在........