IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> COTI - 信用DAG区块链共识机制探索 -> 正文阅读

[区块链]COTI - 信用DAG区块链共识机制探索

前言:COTI是我认为很有意思的一个DAG型区块链,虽然目前大部分耳熟能详的还是传统区块链,没办法,资本几十亿的注入,要从经济转为性能不是一天两天的事。从技术来说,COTI比不上Conflux,但也完全能算技术力考前的新区块链了,除了DAG常见的高吞吐低消耗,特殊的结合了智能合约,尤其机制是和信誉紧密相关,很有意思,作为代价少了一点去中心化,但是影响不大。
DAG方面可靠资料实在不多,我在github有缘找到COTI的项目,包括了源码和文章,其中我认为最重要的就是下面这篇《COTI信誉共识》,下面的文章是一段一段翻译自白皮书的,本来想只看一部分,结果越看越多,既然不能阻止同行看,那就搭把手把自己的全文翻译搬上了吧。截图太多,搬不动,就直接文字翻译吧,要看图建议和原文对照着看
如果有区块链,共识机制方面研究的朋友,欢迎与我联系,联系qq见我csdn账号

https://coti.io/files/COTI-technical-whitepaper.pdf

may the flame guide thee

1.Introduction

《互联网货币》(COTI)通过使用一种创新的基础层协议解决了这些挑战,该协议以有向非循环图为基础的账本的形式,通过利用基于信任的算法,从通过时间连接的交易中构建。信任应该基于网络参与者的历史行为数据和关于他们的客观信息的结合。COTI考虑到了这一点,使用一种独特的机器学习算法计算信任。信任在信任链算法中使用,以更快地验证和确认交易。信任链会随着新的交易与之前的两个交易的关联而增长,而这两个交易的信任度与它们本身相似。这就产生了一种创新的基于共识的确认机制,在这种机制中,由于与高信任相关的好处(如更快的确认时间),每个用户都被鼓励拥有高水平的信任,同时参与信任建立行为。

建立网络安全监控、检测和防范机制,确保网络安全。这种机制的一个例子是COTI的双开销预防(DSP)节点。COTI还引入了新的协议来解决发送交易时可能出现的纠纷,这是其他加密货币不可能具备的非常必要的特性。争议解决是通过使用仲裁服务来实现的。该服务利用了博弈论的原则,以确保在争议的情况下有一个公平的结果,并投票决定争议双方中哪一方是正确的。

区块链技术和加密货币在过去几年已经成为管理支付交易的替代机制。数字货币如比特币、以太坊和许多其他数字货币在大众兴趣和采用方面呈指数级增长,而其他用途包括技术应用,从供应链管理[11]到去中心化、可验证的健康记录[17]。事实上,许多人把加密货币比作早期的互联网,认为它有巨大的潜力扰乱支付系统,就像互联网扰乱信息访问[14]一样。

然而,尽管第一代加密货币取得了巨大的成功,但它们也面临着阻碍其实现普遍采用的根本性挑战。基于区块链的线性加密货币面临低交易吞吐量2;依赖于矿工网络来执行日益复杂的工作量证明(PoW)计算的加密货币会招致高昂的交易费用;大多数现有的加密货币难以管理,容易受到大众猜测的影响。此外,纠纷解决等服务在信用卡和其他支付平台上很常见,但在大多数现有加密货币框架内却很少见。这些因素使得个人和商家很难在日常交易中采用它们作为全球货币或数字美元。

本文介绍了COTI (The Currency Of The Internet),这是一种能够实现高交易吞吐量和低费用的下一代加密货币,同时易于管理,并为用户期望从支付平台获得的服务(如纠纷解决)提供分散结构。COTI通过使用事务的有向无环图(DAG)来实现高事务吞吐量,称为Cluster,而不是区块链。这个想法并不新鲜,而且已经被证明可以提高性能[13,4,15]。通常,基于DAG的加密货币3用于大量低价值的交易,可能在物联网设备等机器之间进行。由于COTI的设计目的是支持商家和消费者之间的日常交易,因此引入了新的算法来推动集群的形成和交易的批准。新方法的基础是信任评分(Trust Score),它根据每个用户的历史行为分配给每个用户帐户,它管理该帐户在网络内交易的批准以及可能产生的费用。这些算法将在第2节中详细描述。

除了上面提到的新功能外,COTI还引入了一个仲裁服务来解决争议,由高度信任的网络参与者组成的分散集体,他们对争议裁决进行投票。这使得该网络能够向参与者提供分散的人力投入服务。

**基础层协议:**基于dag的分布式账本技术显示,它特别擅长克服基于区块链的支付网络固有的可伸缩性限制。这是因为在基于区块链的网络中,更大的规模会对网络可用性产生不良影响,而在基于dag的网络中通常相反:更大的网络使用会带来更好的网络可伸缩性。换句话说,网络用户数和交易确认率之间存在正相关关系。

由于网络使用和网络可扩展性之间的正相关关系,DAG数据结构非常适合COTI网络的底层协议,并将使其能够实现完全去中心化,而不损害COTI对可扩展性、即时性和低(或零)费用的承诺。在上述举措所建立的基础上,COTI正在引入一种创新的基于dags的分布式账本技术作为其底层协议,其中包括使用信任评分作为关键机制,通过该机制,新的未经确认的交易选择之前的交易进行验证。此外,COTI基于dag的分布式账本技术Cluster在确认交易时使用COTI的信任链算法更快地达成共识。最终,集群将能够验证和确认每秒最多几十万个事务(TPS)。

Coti Coin: COTI引入了构建在底层协议之上的高性能加密货币。这种加密货币将被用作一种常见的支付方式,包括COTI生态系统内的所有费用和押注。

**费用:**COTI网络采用透明和公平的费用模式。所有费用都由Full Nodes(由COTI网络中的普通用户运行的分散服务器)收取。COTI网络从全节点收取的部分费用中获得支持基础设施技术的费用,如双花预防节点(见第6.2和11.1节)和信任评分服务器(见第3.3节)。当该网络首次建立时,所有产生的COTIs的一部分将作为储备基金拨出,支付所有交易直至该网络到期。因此,在网络初期,网络费用将被设置为零。在此期间之后,由于网络的分散性,费用将会很小。

每个节点收取的费用部分由节点本身决定。一些节点可能会设置更高的费用,如果他们认为自己提供了良好的服务;其他节点可能收费更少,甚至可能不收费。一个节点为其服务收取的价格应该是公平的,公开的,并符合共同的网络规则。网络规则将规定费用的上限,但没有最低费用。

COTI生态系统内的所有费用都用COTI币支付

如果商家相信这将为他们的客户提供更好的体验,那么他们可以在定制钱包的同时运行他们自己的Full Node。

2 The Trust Chain Algorithm

