在开发自己的区块链之前,您的团队必须清楚地了解区块链的用途以及可以为其内容分配的预算。 区块链的设计和发布都有自己的细微差别。如果您错误地估计了任务的数量和复杂性,在计划时很容易错过它们。 为了帮助项目避免此类错误,MixBytes研究部门负责人Sergey Prilutsky编写了有关如何启动区块链的分步指南。 在某些区块链中,验证器是预定义的,在其他节点中,独立的人和公司可以拥有。本文将帮助您为项目选择正确的验证器。 通常,新项目期望提供高质量的文档和支持,因此,任何新手都可以通过阅读Github上的README说明来成为验证者。这有利于分散化,但不利于运行稳定且高质量的网络。三个专业人士比一百个新手要好,他们花时间开发或中途退出。随着时间的推移,该项目肯定会发展到任何人都可以轻松启动该节点并成为验证者的地步。 在此阶段,找到好的验证者尤为重要。好的验证者应该: 能够组装和运行项目的节点; 能够评估节点上的负载,识别性能问题并通知开发人员; 能够从攻击中关闭节点,将其从冲击中移除,然后重新开始; 有自动监控工具来解决问题24/7; 及时介入网络管理问题,及时排除恶意验证者; 修复错误时快速更新代码; 在出现典型问题时,要有现成的行动方案。对节点的支持类似于对高负载服务服务器的支持,这些服务使用负载测试和渗透测试进行检查。但是有一些细微差别:要求对验证者的地址和余额进行持续监控,自动参与投票等。 要成功启动网络,您将需要数十名经验丰富的开发人员或才华横溢的初学者,他们可以独立启动节点并在出现代码问题或外部攻击时为他们提供支持。 为此,我们从Cosmos项目中学到了一个好主意:在潜在的验证者之间进行竞赛,对所有上述技能进行测试。 验证者的博弈继承了这一原理。验证者之间相互竞争,以确定谁将能够为网络提供更好的服务,谁的节点更稳定,谁的攻击能力更强,谁对更新代码的需求做出更快的响应等。 在集中式世界中,这种方法没有类似之处。 (想象一下,一群独立的银行在启动支付系统之前相互竞争,确定谁将能够向客户支付更多款项,并且在发生攻击时不会崩溃。) 区块链可以将其代币用作获奖验证者的奖励。比赛中获得的代币可以转移到主网络,或者项目团队可以向获胜者保证在主网络的验证者中占有一席之地。 第二种方法是放弃任何集中式指标,仅使用可在区块链上检查的内容。这种方法具有巨大的优势-任何人都可以检查验证者游戏的结果,但是很难挑战这些结果。 在这种情况下,最可靠的指标之一是每个验证器产生的块数。间接地,该指标反映了验证器的正常运行时间(无法离线生成区块),交易数量(生成了更多区块,处理了更多交易),甚至是奖励(生成的区块数量最多)。几乎所有PoS或PoA区块链中经过验证的块数都是验证者可以竞争的极好的指标。在发生攻击,代码问题,交易引起的网络负载的情况下,大多数操作验证程序将能够生成和处理大量块。 对于验证程序,您可以使用经济参数。例如,在初始余额相等的情况下,获胜者可以通过游戏过程中获得的代币数量来确定。如果在区块链上,验证者从交易中赚取佣金,或者还有其他产生利润的机制(例如,推荐系统),则可将其用于“包装”代币。另一方面,向自己发送交易并从中赚钱的验证者会自动加载整个网络,并迫使其他人验证其交易。验证者可以独立“攻击”网络,即在极端模式下测试,这非常有用。 不要忘记,在共识算法中,部分验证块(或全部验证块)立即由一组验证者验证并签名。此外,严重的金钱可能危在旦夕。例如,验证器可以更正代码,以便节点跳过部分检查并无条件接受事务。因此,它将在速度上获得优于其他验证器的优势,并释放资源。如果网络只有“良好”的交易,您可能不会注意到这种欺诈行为。因此,在游戏过程中,也有必要向网络加载无效的交易,以便回滚具有不诚实验证者遗漏的区块的链。 对于PoW网络,拥有最大数量的任何质量的矿工非常重要,因为它们仅帮助池中收集块哈希。在权益证明和权限证明中,它们负责块中数据的安全性,它们的责任要高得多,并且禁用是一个问题。 如果有数百个人想要在您的项目的聊天中启动其节点,那么您将必须组织大量的支持,花时间在新来者的问题上,最重要的是,在网络上投票给他们并为他们提供余额代币。同时,只有几十个验证器将能够有效地工作,其余的验证器将不断出现,从而失去了进入榜首的希望。 仔细选择验证者,尝试吸引优秀的团队,并依靠质量而不是数量。您还可以预先准备文档,说明,监视工具,并自动执行下注和投票操作,以便团队可以在验证者游戏期间处理交易和代码,而不必花费时间在支持上。 当然,没有规则没有例外。我们面临着这样的情况:一对训练有素的家伙与著名的验证者平等竞争,帮助其他参与者并最终在Mainnet上获得一席之地。 对于游戏场景,您需要确定功能并将其提前描述给验证者。同时,如上所述,请不要忘记“惰性验证器”的问题。即使您的脚本听起来很诱人,但这也不意味着验证程序将处于活动状态。通常,它们更接近“工作-请勿触摸”的范式。他们不会主动攻击其他验证器,优化节点并密切监视游戏,而只是尝试支持服务器。 请记住,对于游戏验证者来说,这是数千美元,数百小时的经验丰富的开发人员,强大的服务器,新软件研究以及24/7支持。没有认真的奖励,任何公司都不会投入大量的资源,因此应该清醒地评估验证者的动机。 以下是游戏的一些可能阶段: 1.随机交易造成的网络负载 验证者必须经常忙于处理各种事务。为此,控制令牌的项目团队将创建多个帐户,并在竞争对手之间平均分配负载。 DPoS网络中还有一种更灵活的策略。网络托管一个赠与者合约(也称为水龙头),该合约为每一个验证者每单位时间提供固定数量的令牌。验证者可以持续访问此合同(创建交易),并使用接收到的令牌在验证者顶部前进。否则,一段时间后,它将由更活跃的参与者代替。这种方法鼓励验证者不断形成新交易,同时加载和测试网络。 2.网络负载和无效交易 如上所述,不诚实的验证程序可以关闭事务的数字签名验证并节省CPU资源,以便更好地承受大量事务。将无效交易发送到网络很有意义-然后将诚实筛选出不诚实验证者签名的区块。仅当您确实有大量金钱或影响力时,尝试以这种方式捕获欺骗者才是值得的。 3.对验证者的DoS攻击 在这种情况下,游戏将是最完整的,验证者将面临最严重的问题-他们将不得不从攻击中撤回其计算机,更改IP地址,迅速切断攻击流量等。与事务负载一样,最好是验证器自己互相攻击,以在产生的块数量上获得优势。但是为此,开发人员将不得不成为攻击者一段时间,并使用该软件进行攻击。此外,富裕的参与者可以使用购买的云功能并影响游戏进程。 在此阶段,一个好的策略是由项目团队的验证者进行统一攻击。请记住,提供者可以检测到此类行为,并且出于测试目的,您可能需要攻击事实的书面证明。 4.代码更新 更新节点代码是任何验证程序都应该能够执行的常规任务,因为它将在主网络中遇到。这些过程可能非常简单,也可能非常复杂(例如,如果需要从头开始重播链)。 最佳选择-如果错误不允许产生新的程序段,则进行更正-可以恢复此功能。在这种情况下,那些能够更快更新(并可能使用创世块重建链)的验证器将能够更快地返回到块生产,并在游戏中获得优势。 5.其他情况 游戏中可以包含许多场景。项目团队可以为对网络有用的操作增加奖励:发布用于监视和管理节点的代码,治理协议中的活动等。一切仅受您的想象力限制。 但是,请记住“惰性验证器”。如果奖励措施需要复杂的交互作用或开发专用工具,则验证者不太可能这样做。 阅读有关ForkLog的系列中的先前文章: 如何启动区块链:任务和架构。 如何启动区块链:选择共识算法。 如何启动区块链:选择一个引擎。 如何启动您的区块链:我们提高测试网络并评估性能。订阅Forklog YouTube频道! —- 原文链接:https://forklog.com/kak-zapustit-svoj-blokchejn-provodim-igru-validatorov/ 原文作者:Alex Kondratyuk 编译者/作者:wanbizu AI 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
如何启动您的区块链:我们进行验证游戏
2020-06-02 wanbizu AI 来源:区块链网络
LOADING...
相关阅读:
- 从青少年梦到$ 38B区块链2020-08-01
- Dogechain API用于加密劫持2020-08-01
- 美国CVM希望监控Binance2020-08-01
- 为什么此DeFi交换是以太坊ERC-20代币的单程票?2020-08-01
- 区块链咬人:美元的下跌,以太的赚钱者和Coinbase的考虑2020-08-01