ICPunks是Dfinity上第一个Cyptopunks风格创建的ICNFT项目,ICPunks上的NFT是引入ERC-721进行铸造的,该项目一共铸造10000个不同特征免费供于社区索取链上小丑,该项目10000个NFT的索取过程分为4个时间线:北京时间9月2日凌晨0点,北京时间凌晨2点,北京时间凌晨3点,北京时间凌晨4点,前三个时间线皆是白名单索取,凌晨4点时间线为普通参与者索取,在4点时间线时有大部分用户到点之后几乎大部分参与者无法索取NFT,本期文章带各位小伙探讨ICPunks无法索取的根本原因?
我们回忆一下当时UTC时间20:00当时在ICPunks官网无法索取的两个问题:第一个是ICPunks前端没有加载出Chaim功能无无法索取,第二个是Chaim按钮出现后大部分人Chaim不了NFT。
Bitfarms:5月产出459枚BTC,售出414枚BTC:6月2日消息,比特币矿企 Bitfarms 在 5 月份总计出售 414 枚 BTC,占到其 5 月份 459 枚 BTC 总开采量的 90.19%。通过出售比特币资产 Bitfarms 获得了 1130 万美元收益并减少了 180 万美元债务。当前 Bitfarms 储备库内比特币总量达到 510 枚,年初至今比特币产量为 2,135 枚。[2023/6/2 11:54:00]
以下部分资料由开发者论坛的队员提供,注意:以下均是个人分析,ICPunks官方解释出来可能会有变更:
我们在Plug钱包中查看交互过的Dapp查看到ICpunksDapp由两个部署在ID为Pjljw的公共子网上的Canisters组成,通过IC.Rocks区块浏览器可以查看到该Canisters的分布详情。由此可见ICPunks的Canisters均部署在ID为Pjijw的子网上。
qcg3w-tyaaa-aaaah-qakea-cai
Genesis正在与投行Moelis合作考虑申请第11章破产保护:1月6日消息,Genesis Global Markets正在与投资银行Moelis & Company合作,寻求解决其财务困境的潜在方案,并考虑根据破产法第11章申请破产保护。
公司发言人表示,Genesis正在与其Moelis & Co.的重组顾问密切合作,“以保护客户资产并推动业务发展”
据悉,此前11月,Genesis Global Capital宣布已聘请投资银行Moelis&Company探索包括破产在内的选项,报告称,尚未做出任何最终决定,该公司仍有可能避免申请破产保护。[2023/1/6 10:25:00]
3hdbp-uiaaa-aaaah-qau4q-cai
回到在开发者论坛队员提供的资料显示在UTC时间2021-09-0116:00时第一波增加流量开始访问pjijw子网,该时间是ICPunks第一波白名单索取NFT的用户,在下图边界节点发送的HTTP请求显示在UTC时间16:00至19:00发送的HTTP请求只增不减,逐渐增长的流量发送的HTTP请求开始达到边界节点配置的速率限制,所以边界节点开始限制对子网上容器的消息请求,这不仅对ICPunks部署的容器造成了影响,也对pjijw子网上的其他容器造成影响,这就意味着边界节点开始限制用户发起的HTTP消息请求。
FTX整合Reddit社群积分币,未来可直接在FTX Pay交易和支付:8月9日消息,FTX宣布将Reddit社群积分币整合至FTX Pay,未来包括美国、澳洲、欧盟和其他全球的 Reddit 用戶都可以在FTX Pay中交易和支付Reddit社群积分币。
Reddit社群积分币可在特定讨论版(subreddit)使用,用户可根据社群的贡献程度,例如发文和评论等获得积分币。积分币可用于解锁徽章、贴图、GIF 图片等社群专属功能,针对议题投票、炫耀积分(积分会在头像旁显示)等。[2022/8/9 12:13:35]
边界节点发起的HTTP请求
WazirX CEO:Binance运营WazirX的加密货币对并处理加密货币提款:金色财经报道,WazirX首席执行官Nischal Shetty在社交媒体上称,关于WazirX和Binance的事实是:WazirX被Binance收购,Zanmai Labs是一个印度实体,由我和我的联合创始人拥有。Zanmai Labs获得了Binance的许可,可以在WazirX中运营印度卢比和加密货币的交易对。Binance运营加密货币对,处理加密货币提款。你可以通过访问WazirX的TOS来检查这一事实。
此外,Binance拥有WazirX域名、Binance拥有AWS服务器的根访问权、Binance拥有所有的加密货币资产、Binance拥有所有的加密货币利润,不要混淆Zanmai和WazirX。
此前消息,Binance创始人CZ表示,Binance未持有WazirX股份,仅提供钱包支持等服务。[2022/8/6 12:05:54]
而在UTC20:00的时候从边界节点发起的HTTP请求急剧增加,这也是ICPunks全面开放的极端,当时发起HTTP请求的峰值达到了每秒38k次以上。
Coinbase首席政策官:美国对加密货币的监管不确定性会伤害处在下一个大事件风口的新兴项目和创始人:金色财经报道,Coinbase首席政策官Faryar Shirzad在社交媒体上称,Coinbase在向美国商务部的评论信中发送了关于制定一个关于数字资产技术竞争力的框架。即:引领加密货币是美国全球科技领先和竞争力的核心。Shirzad表示,加密货币不再是简单的购买和出售比特币,用例正在迅速发展。不幸的是,美国目前在这方面以及其他一些全球领先指标上都落后了。
加密货币提出了新的问题和需求,世界各国政府欧盟、英国、澳大利亚、巴西、新加坡等正在推进制定可行的监管框架。 那么美国能做什么呢?建立监管明确性。监管的不确定性不仅会阻碍像Coinbase这样的中心化交易所提供许多资产、服务和产品,还会伤害处于下一个大事件风口浪尖的新兴项目和创始人。美国还可以通过支持针对非法活动的解决方案、在国内培养人才以及保护通向Web3的入口来保持竞争力。[2022/7/6 1:55:41]
UTC20:00边界节点发起的HTTP请求
在ICPunks还未启动Chaim时,节点和子网表现是正常的,而在开启Chaim索取时,大量的更新调用提交涌入子网,从每秒提交18次更新到超过每秒提交1000次更新调用请求。
以下图片是通过边界节点发起的请求响应的返回结果的数据:
图一
图二
我们可以看得到在图一在UTC时间16:00之前状态峰值相对于来说处于一个稳定的状况,自ICPunks第一批百名单开始之后,大批流量涌入通过边界节点不断的发起调用请求之后,子网节点开始返回403结果,而在UTC时间20:00ICPunks全面启动的的时候,返回403结果的数量更是达到了一个新的临界点。而在图二中ICPunks全面开启之后返回202结果只有少数部分这意味在ICPunks从20:00开始之后只有少部分人的调用请求被受理了,而大部分人的调用请求被节点拒绝,也就能表明当时出现Chaim界面之后只有少数人可以索取,大部分用户则是被拒绝请求的。
由于ICPunks全面开启之后大量流量涌入导致pjljw子网的最终区块的确定率从1秒/块下降至1秒/0.3个区块。
并且这个阶段pjljw子网通过入口的消息调用限制为每秒50条。
在根据开发者论坛队员给出的资料我们可以将ICPunks造成pjljw子网网络拥堵的时间线流程分为:
2021-09-0116:00?:ICPunks第一批白名单Chaim,倒计时开始流量开始涌入2021-09-0116:15:在查询调用中边界节点开始速率限制,速率限制随着20:00的临近继续增加。2021-09-0119:00:第二波Chaim发生,导致流量的进一步增加,但由于第二波Chaim的参与者数量有限,所以在更新调用的量仍然很低。2021-09-0120:00:Icpunks全面开始Chaim导致流量急剧增加,以每秒发起38rep达到边界节点的峰值从个人导致pjljw子网因为大量请求涌入导致区块最终确定率降至0.3块/秒。2021-09-0120:40:随着NFT的索取降低,流量开始逐渐减少,流量请求降低至10krep/每秒,并随着时间继续下降。2021-09-0120:45:pjljw子网恢复正常完成率。根据开发者论坛队员的描述:在客户端显示边界节点网关.ic0.app返回大量的报错代码500,而ICPunks的静态资源是通过Dfinity提供服务的,所以只有ICPuks的前端加载足够多的静态资源才能够发挥作用:这也是为什么这么多用户除了不断的重新加载页面而什么都做不了的原因。
从UTC20:00时间之后边界节点涌入大量流量并向ICPunks的两个容器发送高频的调用消息请求,而容器高频更新负载导致子网性能下降,这个因素导致用户无法与ICPunks上的Canisters进行交互索取NFT,以及访问pjljw子网上的其他容器,并且这段时间内大多数消息请求要么会被受到速率限制,要么会被节点直接拒绝或者会被返回不同的报错结果,所以在当时只有一小部分用户的调用请求被受理,而大部分用户的请求是被拒绝的,而第一批白名单的用户能够正常Chaim他们的NFT是因为当时他们并没有受到速率限制并且当时子网的完成率是正常的。
尽管在当时的流量很高pjljw子网也继续处理查询调用和更新调用的请求,边界节点也继续为流量提供服务,速率限制是为了保护子网免受大量流量的影响,因为未经过过滤的流量可能会导致子网节点更多终端。
在开发者论坛中队员表示会通过改进以下要求防止再次出现此类事件的再次发生:
改进有关如何在IC拓展去中心化应用程序的文档。在边界节点上启用HTTP缓存并向开发人员传达最佳实践。在区块之间评估节点上查询API调用结果的缓存。使用多线程进行执行调用负载测试并根据更显示的流量负载调整速率限制。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。