COTI开发了一种新方法,以在基于DAG的数据结构上运作的交易各方之间达成共识。集群基于一个完全分散的DAG,它不被任何中央机构存储。它是一个分类账,或者是所有网络交易的记录。Cluster通过使用并行源选择和交易确认,以及使用COTI的信任评分来实现可伸缩性。

2.1 Trust Score of transactions in the Cluster

集群中的每个事务都会收到一个与发送帐户的信任评分相等的信任评分(关于信任评分算法的进一步信息可以在信任评分部分中找到)。交易的初始信任评分用于定义:

?未验证的交易(来源)将被验证并被交易引用(见来源选择小节)。

?在交易附件之前应执行的工作量证明(PoW)。

因此,来自高度可信发送者的事务可以更快地得到确认(请参阅性能调查一节以了解更多细节)。当附加一个交易时,Full Node需要验证之前的两个交易,以便将新交易添加到分类账中。因此,分类帐被组织成一个DAG(有向无环图),顶点是交易,有向边从每笔交易绘制到另外两个它验证的交易。图1显示了Cluster的原理图。每个白圈代表一个已经被两个后续事务验证过的事务,而暗圈代表一个新的、未验证的事务,即在图论术语中“源”。随着新事务的添加,它们可能会验证暗事务。

2.2 Source Selection

上面概述的流程要求每个新事务选择两个先前的源事务进行验证。在COTI中,做出这一选择的算法是基于每笔交易的信任评分。根据这个源选择算法,一个源可能会选择接近其当前信任评分的先前交易。这导致了集群中信任链的形成。信任链是集群中的任何反向路径。该链的累积信任分值是构成该链的所有交易的信任分值之和。

信任链算法利用累积信任分数来达成交易是否被确认的共识。如果一个交易是一个信任链的起点,该信任链的累积信任评分超过了预先设置的全局确认阈值,则该交易被认为已确认。在实践中,我们考虑从每个交易开始的最长(最高信任)信任链,并将其累积信任评分与阈值进行比较,以确定交易是否已被确认。

由于源选择算法倾向于将信任分数相近的交易连接在一起,因此由高信任用户生成的信任链中大多包含高信任分数的交易。这样的信任链的累积信任分数会快速增长,超过阈值并达成共识,这意味着高度信任的用户将享有快速的确认时间和高的交易吞吐量。

源选择算法的另一个重要结果是基于信任分数的聚类的软分割。换句话说,具有不同信任分数的DAG部分是并行处理的,而远处的DAG部分基本上是独立的。

如果不考虑任何复杂性,Cluster中的每一个事务都会经历以下生命阶段:在第一阶段,它作为一个新事务启动;在第二个中,它通过使用与自己相似的信任评分验证其他两个事务来连接到Cluster;第三,它由其他事务验证;最后,一旦确认它的最重路径的累积信任评分超过设置的阈值,它就被确认并永久添加到集群中。这个过程如图2所示

COTI的信任链算法是这样设计的:信任用户(即那些具有高信任分数的用户)会比那些不那么值得信任的用户经历更快的确认时间。这是意料之中的,因为人们在与不信任的人打交道时更加谨慎,所以在接受交易之前,希望更确定他们的交易得到确认。图3演示了该属性,并在第10节中使用模拟进行了进一步讨论。

图3:确认中等信任事务(左)和高度信任事务(右)所需的不同信任链长度。阴影的事务是那些已经达到累积信任阈值的事务,而确认路径是蓝色的。描额交易已确认。为了便于说明,n = 2。

2.3 Source Selection Algorithm

其主要目标是基于事务发送方的信任评分构建一个Cluster。在Cluster中,每个事务最多与两个事务相连,且其信任分数与自己的事务非常接近。在DAG上,交易发送方的信任评分用一个权重函数ω分配给每个交易。设d为信任分数的上界。根据信任评分算法,这等于100。

任何构造这种DAG的好方法都必须基于一种算法,这种算法选择两个具有某种程度随机性的事务。例如,考虑一个算法,它选择两个事务b和c,只基于与源a的信任评分最近的信任评分。我们可以看到,使用非随机算法,如刚才描述的,增加了存在许多源的可能性,这些源必须等待很长时间才能被事务附加。

COTI的源选择算法的工作方式是:一个新的交易a由一个账户发出,而S是所有源的集合。算法选择ω(a)的最优邻域。首先,使用映射函数对所有源进行分区 M : {1; 2; ; d} → {T : T ? S} 即 M(i) = {T : T ? S and ω(T) = i},T表示选取的区块子集,w(T)表示子集的信誉分数, 其中d为信任评分的上界。初始子集是T0 = M(ω(a))。迭代算法生成新的子集 Ti = Ti?1∩M(ω(a)?i)∩M(ω(a) + i) 直到Ti被充分填充,或i <(d / 8) (即在交易信誉上下i找交易,直到交易块数量达到需求,i从0开始,如果不够±1,直到数量满足为止,或i达到上限为止(d/8=12))。

一般来说这意味着10%的未确认交易被选中作为父亲备选。如果在任何迭代中ω(a)?i <0或ω(a) +i >d,则分别取M(ω(a)?i)或M(ω(a) + i)为空集。还有一个必须应用于ω(a)附近的源子集Tj的进一步限制,即同一个交易发送者不能认自己的前一笔交易为父交易。该算法定义了一个概率函数P,根据s与新事务A之间的时间戳差异,对Tj中的所有源s进行加权。a可以在Tj中随机选择任意两个资源,但是旧的资源比新资源被选择的概率更高。从a的同一事务发送者中选择源的可能性为零。算法1中的Java代码展示了如何做到这一点。

请注意,我们的算法可以响应新事务流中的变化,因为它考虑了事务附近的源的数量。在Cluster的早期阶段,会出现事务a不能附加到Tj中的任何事务的情况(例如,当所有源的信任评分都积累到离ω(a)太远的地方,或者当所选邻近中的所有源都来自与a相同的事务发送方)。

在这些情况下,零花费服务器将创建一个零值事务,该事务具有相同的信任评分,并将a附加到该事务上。在另一个场景中,如果一个源s是等待很长时间才能被附加到一个新事务,那么一个零花服务器将创建一个事务附着的信任分数一样年代。零花前的等待时间服务器执行这些任务将根据信任分数:高信任分数的来源将被零花费服务器匹配得更快。如第6.3节所述,零开销服务器的过度活动将有助于识别网络或信任评分算法中的问题。

2.4 Attachment Process

当从钱包接收到新交易时,将执行以下步骤:

  • 地址验证
  • 余额检查
  • Pre-balance检查
  • 父区块选择
  • 验证父区块
  • 工作证明(PoW)
  • 连接DAG区块链
  • 向其他节点传播信息

首先,验证事务。检查每个基本事务和整个事务的地址。然后检查余额,以验证每个地址都有足够的资金。

然后会检查预余额,以防止同一个钱包出现两次消费。然后执行源选择、验证、PoW和附加到本地DAG的过程。在本地验证、测试并在一个完整节点中附加事务之后,它将传播到其他节点,并接收信任链共识和DSP共识(请参阅双花预防和DSP共识以了解更多细节)。

