作者|?boogerwooger
译者|?火火酱
出品|?区块链大本营
在开发自己的区块链之前,你要做哪些事情?
首先,要和团队讨论开发的原因,以及开发预算。必须要注意区块链架构及启动细节,当你低估了工作量和复杂性的时候,会很容易忽略这些细节。
为了避免这些错误,作者写下了这篇分步指南,重点介绍了如何启动区块链。
确定技术任务
区块链的主要作用是接受来自用户的事务交易,并以准确且不可否认的方式对其进行处理。每笔交易的结果都被记录在区块链网络中所有机器上的公共数据库中。如果参与者具有其初始状态的数据以及所有交易或区块的日志,则可以复制并复核此数据库。
有些交易花费的CPU时间非常短,但是它们可以一次性更改多个余额并将大量数据写入存储中。有些交易会加大处理器负荷以执行加密计算,这将导致存储中记录的值非常小。
在第一种情况下,硬盘和RAM的工作更多,而在第二种情况下,CPU的工作则更多一些。由于这些参数会极大地影响区块链服务器的成本,因此理解交易类型是技术设计的重要部分。
在交易之外,区块链场景也起着举足轻重的作用,例如,网络能够处理来自特定帐户的多少笔交易。这可能只是十几个帐户,但每个帐户都向网络发送大量的交易;或者可能是成千上万个仅进行一笔小交易的新账户。
FTX债务人已确定FTX存在55亿美元的流动资产:金色财经报道,FTX在一份声明中说,FTX的债务人已经确定了17亿美元的现金,35亿美元的加密货币资产和300万美元的证券。FTX在11月申请了破产保护,可能欠其前50名债权人31亿美元。FTX的高层管理人员和顾问周二会见了破产案中的无担保债权人委员会,就资产回收过程进行了介绍。这55亿美元的资产略高于FTX律师上周告诉破产法官的50亿美元。债务人还发现,FTX.com和FTX US都面临数字资产短缺。债务人已经确认了与FTX.com相关的16亿美元数字资产。其中3.23亿美元在申请破产保护后被未经授权的第三方转移,另外4.26亿美元由巴哈马监管机构保管。
与此同时,7.42亿美元在FTX债务人控制下的冷库中,1.21亿美元正在等待转移到债务人控制下的冷库中。[2023/1/18 11:17:28]
需要注意的是,用于游戏、金融技术应用程序或加密协议的网络在节点负载方面存在很大差异。
任何比“地址到地址”代币传输更复杂的逻辑都需要特定的代码。在区块链项目中,要选择一个能够执行这些代码的虚拟机。
选项1:专用虚拟机(VM)
实例:EVM、TVM
通常,专用VM的功能有限,只能执行其平台的智能合约。其具有高度安全性,产生的结果更具可预测性,并且能够计算用于交易处理的所有资源。
选项2:标准虚拟机
实例:EOS中的WebAssembly、ParitySubstrate
WebAssembly是一种用于创建客户端代码的web标准,它比JavaScript的效率更高。从理论上讲,WASM的智能合约可以用任何语言进行编写,但是低级语言更适合区块链,否则生成的代码将无法优化。
FTX Japan:已确定恢复提款的方案,工程团队已启动开发工作:金色财经报道,FTX Japan 发布公告表示,目前已确定了恢复提款的方案,并获得了新管理团队的通过,工程团队已启动计划的开发工作。
FTX Japan 表示,FTX Japan 上的客户存款不属于破产清算的资产之列。此外,对于客户存入的资产,法币存放在 SBI Clearing Trust Co., Ltd. 的信托账户中,加密资产将存储在运营团队管理的冷钱包中。未来将定期报告客户资产的管理情况。[2022/12/2 21:18:30]
WASM还能够跟踪执行所需的资源。由于具有更多的合约功能,WebAssembly的安全性比不上专用虚拟机。
选项3:本机代码交易处理
实例:HyperledgerFabric、Cosmos当处理交易的代码“嵌入”到节点中时,将使用本机代码处理。该选项的缺点是其安全性和交易处理的确定性较低;其优点是功能强大。
选择区块链的另一个标准是更新合约代码的方式。系统错误是不可避免的,而你又不得不添加并更改系统功能。在现代区块链中,这些任务可以通过多种方法来解决,例如下面的解决方案。
选项1:用户提供的智能合约
贝宝金融王立:不确定的世界政经环境中,比特币有非常高的确定性:贝宝金融联合创始人王立发朋友圈表示,在世界政经环境看似极大不确定性下,比特币为首的加密货币其实有非常高的确定性:1、如果FIAT放水凑效,利好Crypto,因为恐慌拐点过后所有资产都会涨(对FIAT),反而Crypto池子小,相对独立,流动性好,会涨得很快很多;2、如果这回放水挺不过去了(极小概率),凯恩斯主义失效,主权信用货币失效,主权违约......毫无疑问也利好BTC这一超主权货币,也就是中本聪创造比特币的初衷。[2020/3/18]
实例:Ethereum中的智能合约、EOS、TON、ParitySubstrate
TON:https://forklog.com/chto-takoe-ton/
任何用户都可以创建智能合约或者复杂的智能合约系统。可以在不与网络验证器交互的情况下部署和更新合约。
这是最灵活的方案。它能够构建任意复杂的合约系统,但由于合约代码可能会包含任何内容,因此需要更为复杂的节点操作逻辑。因此,区块链节点必须非常谨慎地执行这些代码,限制其时间、请求的数据和对共识的影响。
选项2:由验证器控制的运行时代码
实例:ParitySubstrate运行时代吗、CosmosApplication
该方案可以表示为处理所有类型交易的大型智能合约。验证器检查代码并为必要的更改进行投票,然后新的逻辑才开始运作。同时,开发人员可以从一组现成的模块中创建运行时代码。
修改处理交易的代码比较困难,但是不需要进行额外的安全检查。验证器必须检查更改,并且不能跳过易受攻击的代码,否则区块链将无法正常运行。
声音 | Joseph Young:监管的确定性等让投资者对加密货币更有信心:对于日前有调查显示,韩国40岁至50岁投资者在加密货币方面的平均投资额翻了一番,加密货币分析师Joseph Young在推特上发文表示,“就价格而言,加密货币自2018年以来没有太大变化,肯定不足以增强投资者的信心。或许正是加密货币在技术方面的进步,包括监管的确定性和基础设施的建设,让投资者对加密货币投资更加放心。”[2019/4/22]
与用户合约方案相比,此类“运行时”代码的开发人员可以获得更多的功能和资源。运行时模式对于平行链parachains来说尤为重要。
如果不了解交易的本质、虚拟机功能和智能合约逻辑的话,使用区块链的方式将会极为低效。例如,仅仅为了简单的操作就使用昂贵的软件,或者为解决小小的逻辑修正就对主节点代码进行危险的更新。
区块链限制
当运行自己的区块链时,需要评估客户的技术需求并了解其可行性。
需求之一是在客户端“执行”交易的时间。一个常见的错误是仅基于tps进行速度估计。
开发人员通常将tps作为“区块到区块时间”内的交易数量。例如,1000tps代表区块间的时间为1秒,而一个区块可能包含多达1000个交易。这并不意味着区块链处理每项交易的时间都在0.001秒内,因为交易处理时间取决于区块生产时间。
CFTC要求数字货币交易所提供交易数据以确定数字货币市场是否被操纵:据CCN报道,美国商品期货交易委员会(CFTC)已要求某些数字货币交易所提供交易数据,以确定是否操纵了数字货币市场。在芝加哥商品交易所集团(CME)于去年12月推出比特币期货后,监管机构展开了调查,期货的最终价值是基于Coinbase、Kraken、itBit和Bitstamp交易所的价格,这些市场的操纵可能会扭曲政府监管的比特币期货。[2018/6/10]
如果区块生产时间是3秒,那么一个交易的处理时间则可以达到3秒甚至6秒。只有通过从不同的帐户发送并行交易才能实现3000tps。
现代区块链的另一个重要限制是验证器的数量。在生成一个区块之后,验证器必须对其达成一致意见。区块生产时间取决于验证器以及需要交换的消息的数量。所有网络共识都需要至少1/2N+1个验证器的同意,2/3个N+1验证器的同意才能保证完全安全。这些都是基本的,可以保证网络对参与者恶意行为的容忍性。
如果你计划推出一个区块链,那么就不要期望能对客户和数百万验证器实现实时回复。这只有在成熟的量子通信技术和加密计算出现之后才能实现。
测试网和支持
假设你已经选择了一个区块链并准备启动。下一步要做什么呢?
步骤1:选择实施方案并评估费用
首先,必须要选择特定的技术,评估项目实施的风险和人工成本,并考虑某些解决方案的局限性。该解决方案可能已经在实际环境中进行过测试了,也可能还处于开发过程中。
如果你要推出自己的解决方案,那就要分析最接近的类似方案。这样可以帮助你节省时间,并从其他团队的经验中获益。
步骤2:大量测试
网络测试意味着使用最接近实际的验证器数量来检查区块链性能。如果区块链有100个验证器,则需要确保网络能够在负载下正常工作。
测试涉及用于自动部署包含多个验证器的网络的基础设施,这将在以后的阶段中非常有用。
如果不进行测试,就会有在网络共识中存在错误或漏洞的风险,尤其是当算法并不是众所周知的时。在已经运行的网络中收集问题相关信息则会造成不必要的麻烦。
步骤3:测试网
测试网能帮助团队和用户在主网之前试用解决方案。测试网中应该包含所有的主网功能,并且客户端应用程序应该支持这两个网络。由于智能合约的准确性,因此可以以99%的准确率和真实用户的实际余额进行产品测试。在测试网期间,你可以分发代币,检查验证器如何启动其节点,与活跃用户进行首次交易,然后在主网中应用测试结果。
有些软件需要在测试网启动后立即获得支持。在测试网络中启动这些服务时获得的信息将有助于主网的顺利运行。
这个阶段会展示团队工作的质量——软件的稳定性,文档的编写水平,潜在的验证器能够多快地部署所需软件,等等。
步骤4:选择验证器
通常都是由独立公司来充当网络验证器的角色,因此几乎不可能将它们聚集在一起并同步执行。所有程序都应考虑到验证器的地域分布和经验水平,允许验证器采取任意顺序的操作。
选择验证器的最流行的方法是以DPoS算法为基础。代币持有者们使用其余额为验证器投票。获得多数代币投票的顶级验证器有权生成区块。在权威证明proof-of-authority网络和公司区块链中,用其他验证器的投票来代替代币余额。
在启动主网之前,你需要创建验证器初始列表,并决定何时开始全面生产区块。从技术层面来讲,你的团队可以立即在初始网络区块中注册所有的验证器,也可以先运行自己的验证器,然后逐渐将其替换为新的验证器。
步骤5:主网
主网启动应该包括主动监控。所有验证器的信息最好都能出现在同一项服务中——这样你的团队就能够更积极地响应网络问题。
区块资源管理器出现了新要求——主要外部网络服务。因为交易信息对项目团队和用户来说非常重要,所以在出现故障时,它应该能自动切换到备份服务器。如果资源管理器存储着用户信息(例如,Etherscan中的合约代码验证),可能也会需要备份副本。
桥梁——允许你将代币从一个区块链转移到另一个区块链的软件——在支持方面也可能是变化无常的。实际用户的余额取决于桥梁的工作,因此需要特别注意其安全性。
步骤6:代码更新和支持
团队的工作并不会随着主网的发布而停止。代码库也在改变并积累重要的bug修复和优化。这些更改必须包括在项目中,并且必须及时更新区块链节点代码。
在这个阶段,开发的文档和步骤是非常重要的。在代码更新期间不能有任何失败,否则验证器会损失金钱、时间和声誉。在主网期间,验证器池可能会发生显著变化。如果支持不足或文档不完善,可能会导致网络问题。
总结
在已经成功的解决方案的基础上发布区块链并没有太大的风险。通常,问题具有经济或组织性质,这与节点的内部代码无关。
建立在公共网络基础上的解决方案是非常可靠的软件,可以被无限提供给互联网用户。中心化的金融系统不具有这种特性:如果没有注册、登录-密码对和监控,则无法建立具有关键开源信息的银行API或数据库。
虽然区块链的开发和启动是非常昂贵的,但其运行可能会给参与者们带来惊喜,因为它具有极强的安全性、自动调节能力和网络能力,能够在困难条件下保持交易的准确性和稳定性。
原文:https://hackernoon.com/how-to-launch-your-own-blockchain-scope-of-work-and-design-part-i-613o32ze
标签:区块链FTX加密货币TPS区块链存证证件具有更高的信任等级LONDON Vault (NFTX)加密货币交易所https://etherscan.io
来源:人民网 2020年突如其来的一场新冠肺炎疫情,给传统产业带来冲击的同时,也为数字经济新业态的发展创造了有利条件,引发了人们对数字货币的普遍关注。日前,一张央行数字货币在农行账户内测的照片在网络上流传开.
1900/1/1 0:00:00加密货币投资者和交易者已经开始入席,等待着定于5月中旬发生的备受期待的比特币减半。 自从2009年比特币问世以来,减半事件大约每四年发生一次。在减半发生之后,区块奖励减少了一半,从而限制了比特币的供应.
1900/1/1 0:00:004月27日,以太坊开发者AfriSchoedon(/img/20230515230834077828/0.jpg "/>据Schlesi?的?GitHub文档显示.
1900/1/1 0:00:00理想主义者、大枭、暗网始祖、天才程序员、恐惧海盗罗伯茨(DreadPirateRoberts)......这些都是暗网丝绸之路创始人罗斯·乌布利希(RossUlbricht)的人生标签.
1900/1/1 0:00:00对于一些用户来说,以太坊域名是非常有价值的,这一点已经在现实中有所体现。本周,RocketLPDAO发放了1000美元的贷款,抵押品就是以太坊域名服务地址“brantly.eth”.
1900/1/1 0:00:00在保管比特币、以太币等区块链资产时,我们会遇到该使用什么钱包的问题,而常用的有手机钱包、硬件钱包、纸钱包、脑钱包、在线钱包等,对于多数人来说,硬件钱包可能会是最好的选择,但在一些特殊情况下,硬件钱包也会出现问题,并导致用户丢失资产.
1900/1/1 0:00:00