美文网首页探链社简书三体组织优享观光团
优得学院第八课: Ulord原链及技术优势(上)

优得学院第八课: Ulord原链及技术优势(上)

作者: 币布斯 | 来源:发表于2018-11-25 09:32 被阅读19次

    本次课程分为三个内容:

    一、主节点系统

    二、投票系统

    三、预算系统

    为了满足互联网数据分发的要求,Ulord原链引入了主节点系统,将整个主节点网络构造为点对点的文件分发网络,提供海量云存储资源,和全球统一的可寻址空间存储资源,考虑Ulord的可持续发展,引入了投票系统和预算系统。

    投票系统不仅能对应用层的多种应用进行智能评判,也能辅助预算系统,资助更多的开发者投入Ulord开发,让整个Ulord生态发展处于在一个良性的循环,承载更多的应用,在其他实现上,Ulord的网络能和智能合约兼容,能让以太坊上的应用移植到Ulord网络上。Ulord采用工作量证明和存储量证明混合挖矿机制,确保区块网络的发展不被算力劫持。

    一、主节点系统

    我们先来看第一个内容——全节点。

    全节点指维持包含全部交易信息的完整区块链的节点,更加准确的说这样的节点应该被称为完整区块链节点,在比特币发展早期,所有的节点都是全节点,当前的比特币核心客户端也是完整的全节点。但在过去的两年中,出现了许多新型的客户端,他们不需要维持完整的区块链,而是作为轻量极的客户端运行。

    完整的区块链节点保有完整的最新的包含全部交易信息的比特币区块链拷贝,这样的节点可以独立的进行建立并校验区块链,从第一个区块一直建立到网络中最新的区块,完整的区块链节点可以独立自主的校验任何交易信息,而不需要借助任何其他节点或其他信息来源,完整的区块链节点通过比特币网络获取包含交易信息的新区快更新。

    在验证无误后,将此更新合并至本地的区块链拷贝中,运行完整节点可以给您一种纯粹的比特币体验,不需借助或信任其他系统,即可独立的对所有交易信息进行验证,然而,维持全节点的正常运行需要消耗大量的网络资源,如存储空间和网络流量等。

    据统计,比特币网络上的全节点数呈现出逐渐下降的趋势,使区块广播的时间需要额外增加40多秒,社区提出了许多解决方案,如引入微软研究的新奖励计划,或者bitnose激励计划等等,尝试增加节点数目,但都没有得到一个好的解决。

    下面看一下SPV节点,也就是简易支付验证节点,并非所有的节点都有能力存储完整的区块链,许多比特币的客户端被设计成运行到空间和公寓受限的设备上,如智能电话,平板电脑等,对于这样的设备,通过简化的支付验证等方式可以在他们不必存储完整区块链的情况下进行工作,这种类型的客户端被称为SPV客户端,或者说轻量级客户端。

    随着比特币的使用热潮,SPV节点逐渐变为了比特币的节点所采用的最常见的一种形式,SPV节点只需下载区块头,而不用下载包含在每个区块中的交易信息,由此产生的不含交易信息的区块链,大小只是完整区块链的千分之一。

    SPV节点不能够构建所有可用于消费的UTXO的全貌,这是由于他们并不知道网络上所有交易的完整信息,SPV节点验证交易时所使用的方法也略有不同,这个方法需要依赖对等节点的按需提供的区块链相关的分布式图。

    打个比方说,每个全节点就像在陌生城市里的游客,他带着一张包含每个街道,每个地址的详细地图,相比之下,SPV节点就像是证明陌生城市里的游客,只知道一条主干道的名字,通过随机询问该城市的陌生人来获取分段道路的指标。虽然两种游客都可以通过实地考察来验证一条街道是否存在。

    但没有地图的游客不知道每个小巷中有哪些街道,也不知道附近有哪些什么其他街道,没有地图的游客,在教堂23号的前面,不知道这个城市里面是否还有其他的有着同样名字的地点,也不知道前面这个是否是要找的那一个。

    对他来说,最好的方式是向足够多的人去询问,并且希望其中每一个人都不是要试图抢劫他,检验支付验证是通过参考交易在区块链中的深度而不是高度来验证他们,一个拥有完整去垮了的节点去构造一个验证链,这条链是沿着区块链按照时间倒叙一直追溯到创世区块的数千区块交易组成。

    而一个SPV节点,会验证所有区块的链,但不是所有的交易,并且把区块链和有关交易链接起来,例如一个全节点要检查三十万号区块中的某个交易,它会把从该区块开始一直回溯到创世区块的三十万个区块全部连接起来,并建立一个完整的UTXO数据库,通过确认该UTXO是否还未被支付验证交易的有效性,SPV节点则不能验证UTXO是否还未被支付。

    相反的,SPV节点会在该交易信息,和它所在的区块之间用默克尔路径,(这个我们前面已经学习过的,如果不懂可以回头看看视频)它建立一条路径,SPV节点一直等待,直到序号从三十万零一到三十万零六的六个区块堆叠在该交易所在的区块之上,并通过确立交易的深度是在第三十万零六块区块至第三十万零一的区块下,来验证交易的有效性。

    事实上,如果网络中的其他节点,都接受了第三十万区块,并通过足够的工作在该区块之上又生成了六个区块,根据代理网管的协议,就可以证明该交易不是双重支付,如果一个交易实际上不存在,spv节点不会误认为该交易存在于某个区块中,SPV节点会通过请求默克尔路径证明以及验证区块链中的工作量证明来证实交易的存在性。

    可是一个交易的存在是可能对SPV节点隐藏的,SPV节点毫无疑问可以证实某个交易的存在性,但不能验证某个交易不存在,这是因为SPV节点没有一份关于所有交易的记录。这个漏洞很有可能会被针对SPV节点的拒绝服务攻击或双重支付型攻击所利用,为了防范这些攻击,SPV节点需要随机连接到多个节点,以增加至少连接到一个可靠节点的连接概率。

    这种随机连接的需求意味着SPV节点容易受到网络分区攻击或者女巫攻击,在后一种情况中,SPV节点被连到虚假节点或虚假网络中,没有通向可靠节点或真正的比特币网络的连接,在绝大多数的实际情况中,具有良好连接的SPV节点也是足够安全的,它在资源,需求,实用性和安全性之间维持恰当的平衡,当然,如果要保证万无一失的安全性,最可靠的方法还是运行完整的区块链节点。

    下面我们来看一看主节点的概念,主节点是全节点,但不同的是主节点必须对全网提供一定的服务,并需要一定量的押金才能加入,这里我们先以达世的主节点系统为例进行介绍:

    比特币网络全节点的锐减的主要原因是缺乏对运行全节点的一个奖励,随着时间的推移,全网用户会更多,对带宽的需求更高,对节点运行的资金需求也更多,结果使运行全节点的成本提高,考虑成本的上升,节点运行者必须要降低他们运行成本或者运行轻客户端,但这样完全不利于网络健康。

    为了维持区块链骨干网络的健康稳定,达世币提出了分级网络的解决方案,通过引入主节点系统,组成稳定的骨干网络,解决通信延迟大的问题,达世币底层是比特币,正如比特币网络一样,主节点是全节点,但是同时还要对全网提供一定的服务,必须要一定量的押金,押金不会丢失,在主节点运行时是安全的,这可让投资者提供服务的同时赚取一定的收益,减少价格的波动性。

    达世币是一种以隐蔽性为中心的很受欢迎的加密数字货币,使用类似于比特币一样的工作量证明机制,然而挖矿只是整个生态系统中,让用户赚钱的一个部分,不是每个人都能为网络做出像矿工一样的贡献,这就是为什么主节点被运用的原因,将主节点看做始终保持运作的特殊服务器。

    达世币节点很稳定且分散,就像比特币节点操作的方式一样,但是达世币主节点和比特币主节点也有一个主要的区别,达世币主节点负责dasking的匿名化部分,用户可以通过选择使用此功能,直接从达世币钱包匿名发生交易,网络上的每个主节点都可以提供这种匿名服务,确保没有集中攻击或取消的团体。

    此外主节点确保所有交易实时验证,保证了交易的高效性,主节点在网络中分担了原来在比特币网络中,矿工交易验证部分的工作,通过这种工作的分离,达世币完成了非常快的交易反馈,基本可以实现妙极确认,同时也就保证了交易处理能力,然而与比特币主节点不同的是达世币主节点的所有者通过提供这些无价的服务可获得经济的补偿。

    下面看看达世币主节点网络上上的劣势:

    目前看来达世的主节点系统在设计和实现上,仍然存在很多不足。

    首先根据达世的设计规则,全系统发行总量大概为1700万个,目前已经发行的达世币,数目约为800万个,而主节点数目大概维持在4800个左右,由于每个主节点都需要有一千个达世币作为担保,由此推断大约接近500万个达世币锁定在主节点上。市面上流通的达世币数目不足300万个,这显然和比特币最初的设计理论相违背,无法保证市场上有足够多的达世币流通。

    其次在设计主节点的时候,没有做任何的甄别,没有充分考虑服务的质量,主节点的服务质量也参差不齐,导致网络通信没有达到预期效果。

    最后,只有具备一定的计算机知识,才有可能搭建主节点,并不是所有人具备这样的基础,往往委托第三方来搭建主节点会带来资产上的风险,让更多的人参与到主节点的维护是非常必要的。

    所以Ulord团队在深刻分析了达世网络的弊端之后,在它的基础上面进行了一系列的改进,Ulord考虑不同的应用场景,对主节点系统进行了进一步的优化,具体包括以下三个部分:

    首先引入主节点候选机制,增强网络服务质量。

    Ulord为了鼓励用户加入主节点建设,将整个网络25%的收益分给主节点持有者,同时引入QoS考核机制,来用优胜劣汰的原则,淘汰一些不满足要求的主节点,确保主节点用户必须持续投入和维护才能保证节点的状态完好。

    QoS考核机制,主要从以下几个部分考虑,第一个是数据的掉宝率,第二个是网络的通信延迟,第三个是数据的同传次数。从三个指标来考虑主节点的服务质量,其次是引入PoS机制,提供IPFS服务,为了满足Ulord互联网内容分发机制,需要搭建大量节点承载互联网数据,提供更优质的视频流和数据流服务。

    在Ulord网络中,将从两个层面保证高质量的网络存储服务,首先要想成为主节点需要提供1TB的硬盘存储空间作为资质但保,Ulord可通过分布式技术将这些主节点组成一个海量的存储资源池。

    其次,为了确认每个主节点确实存储了数据,引入pos机制。

    该机制通过数据持有性证明和数据可恢复性证明,随机对主节点数据进行完整性验证,确保主节点能稳定的提供数据存储服务,主节点考虑因素有,比如存储容量,存储价值,存储iops等等。

    最后一个方面,更通用的主节点平台。

    将为主节点用户提供更好的用户体验,同时也为系统自身带来更优质的网络存储和服务器,为了吸引更多的投资者参与主节点网络的建设,我们将开发跨平台的主节点客户端软件,包括windows,Linux,os以及安卓等多个主流系统。

    二、投票系统

    投票系统在Ulord上有两个作用,一是对开发者提出的预案进行评估,促进社区对Ulord的贡献,二是对Ulord上的资源和站点进行审查,维护Ulord生态健康有序发展。

    如果有开发者为Ulord贡献解决方案或代码,可以得到系统奖励,判断是否对开发者贡献进行奖励或者奖励多少由社区投票决定,另外,Ulord允许用户发布属于自己的站点,但有可能带的问题是大量的应用发布会让整个生态变得无序,难以治理。

    为了净化网络环境,让Ulord的生态健康发展,引入共识评判机制,对Ulord网络进行智能维护,用户在Ulord上发布的资源,都有唯一的哈希值。所有的主节点都可对Ulord上用户发布的站点资源进行投票表决,表明自己的立场。

    当一定时间内,反对的票数超过某一阈值时,网络会自动禁止资源的传播,并给出时间让发布者整改,若规定时间内,资源没有整改,网络将使资源不可访问,这是我们对投票系统的简单介绍。

    三、预算系统

    为了促进Ulord生态的健康发展,Ulord预留了10%的收益给整个社区的开发者,Ulord给开发社区提供统一的提案入口,社区的开发者可以通过该入口提交对Ulord的改进提案,提交后的提案会广播到全网络,并以消息的形式推送给用户。

    Ulord所有的用户都有投票权,当一个提案支持的数目超过一定阈值时,提案将获得通过,之后提交提案的开发者将开始接受预算系统的支持,同一个提案,用户需要进行两次表决,第一次表决后,开发团队将接收预算的支持,但只会给予开发者50%的预算,直到开发者完成开发后,发起第二次表决,用户才有可能收到剩下的50%的预算支持。

    在具体实现上,每隔17000个区块,就会自动生成一个超级块,通过该块资助社区的开发者,超级块的coinbase币的数目是前一超级块和当前超级块之间的区块,扣取10%收益后的总和。

    然后交易输出,是通过预案的预算地址,若当前的超级块没有预案,资金会自动存储在资金池之中,用于后续预案预算的支持。

    回顾和反思

    本次课程我们简单介绍了Ulord的三个重要部分,第一个是主节点系统,通过引入主节点系统,激励网络节点参与网络的建设,提供一些基本的服务。

    通过投票系统,主要是对开发者的预案进行评估,对Ulord网络上的资源和占领进行一个审查,最后的这个预算系统,主要是为了对社区开发者提供一个预算的支持。今天的课就到这里,谢谢大家。

    更多课程,请扫码下载优享

    相关文章

      网友评论

      本文标题:优得学院第八课: Ulord原链及技术优势(上)

      本文链接:https://www.haomeiwen.com/subject/zkzeqqtx.html