在收到事务后,其他节点不会对事务执行任何PoW处理或其他一致性验证。当其他节点根据源选择算法将新事务附加到该事务时,将检查该事务。如果交易未能通过这些检查,该交易将被拒绝。

事务不能由同一用户(种子)发起或由同一Full Node创建的其他事务批准。

2.5 Trustchain consensus

用G = (V ; E) 表示交易DAG.假设每个交易v∈V都用一个权函数 ω : V → N 进行加权,用 ω(v) 表示,表示交易者的信誉积分. 设a为任何事务,d为信任评分的上界。如果是的话,我们就可以说这笔交易成交了如果满足:

公式2.1表明,由于源选择算法,高可信事务比低可信事务的确认速度更快。注意,高度可信的事务a在很大程度上是被快速确认的,因为最重的有向路径的长度非常小。还要注意,受信任程度较低的事务需要更长的路径来确认。最重的直接路径的算法结束的事务是一个线性时间算法,即O (V (F) | | + | E (F) |), F?G是一个有一组有以a交易为直接路径终点的有向无环子图,如下图。第一步是F拓扑排序。由于F是DAG,求拓扑排序τ是线性时间([5]中第22.4章)。让τ = v1;v2;…; vn;注意,根据F的定义,事务a应该是拓扑排序的最后一个顶点

以下动态规划算法给出了事务a最重路径的O(|V (F)| + |E(F)|)时间解:

2.6 Balance Check

为了保持支付系统的一致性和双花预防,COTI的全节点和DSP节点进行了余额检查。当Full node和DSP node(防双花节点)运行时,计算所有的地址余额。当节点重新启动时,将从最近一个Clusterstamp状态重新计算余额。有两种类型的余额由Full Nodes和DSP Nodes控制:

? Current balance(当前余额):由Trust Chain consensus和DSP确认的正地址余额组成。

? Pre-balance:由所有验证过的交易组成。COTI Full Nodes和DSP Nodes独立检查余额,提供DSP共识。有关详情,请参阅双花预防和DSP共识部分。

对于MultiDAG中的不同集群,可以实现各种平衡检查方法。

3 MultiDAG

3.1 An additional dimension of the protocol

DAG模型为COTI提供了卓越性能和高效事务处理的框架。有许多令牌类型和用途,值得在DAG之上实现。

COTI使用了几个独立的集群,每个集群支持一个令牌,这使得整个网络高效且可调。集群中的事务可以附加到同一集群中的事务,因为不同的集群可以实现各种事务确认规则。

COTI MultiDAG的生态系统与以太坊类似。一个公共的去中心化基础设施是许多不同代币和智能合约的基础,以及用于支付费用的一种主要货币。

根据上述定义的术语,COTI为不同用途创建了几个集群。

在上图中,为了简单起见,省略了集群的信任链结构。

在COTI MultiDAG中,不同的集群通过ClusterID在事务层是可分离的。为简单起见,在本文中我们使用整数作为clusterid。

ClusterID=0的Cluster表示COTI硬币。ClusterID=0和其他事务之间的区别很重要:ClusterID=0的创世事务是在网络启动时创建的,不能在之后添加。其他集群的Genesis事务由集群所有者或智能合约根据特定的集群规则创建。

考虑到所有相关用户的余额,确认ClusterID=0中的事务。其他集群中的事务确认可以实现其他规则。

COTI的所有收费都由Full Nodes负责。 因此,在交易附件之前,Full node必须在主币DAG中创建付费交易。

COTI MultiDAG中的所有集群都使用相同的标识和KYC过程,这创建了一个通用的无摩擦加密域,其中包括许多不同类型的令牌。

4 Anatomy of a Payment

4.1 Accounts

在COTI中,帐户是为了方便用户而组合和管理的一组用户密码地址。地址是从用户的种子公钥加密生成的。在COTI中,用户可以选择如何使用他们的地址——作为一次性地址或永久地址,或作为按照不同规则组织到多个账户中的地址。地址可能没有负余额,由Full Nodes检查并由DSP Nodes签名。

4.2 Transaction structure

COTI网络中的事务包括描述性字段、与加密协议相关的字段和基本基本事务集。

4.3 Fees

COTI网络中的所有费用都由Full Nodes收取。付费基础交易与bundle中的所有基础交易一起创建,并由用户和交易签署,与整个交易一起创建一个完整节点。

网络费用基础交易也包含在主要交易包中。这些基本事务使用来自全节点地址的COTI,并由全节点签名与整个事务一起签名。

在任何给定时间,网络费用水平都是一个全网常数。

交易包中包含的网络费用的正确性由交易确认中的其他Full node验证。

4.4 Multisig accounts

COTI为用户提供 multisig 帐户,允许托管和其他加密锁定的可能性。多个签名由完整节点检查,以确认事务。

4.5 Rolling Reserve

滚动储备是为了保护买方而冻结的卖方资金的一部分。滚动储备作为买方保护制度的一个关键要素,对在线交易至关重要。在COTI中,滚动储备是在协议级别上实现的,以获得最大的效率。

滚动准备金账户作为一个伪用户,属于COTI仲裁系统,作为有条件的资金所有者与卖方相连。滚动储备账户资金可通过两种方式使用:

  1. 在冻结期结束时转入卖方账户

  2. 如果卖方败诉,用于支付给原告。

滚动储备份额和冻结期限取决于支付交易创建时卖方的信任评分。

COTI正在考虑两种可能的滚动储备处理方案。第一个是在钱包中创建交易包时分割支付(如图15所示)。

第二种方法是将付款全部转移到RR帐户,然后从RR帐户分离(如图16所示)。

5 Trust Score

信任分数是COTI网络的一个关键特征。它们被用于有效的交易处理、风险缓解和网络结构。信任评分由专用和分散的信任评分节点(dedicated and decentralised Trust Score Nodes)计算。

5.1 Trust Scores in common

COTI网络中的参与者拥有自己的信任评分指标,包括节点。然而,节点的信任评分并不等同于节点所有者的信任评分。

支付网络中的所有账户都有一个信任评分,它会根据用户的支付统计数据和几种事件类型进行更改。帐户信任评分是一个在[0,100]范围内的真实数字。支付网络中的所有交易也都有一个信任评分。事务的信任评分是发起事务时发送方的信任评分。事务A的累积信任评分(Cumulative Trust Score)是批准事务A的最重路径上所有事务(包括事务A本身)的所有信任评分的总和。

信任评分算法是为了保证基于信任评分的源选择算法的最大性能而设计的。

例如,让事务的推荐信任级别(累积信任评分)为1000。这意味着高可信网络参与者(TS ~ 85)创建的事务需要在链中至少12个确认事务,而低可信网络参与者(TS ~ 12)创建的事务需要在链中至少84个确认事务。

信任评分节点收集事务和其他统计信息,以不断更新参与者的信任评分,详见下面的信任评分更新算法。

信任分数也可以根据外部事件的发生而改变,例如拥有账户的公司破产。信任评分节点将收到仲裁员确认的这些事件的信息。

5.2 Uses and Implications of the Trust Score

  1. 为信任链算法安排事务,并提供最佳的并行事务处理,同时确保提高高信任用户的性能,并为低信任用户提供额外的检查。

  2. 为商家定义滚动储备(Rolling Reserve)需求。

  3. 确定收费(Fee)水平。

  4. 设定POW水平,这可以间接影响费用水平。

  5. 设置仲裁员阈值并定义哪些网络参与者可以被选择为仲裁员并被包括在仲裁员池中。

  6. 定义网络拓扑和事务传播路径(节点信任分)。

  7. 优化节点工作负载(节点信任分)。

5.3 Trust Score types

不同类型的COTI网络参与者使用不同的信任评分计算算法。

参与者可以是个人、商业实体或非人(例如物联网设备),可以扮演用户、商人或金融机构的角色。

节点的信任评分在下面的5.8小节“节点的信任评分”中描述。

当一个参与者注册为商人或金融机构时,它使参与者能够获得商品或服务交换的付款。不合作的参与者试图销售商品或服务,但没有注册为商人或金融机构,将受到较低的信任评分(见下面恶意网络参与者的信任评分范围)的处罚。因此,这些参与者将被分配高达100%的高滚动储备要求,以维护买方保护标准。

5.4 Trust Score ranges

所有信任分数都是在[0,100]范围内的真实数字。

零信任分意味着参与者被禁止使用COTI网络进行严重的不法行为,包括伪造身份或提交伪造文件。

初始信任评分算法(Initial Trust Score Algorithm, ITSA)为TS赋值的范围是[10,30]。[0,10]范围是为恶意网络参与者保留的。法律实体和所有商户的初始TS值位于更大的范围内[10,40],因为这些参与者比简单的客户可以提供更多与其活动相关的数据。

仲裁信任评分阈值将初步定义为25,但该值将根据实际网络统计数据进行调整。

5.5 Decentralised design of Trust Score Nodes

信任评分节点是分散的服务器,它为COTI网络提供计算信任评分所需的存储和计算能力,并为网络参与者提供信任评分。信任评分节点使用相同的算法。其他节点通过交叉检查信任评分计算来控制它。

5.6 Initial Trust Score Algorithm

在COTI KYC服务器中,使用基于机器学习(ML)和基于规则的方法的初始交易评分算法(ITSA)计算网络参与者的初始信任评分。

ITSA用于计算初始信任评分的数据集包括来自KYC/AML程序的敏感用户详细信息以及他们需要填写的问卷。如果用户希望提供额外的详细信息以增加他们的信任评分,则可以多次填写问卷。

5.6.1 Data used by the Initial Trust Score Algorithm for a user

在完成KYC验证之前不可能加入支付网络,因此它定义了ITSA拥有的最小数据量和参与者加入网络后可以拥有的最小信任评分。身份文件类型、公民身份、出生日期、居住地证明、电话号码、居住地国家和邮政编码都是ITSA在COTI KYC服务器中运行时可用的KYC数据类型。

填写信任评分问卷的用户需要提供以下数据 : 家庭状况、教育程度、就业、职业、收入数据、保险、驾照、银行证明人、社交网络账号名、网站等。这取决于用户是否填写这些数据,但通常用户提供的数据越多,他/她的信任评分就越大。

如果一个人声称自己的信任评分高于仲裁员的阈值,那么ITSA可以随机生成一个提交支持文件的请求。然后由随机选择的仲裁员检查文档,并将其发送到Trust Score节点。如果用户未能确认信任评分问卷数据,或发现文件是伪造的,则将构成轻罪事件,并将被用来降低用户的信任评分。

根据KYC/AML程序,如果用户计划转移大笔资金,则需要提供资金来源证明。

5.6.2 Data used by the Initial Trust Score Algorithm for legal entities

在开立账户之前,法律实体也需要完成KYC程序。

法人实体提供的数据包括公司成立数据、业主数据、受益业主、董事、负责人身份证明、股份、已发行证券、资产负债表、审计报告和业务概况数据。有很多详细的方法来评估和评价一个公司,但这些方法是不同的国家。COTI计划在主网测试版发布之前对公司实施信任评分。

5.6.3 Data used by the Initial Trust Score Algorithm for merchants

为了以商家身份参与,除了KYC文件和问卷外,参与者必须提供以下信息:业务活动,包括业务性质、历史业绩数据、许可证(如适用)、银行证明人和计划销量

如果商家是一家公司,所需的数据集与任何法律实体相同

5.6.4 Data used by the Initial Trust Score Algorithm for robots and IoT devices

COTI Trustchain平台允许创建可用于物联网设备和机器人的高效轻量化解决方案。要成为COTI网络的参与者,任何人都需要有一个TrustScore。设备和机器人的初始信任评分将部分从设备所有者处借来,部分基于设备的安全性和对黑客攻击的健壮性进行计算。COTI正考虑使用HighIoT (high-iot.com)设备安全数据来计算物联网设备信任评分。

5.6.5 ITSA dataflow

仅基于KYC数据的最小信任评分范围是[10,15]。

在开始使用网络后,参与者可以通过填写信任评分问卷和提供额外的数据来提高自己的信任评分。

图20:ITSA提交提供额外数据的问卷的数据流。

算法的机器学习部分开始于理想类型方法(参见m .韦伯,社会学和社会政治知识的客观性)。为了拥有一个有标签的数据集,我们定义了18种理想的用户类型(包括4个边界点),以及它们所需的信任评分值。

我们选取100个真人特征向量,根据最相似的理想类型定义期望的信任分值。有了这个数据集,我们可以使用简单的机器学习方法,如线性回归来定义ITSA使用的最优权值集。

然而,ITSA并不仅仅使用机器学习方法。例如,我们有国家网络犯罪的可靠统计数据,在使用ML算法之前应用这些统计数据,或者根本不包括这些特征,都是比较合理的。一个人的年龄是我们有风险厌恶统计的另一个参数。

详情请参阅COTI公共github仓库中的ITSA代码。

5.7 Calculation of Trust Scores by the Trust Score Nodes

5.7.1 Trust Score Update Algorithm

信任评分更新算法(TSUA)旨在有效收集用户行为数据,以便将信息提交到分散的信任评分节点。

在COTI网络中,信任评分节点(Trust Score Nodes)接收所有处理过的交易的副本,并将其以简写形式存储在自己的数据库中,以排除重复计算的可能性,并重新计算信任评分。

信任评分节点维护交易、营业额和余额计数器,而TSUA则重新计算它们。它们还管理影响仲裁结果等事件的信任评分列表,并对其进行衰减。

衰减有两种类型:指数衰减和限制项。指数衰减适用于数值,而限制项适用于事件。如果没有涉及到参与者的交易或事件,那么他/她的信任评分将渐近收敛到10。

5.7.2 Data for the Current Trust Score calculation

当前信任评分值是由信任评分节点使用表中的数据集计算的

表1:用于计算信任评分更新的数据集及其解释。

数据集解释
(初始信任分数和数据)由ITSA分配的初始信任分数以及相应的计算衰减的日期。
零信任标准一个零信任参与者的指标
初始信誉分变化计数关于完成问卷的频率和伪造数据导致信任评分下降的数据
[(某月成交量,日期)]过去12个月的月度营业额清单,包括当前营业额和计算衰减日期
[(某月平均余额,日期)]过去12个月的月平均余额清单,包括当前的月平均余额和衰减计算日期
[(某月计数,日期)]过去十二个月的每月交易频率列表,包括当前的交易频率和衰减计算日期
[(违规行为,日期)]所有已知的错误事件的列表和日期为衰减计算
[(纠纷结果,内容,日期)]所有争议的清单以及履行和日期的信息
5.7.3 Current Trust Score calculation

事件贡献仅限于Tn项,并服从指数衰减。在(5.1)中,T1, T1,…TN是时间段;ei表示第i个事件,Dei 和fei表示与该事件相对应的日期和贡献。

来自其他数值数据(Vk = fk(vk))的贡献——这些数据可能来自初始信任评分(例如)——是在应用指数衰减之前计算的。当前的信任评分计算如下:

(5.2) dei和dk为指数衰减因子,dei和dk为事件日期和数值,VIT S为初始信任评分值。

如果零信任标志为真,那么TS = 0,无需进一步计算。如果计算出的TS值为零或负数,则将参与者的TS设置为最小的正TS值(0.1):不允许任何人通过计算被禁止使用网络。如果计算出的TS值大于最大TS值,则将参与者的TS值设置为最大TS值(100)。计算出的TS值由TS节点签名。

详情请参见COTI公共github仓库中的TSUA代码。

5.8 Trust Scores for Nodes

在COTI网络中,信任分数是一个普遍的概念,不仅适用于用户,也适用于节点。创建节点时,初始信任分值根据节点所有者的信任分值(带缩放系数)6设置。初始化后,这些信任分数变得彼此独立。

节点信任评分的计算方法与用户相似,但参数不同。主要参数集包括事务产生频率、事务传播流、事务确认频率等负载参数。节点为COTI网络做的工作越多,其信任评分就越高。

COTI需要考虑价值流相关的特征,包括节点中心性度量,以便计算信任分数。

节点信任评分还会受到一些负面事件的影响,如发布无效交易、重复消费尝试、不正确的交易附件算法使用、逃避参与智能合约执行等。

当前节点信任评分的计算与用户的计算类似(见5.7.3节),但使用了各种贡献函数、权重和衰减。

节点信任评分使用信任评分节点同时收到的所有已处理交易的副本和参与者的信任评分进行更新。

节点信任评分用于定义COTI网络拓扑结构,帮助用户选择最合适的全节点。低信任的DSP、TS或历史节点被禁止网络运营,并且不收取任何费用。

6 Network Components

6.1 Wallets

系统中的所有客户都使用COTI钱包来管理他们的账户,将资金转移到不同的地址,并检查他们当前的余额。钱包包含一个用于生成私钥和公钥(地址)的种子。种子是由KYC服务器生成的用户的秘密密钥和用户的服务器密钥私下生成的。如果丢失,可以从用户的秘密密钥和服务器密钥恢复种子。为了接收COTI网络数据并发起交易,钱包连接到用户选择的Full Node。如果用户没有首选的完整节点,将随机选择一个节点。COTI的钱包是可定制的,以确保用户的钱包是他或她的满意。由于用户可以注册多种类型的参与者和角色(见图17),这些钱包的详细操作将因用户而异。

6.2 The Nodes

Full node:系统的主要面向客户端的服务器。每个钱包都连接到一个Full Node,每个交易都由Full Node接收并传播到整个系统。与DSP节点一起,Full node是系统的骨干。全节点负责信任链共识。他们从钱包接收新交易,验证它们,做PoW并将它们附加到DAG。全节点还以分散的方式执行COTI智能合约。在COTI网络中,Full Nodes可以为用户定义自己的价格表,并为用户进行竞争。因此,COTI全节点负责为所有协议使用收取所有费用,并将网络费用转移到网络池(COTI Full Nodes are responsible for collecting all fees for all protocol usage and transferring the Network Fee to the Network Pool.)。详情请参阅COTI节点模型商业计划( COTI Node Model Business Plan )。据预测,COTI Full Nodes有盈利能力

The Double Spending Prevention Nodes (DSP Nodes) :

双支出预防节点(DSP节点)是一组高度可信的分布式服务器,负责DSP共识、账户平衡控制、通用协议和数据完整性。每笔交易都必须得到大多数DSP节点的批准和签署。用户不能直接接入DSP节点。为了运行DSP节点,用户需要存入大量COTI。该金额可以由DSP节点运营商单独存入,也可以由一组网络参与者将其存款委托给节点运营商。更多细节请参考双花预防和DSP共识部分。

Trust Score Nodes:

信任评分节点:用于计算和存储“参与者信任评分”和“参与者KYC状态”的物理服务器。为了运行信任评分节点,用户需要存入一笔COTI。请参阅信任评分部分了解更多细节。

The History Nodes:

在完成Clusterstamp进程之后,历史节点保留集群的早期部分。完整的帐户历史记录可以从历史节点中检索。

6.3服务器

COTI将维护有助于网络平稳运行的服务器。下面将介绍两种类型的此类服务器。

KYC服务器: COTI网络的上线区域,新用户在此连接以进行KYC/AML验证。KYC服务器还负责计算用户的初始信任评分,并为用户种子生成创建服务器密钥。创建的服务器密钥存储在KYC服务器上,可以在种子恢复过程中使用。为了进行KYC验证,用户需要至少连接一次COTI KYC服务器。在第一次KYC上线后,用户将不需要再次连接到它,除非他们想更新他们的信任评分问卷。有关用户初始信任评分的更多细节,请参阅信任评分部分。

零开销服务器: 当集群中的源等待了很长时间而没有被另一个事务验证时,或者当一个事务不能使用源选择算法附加到源时,负责发送零值事务。这些服务器的活动将有助于监视源选择算法。如果这些服务器经历了过度活动,这可能表明网络或信任评分算法有问题。

7 Proof of Work

在COTI中,PoW并不像它对比特币那么重要,因为它只是用来保护网络免受垃圾邮件的企图。然而,当附加新事务时,所有的Full node都执行PoW。因此,COTI并不基于PoS,而是一种高度可扩展的PoW加密货币。

工作量证明(PoW)方案被设计为难以解决,但相对容易验证。不幸的是,大多数PoW系统仅仅通过验证一轮并行搜索算法来实现快速验证。这些并行算法可以很快适应显卡、fpga甚至ASIC设计,这将使攻击者比普通计算机具有几个数量级的优势。在加密货币的情况下,PoW的主要目标是信任分散和参与者激励,关键是不能通过FPGA或ASIC设计优化和加速PoW,以获得任何有意义的经济投资回报。许多加密货币采用的一种方法是使用所谓的顺序内存硬函数,比如Scrypt。这些算法试图使PoW依赖于对大量数据的顺序随机访问,从而使内存受到限制,以限制并行化。顺序内存硬函数的挑战是,当它们被调优为使用大量内存时,它们失去了易于验证的特性。例如,简单地用加密安全的伪随机数据填充1g内存可能需要一秒钟的时间。因此,验证这种内存硬PoW的需求将为执行拒绝服务攻击创造机会。因此,我们需要一系列内存硬PoW算法,这些算法可以在毫秒内验证,同时需要大量内存才能有效地找到解决方案。

7.1 Memory hard PoW

记忆硬度重要的主要原因是使PoW的功能抵抗专门的硬件。比特币的挖掘算法只需要简单的SHA256计算,这催生了专门制造专用集成电路(asic)的公司,这些公司的唯一目的是计算数十亿SHA256哈希来挖掘比特币块。这些芯片没有合法应用程序之外的比特币采矿和密码破解,和这些芯片的存在,这是数千倍更有效的每一美元比通用CPU和千瓦时计算散列,使它不可能对普通用户提供通用的CPU和GPU硬件竞争。

这种特殊硬件的主导地位有以下几个不利影响:

  • -它否定了加密货币的民主分配方面。在一个通用的硬件主导的生态系统中,每个人都有一台计算机的事实保证了每个人都有平等的机会获得至少一部分初始货币供应。对于专业硬件,这一因素并不存在;每个参与者的挖掘潜力在他们的现有资本数量上是线性的(事实上,略微超线性的),潜在地加剧了现有的财富不平等

  • 增加资源浪费。在有效市场中,边际收入接近于边际成本。由于采矿收入的特点是,由于花费在采矿硬件和电力上的资金范围很广,这也意味着总收入接近总成本。因此,在一个专门的硬件主导的生态系统中,资源浪费的份额接近所有网络消耗的100%。

    因为每个人都在CPU和gpu主导的生态系统中拥有一台计算机,所以人们不需要购买专门的硬件来获得每秒数哈希值的挖掘能力。因此,收益与成本呈次线性关系——每个人都可以免费获得一定数量的收益。这意味着网络浪费的资源数量可能低于其安全参数。

  • 它将网络集中到少数参与者(即。(ASIC制造商)这使得51%的攻击更有可能,并有可能使网络面临监管压力。

专门的硬件制造商当然可以在他们的设备中添加tb级的内存,但有两个因素可以缓解这种影响。首先,爱好者可以通过简单地购买许多现成的存储卡来达到同样的效果。其次,内存的生产成本(如果以笔记本电脑为单位)要比SHA256哈希芯片昂贵得多,而普通电脑使用的RAM已经经过了优化。为了实现验证简单但需要大量内存来解决的目标,PoW在验证工作所需的内存数量方面必须是非对称的。因此,PoW的各个步骤必须是并行的,因为它们是验证步骤的基础。尽管并行步骤可以在不到一毫秒的时间内运行,但算法需要依赖于两个或多个并行步骤之间的关系的解决方案,从而从存储每个并行步骤的结果中获益,从而使内存变得困难。只需执行两个或三个并行步骤,并检查结果之间的关系,就可以快速验证结果。

7.2 How is the PoW in COTI better?

COTI使用PoW来保护垃圾邮件和激励网络参与者(节点运营商),类似于Hashcash中使用的PoW。这是一个简短的计算操作,不应该与比特币等基于矿工的账本中使用的昂贵的PoW混淆。COTI协议中的PoW并不比比特币或任何其他采矿PoW更好或更坏,但服务于不同的目的。在比特币和以太坊协议中,PoW是定义真相的一种方式。这意味着,如果您比其他人更快地解析一个区块,那么该区块将在被同行验证后立即成为真理。在《COTI》中,PoW只是一种防止滥发信息的方法,也是平衡网络参与者动机的一种方法。找到一个合适的nonce(即做你的PoW)允许你将你的交易附加到DAG,但不能决定真相。考虑到这一关键区别,很明显比特币/以太坊PoW的难度必须远远大于COTI中的PoW,因为它拥有更大的权力。比特币和以太坊的PoW是共识的中心点。在《COTI》中,PoW只是一个对共识几乎没有影响的保护机制,除了更高难度的交易由Full node处理。

7.3 COTI (AlphaNet) PoW

加密货币的哈希历史始于比特币的SHA256、莱特币的Scrypt、以太坊的Ethash和Dash的X11,然后是X13、X15和X17。改变算法的原因是为了将专用硬件对硬币采矿生态系统的影响降到最低。比特币最初的目的是让世界各地的计算机挖掘比特币。随着比特币价值的增加,使用为并行处理设计的硬件进行挖掘变得更加有利,因此挖掘转移到了图形处理单元(gpu)。随着采矿的经济价值进一步增加,以现场可编程门阵列(fpga)的形式使用可编程硬件在经济上变得可行,它比cpu和gpu具有优势。下一步是建造专门为采矿设计的定制芯片。这些专用集成电路(asic)能够主导竞争技术,使其无法以任何其他方式进行挖掘。比特币挖矿的最后一次,也可能是最后一次,是转向更快、更节能的ASIC硬件。这种向ASIC硬件过渡的不幸副作用是挖掘集中化。虽然任何人都可以订购这些asic,但靠近制造工厂有一个优势,因为装运时间缩短了。此外,获得廉价的电力是优先事项,因为所使用的电力是采矿作业的可变成本。由于靠近专用集成电路的开发,并且在一些省份有廉价的电力供应,这导致了中国矿业的一些集中化。一个最小化ASIC矿工影响的解决方案是使用内存密集型散列算法。这就是莱特币使用的Scrypt和ZCash使用的Equihash的方法。这两种算法都减少了asic的影响。虽然Scrypt有一些ASIC矿工,但相对于gpu的优势是微不足道的。Equihash目前没有ASIC矿工。

另一种方法是使用一系列散列算法,其中一个算法的输出成为下一个算法的输入。Dash(原名DarkCoin)在其X11算法中采用了这种方法。X11使用了11个链散列算法,以努力阻止1移动到ASIC挖掘。这种方法在一段时间内奏效了,但现在有几家制造商为X11生产ASIC矿机。X11背后的概念可以扩展到其他算法。出于这个原因,一些硬币使用X13,一些X15,甚至X17,它链结了17种散列算法。哈希算法的固定顺序适合于asic的构造。虽然将更多的算法链接在一起增加了构建ASIC的难度,但X13、X15和X17都使用与X11相同的哈希算法排序。这可能会导致更快的asic制造这些算法,因为制造商只需要扩展他们现有的设计,以适应额外的散列算法。

COTI PoW算法试图通过不断打乱散列算法的顺序来解决这个问题。这些散列算法与X15 + SHA512中使用的经过验证的算法是相同的,但是顺序是根据前一个块的散列更改的。这种重新排序并没有使ASIC无法构建,但它确实要求ASIC适应额外的输入,这更容易由CPU或GPU完成。这种重新排序还防止了对当前X11 asic或未来X15 asic的简单扩展。COTI PoW散列算法由多个以链方式运行的散列算法组成,其排序依赖于前一个块的散列的最后16个字节。

Example: Block Hash: 0000000000000000007e8a29f052ac2870045ae3970270f97da00919b8e86287 The final 16 bytes: 0x000000007da11919b8e86287 Each hex digit (nibble) determines which algorithm to use next. cubehash → shabal → echo → blake → blake → simd → bmw → simd → hamsi → shavite → whirlpool → shavite → luffa → groestl → shavite → cubehash.

有些散列算法花费的时间比其他算法长。这个时间差在算法中趋于平均,可以用来调整接收半常量平均执行的时间。COTI PoW背后的概念可以扩展到包括Scrypt、Equihash和其他抗ASIC算法。算法的顺序可以很容易地针对每个基础设施进行更改,以阻止硬件制造商像X11那样为整个硬币类构建asic。因此,COTI PoW应该考虑每个算法的时间,并基于信任评分(TS) +难度级别(DL) +数量标准化范围分配一个哈希算法处理的连接。以TS为例,可能的范围如下:

7.4 The PoW Algorithm in a Nutshell
  1. 根据TS + DL + Amount,数值应归一化在0-100范围内。

  2. 从算法组中,我们应该选择并生成所有算法序列连接的散列。

  3. 组集中的每个算法只应被选择一次,直到所有算法都被使用并且达到时间阈值。

  4. 每个散列的执行是按顺序执行的,这意味着下一个散列依赖于前一个散列的结果。通过这种方式,在最小化执行时间的同时,阻塞了并行执行的可能性。

  5. 我们的想法是,从第一个算法开始,使用每个算法都需要找到自己的nonce来解决当前的标准化难度(TS和DL的一些数学组合)。nonce和有效散列将用作下一个算法的输入。这样,除了前面算法的哈希之外,还可以生成一组nonces作为输入,以验证一个完整的PoW循环。

  6. 下一个阶段是使用前面生成的散列作为下一个算法的输入/公钥。

  7. PoW验证应该是即时的。验证过程应该能够验证工作证明,这意味着所有算法都确实被执行了,并且正确地执行了。如果把每个算法的结果串联起来,就可以得到相同的结果。

通过使用提供的公钥验证算法签名,验证工作在每个块上。在循环[1-N]的情况下,对私钥和公钥运行验证。

8 Double spend prevention and DSP Consensus

9 The Clusterstamp

为了防止不断增长的集群在存储大小上变得难以管理,COTI实现了Clusterstamp,它包括两个阶段:

  1. 为每个帐户找到最后完全确认的交易(具有Trustchain共识和DSP共识)。“最后”交易是指没有完全确认的交易来确认它。这些事务然后成为下一代集群中的起源事务。

  2. 所有其他确认的事务都被排除在Full node保存的工作DAG之外。所有未确认的交易都保存在工作DAG中。

Clusterstamp过程是自动执行的。在创建和验证Clusterstamp之后,将其存储在COTI历史节点中。

历史节点将接收所有传播事务的副本和确认状态,因此,我们不需要在Clusterstamp期间复制任何事务数据。

Clusterstamp不适用于智能合约集群。

除了保持DAG作为数据结构运行之外,Clusterstamp对于COTI网络还有更多好处。Clusterstamp提供了一个有用的参考点和执行系统范围审计的机会,以确保不存在不一致或可能的欺诈。

图30: Clusterstamp流程捕获到灰色事务之前的所有信息。此后,下一代集群从灰色事务开始。

10 Performance Investigation

为了更好地理解COTI算法的性能特征,我们将提供一个数学框架来进行关于Cluster的推论,以及在一个简化的上下文中进行高级数学观察。然后,我们将提出一系列的实证调查,利用一个完整的模拟星团。

10.1 Mathematical framework

出于分析的目的,我们对集群和集群中发生的事务做了一些简化的假设。首先,我们假设所有节点运行Source Selection Algorithm和执行工作量证明需要固定的时间?t。其次,我们假设新的交易是根据固定利率λ的泊松过程到达的。我们还假设所有事务都是有效的,发送方是不同的。所有这些假设都不是真实世界的反映,但在局域时间和集群的部分可能是真实的,因此在分析时考虑这些假设是有用的。λ和?t参数将在下面的讨论中出现。

还有一些内部参数控制Cluster将如何操作。信任评分可以取从1到d的整数值,这是可能的最大信任评分。下面我们假设d = 100。当一个新的事务到达集群时,我们假设它的信任评分为i,(1≤i≤d),概率为PT S(i),其中PT S(1) + PT S(2) +…+ PT (d) = 1。这对应于假设每个信任评分的交易都是独立泊松过程到达的,其中信任评分i的过程具有λPT S(i)的速率。信任链算法中出现了一个额外的内部参数L。当从该事务到集群中源事务的最高信任路径的累积信任评分至少为Ld时,此参数确定是否确认该事务。

最后,源选择算法使一个新的事务能够附加到任何具有足够相似的信任评分的源,并由一个参数ρ控制。如果可用源集的大小为S,并根据与新事务的信任评分的差异进行排序,则第一个ρS以及具有相同信任评分的其他任何ρS必须可供选择。源选择算法还依赖于另一个参数R,它决定了一个事务与其批准的事务之间允许的最大绝对信任评分差。为了便于分析,我们假设R = d = 100。

这组参数(λ,?t, d, L, ρ, PT S(·))完全决定了该簇的简化模型。在x轴上的时间和y轴上的信任评分描述的二维空间中可视化集群的事务是有用的。DAG结构是通过从一个事务到它验证的两个先前事务构造一条有向边而形成的,它也可以在这个图上可视化。图31提供了这样一种可视化。事务的空间表示具有一些有用的属性。具体来说,时间是一个逆拓扑排序的图的构造,所以图的x轴提供了一个有效的顶点访问顺序。同样,如果交易有相似的信任值(y轴),交易更有可能被连接,特别是对于很小的ρ值。图31表明,随着ρ值的降低,在图上不同高度的事务之间的连通性就会降低。

10.2 Performance Analysis

基于dag的交易系统已经在没有信任评分(例如[13])的统一随机连接算法的假设下进行了分析。这些分析发现,一旦系统稳定下来,DAG中源事务的数量应该接近恒定值2λ?t。在我们的例子中,对于源的数量也可以得到类似的结果。

考虑这样一种情况,在某个时间点有S个源事务,让s作为当前的源之一,它将被到达的新事务选中。在新事务将选择发布到网络之前,它必须执行验证和工作量证明。这需要?t时间。在此期间,s仍然作为源事务对所有到达网络的新事务可见。平均来说,会有λ?t这样的交易。每个新交易只有在有足够接近的信任评分时才能附加到s上。假设新事务的信任评分分布与集群中的源的信任评分分布相同,新事务将有概率ρ被允许附加到s上,并且平均有ρS事务可供它连接。由于每个新事务都连接到两个源,我们可以计算事务选择s的概率为:

回想一下,s已经被下一个到达的新事务选中(因此已经有一个事务附加到它上),这意味着附加到s上的事务的预期数量是NA = 1 + 2λ?tS^-1。这是验证一个源事务所需的平均DAG边数。我们还知道,在成为源事务之前,每个新事务都会向DAG添加两条边。

因此,NA的数量决定了S将随着时间的推移而增长或收缩。如果NA>2,那么每个新事务平均删除不到一个源,S将增加。反之,如果NA <2,那么每个新事务平均删除一个以上的源,S将减少。然而,由于源数S在这个表达式的分母中,所以NA = 2是一个吸引子:如果S >2λ?t,则1 + 2λ?tS?^-1<2,源的数量会减少,如果S <2λ?t,则1 + 2λ?tS?1 >2,源的数量将会增加。因此,随着时间的推移,S必须接近固定点2λ?t。特别地,对于足够大的时间,S可以被假定为近似常数。

我们现在考虑t时刻有效的、未确认的交易的数量,我们用V表示。 我们将使用这样一个事实,即在足够长的时间之后,所有事务的预期入度为2,因为每个事务都是从源事务开始的,并且在稳定状态下的预期入度为2。

在固定时间,设 γ 为源事务集; V是一组验证(未确认)的交易; Vi是V中到 γ 的最长反向路径(在若干事务中)的顶点集合,精确地说是i 。我们观察到 每个路径长度大于Ld以来累积的信任分数大于Ld,所以任何顶点开始证实这样的路径,而不是V。

V1中任意顶点的父顶点都在S中。 进一步地,S中的每个顶点为DAG贡献了两个外边,并且通过上面的讨论,V1中的每个顶点平均消耗DAG中的2个顶点,因此我们发现E[|V1|]≤E[|S |] = 2λ?t。 同样的,V2中的顶点的父点也在V1∪S中,因此E[|V2|]≤4λ?t。 进行归纳,E[|Vi |]≤2iλ?t。 把所有这些加起来,我们发现:

这不是一个严格的界限,而是一个时间常数。因此,我们已经确定了V在经过一段足够长的时间后,以一个常数为界。

我们已经确定,经过足够长的时间后,源事务的数量S和已验证的、未确认的事务的数量V都近似为常数。因此,我们将注意力转向已确认事务的数量C。因为已经附加到集群的每个事务要么是源事务,要么是已确认(未确认)的事务,要么是已确认的事务,所以集群中附加事务的总数是S +V +C。取期望(E)变化率,我们得到:

因此,由于S和V在经过足够的时间后在期望中是常数,那么我们必须有d[E[C]] = λ。换句话说,新事务的确认率与事务的到达率相匹配。

经验调查证实这种情况确实存在,因为确认率在一段初始时间后与到达率相匹配(见图32)。

这为集群是可伸缩的提供了确凿的证据。COTI吞吐量的唯一理论上的限制是每秒到达的事务数。因为COTI的设计是为了吸引大量的商人和消费者,我们相信每秒到达的交易数量最终将超过1万笔。

10.3 Simulations

上一节建立了简化条件下Cluster的吞吐量特征。 为了研究 Cluster 的其他特征和分析更复杂的场景,我们使用了模拟。

为了便于进一步分析,我们建立了一个集群模拟器,并将在GitHub上提供。 虽然模拟器能够构建复杂的场景,但在本节中,我们将注意力限制在上述数学框架中概述的有限假设集上。

首先通过仿真验证了t→ct变换; ?t→c?t; λ→λ/c是一个对称的Cluster。 这本质上意味着,我们可以将时间单位从秒调整为“?t的倍数”,而不失一般性。 本次初步调查的一些图表见附录a。在我们剩余的分析中,我们设置?t = 1。

虽然前面的部分讨论了确认吞吐量,但它没有考虑事务等待的时间。 我们预计,确认时间将随着信任评分的增加而减少,并已被模拟结果确认。 (图33)。

Appendix A Simulation Results

实验1:

一个集群模拟器已经建立,并将在GitHub上提供。模拟器的主要目的是分析参数和算法的选择,并在沙盒中收集经验数据,以优化真实世界的集群性能。该模拟器可用于分析内部和外部参数对集群性能的影响。它附带了一组数据提取和可视化工具,这些工具支持快速场景分析。核心模拟器是用c++编写的,使用R中的分析组件。它能够在一台笔记本电脑上每秒模拟大约1000个事务,并在模拟中测试了多达500万个事务。

这里显示了一些选定的仿真结果,而那些与性能特性讨论相关的结果已经在本文档第10节中出现了。下面是在这里介绍的大多数模拟中使用的相关参数的摘要:

  1. ?t为一个节点运行Source Selection Algorithm和执行work proof的固定时间。

  2. λ是新到达的速率,假定它遵循泊松过程。

  3. K是在运行源选择算法和执行工作量证明所花费的时间内到达的新到达的数量。

  4. L是乘数,它决定了一个信任链必须超过的累积信任阈值才能被确认。需要确认的交易,信托链的累计信任量应超过100L。

  5. ρ是一个交易可以确认的信任评分阈值的宽度。这表示为新事务总数的一小部分。

图34:等待时间与信任评分的关系请注意,已确认的事务聚集在高信任和低确认时间的区域周围。(模拟,证明和显示高低信誉上链速度差异)

图35:这些图表明了在λ = 10之前的一个拐点。注意,确认延迟与验证延迟非常相似,除了信任漂移。(参数”λ 每秒新到达区块“速率对达成共识的影响模拟)

图36:注意在λ = 10之前的拐点。这似乎是通用的,可能与阻止DAG断开连接所需的λ值有关,如图31所示

图37:左边的图显示确认时间几乎不受阈值ρ的大小的影响。右图显示验证和确认时间的平均延迟与运行Source Selection Algorithm和做work - proof(?t)的时间成正比。

图38:这些图表明,平均确认延迟明显由参数k控制。这意味着只要新事务到达的速率足够高,一个复杂的工作量证明不会损害事务吞吐量。

图39:从图中可以看出,阈值ρ的大小对信任链上事务和确认之间的信任漂移有一定的影响。

Appendix B COTI’s Arbitration System

B.4.1 Arbitration Process

B.4.7 Incentive system

B.11 Fees

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-07-07 00:01:17  更:2021-07-07 00:01:42 
 
开发: 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年4日历 -2024/4/27 5:32:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码