GetBlock · 11

BSC 宣布完成 Maxwell 硬分叉升级,出块时间缩短一半至 0.75 秒

比推消息,据官方消息,BSC 完成 Maxwell 分叉升级,此次升级后,提高了交易速度(出块时间从 1.5 秒缩短至 0.75 秒)提高、提升了网络响应能力且优化了 BSC 上验证器性能。 此次升级包含三个主要提案,包括 BEP-524、BEP-563 和 BEP-564,每个提案都侧重于优化性能和可扩展性。BEP-524 引入了更快的区块间隔,以实现近乎即时的交易确认; BEP-563 通过增强点对点消息传递并降低错过投票和同步延迟的风险来加强验证者共识流程; BEP-564 引入了两种新的消息类型,包括 GetBlocksByRangeMsg 和 RangeBlocksMsg,以加快跨验证器节点的数据同步。

418天前
中本聪的错误:比特币产量减半为什么是32次?

中本聪的错误:比特币产量减半为什么是32次?

在24号文章(《摩根大通CEO吉米·戴蒙质疑比特币2100万枚上限的道理和错误》刘教链,2023.1.24)里介绍和引用了比特币源代码中关于减半的代码片段:01 CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)定义函数02 {代码开始03 int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;用当前区块高度除以减半间隔(210000),得到当前减半数(注意C++语言在这里会自动取整)04 // Force block reward to zero when right shift is undefined.注释:当减半数过大时将结果强制为005 if (halvings >= 64)如果减半数大于等于6406 return 0;返回0,不再继续执行后续代码07空行08 CAmount nSubsidy = 50 * COIN;计算当前区块奖励(单位:聪),等于50乘以比特币的聪数(100000000)09 // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.注释:区块补贴(奖励)每21万个区块减半,大约是4年10 nSubsidy >>= halvings;使用右移位做整数除法,每右移1位相当于除以2(只保留商数),总共右移位数等于减半数11 return nSubsidy;返回计算得到的当前区块奖励12 }代码结束为了方便阅读和理解,笔者给每行代码添加了行号,并在每行代码的下方逐行添加了解释。这里面有一个小细节,不仔细看可能就忽略过去了,仔细看了可能会产生困惑。这个问题就是,比特币总共减半多少次?64次?还是32次?我们经常听到的说法就是比特币总共要经过32次产量减半。每次间隔大约4年,那么挖矿时间总共就是(32 + 1) * 4 = 132年。从2009.1.3开始,挖矿132年,到2141年初就采光了,也就是说,不再有额外的区块奖励或者叫区块补贴了。自此之后,矿工将必须依靠用户交易转账支付的手续费来维持矿机的运行。比特币将达到其设计发行总量上限,不再增发。这就是坊间传说的2140年是比特币最后一个挖矿年的由来。但是深究一下代码,发现代码里写的减半数上限,居然并不是32(或者说33),而是64:05 if (halvings >= 64)如果减半数大于等于64这又是怎么回事呢?说到这里要提到一个很有趣的往事。第05行和第06行代码其实在中本聪的原始代码里是没有的。是的,中本聪在这里犯了一个编码上的错误。换句话说,他在这里留下了一个bug。一个240多年以后才会出现的bug。这些小细节也向我们表明,中本聪是人,不是神。如果大家对C++中的右移位运算符的规则有所了解的话,就会知道,当右移位的位数超过了被操作的整数的总位数之后,它就会开始循环了。也就是说,当移位数增加到65的时候,第10行 nSubsidy >>= 65 会相当于 nSubsidy >>= 1,也即是回到了当初的第一次减半后25个BTC的区块奖励。这显然是个今天不会发生,但是未来如果不加以修复就会导致共识崩溃的万分重要却又相当不紧急的bug。好在比特币的开源是一个无比明智的决定。比特币的社区开发者ditto-b等人发...

1301天前刘教链#2140 #中本聪 #减半 #刘教链 #比特币 #源代码
摩根大通CEO吉米·戴蒙质疑比特币2100万枚上限的道理和错误

摩根大通CEO吉米·戴蒙质疑比特币2100万枚上限的道理和错误

近日,就在比特币重登23000美刀之际,摩根大通CEO吉米·戴蒙在一个公开的电视节目访谈上大放厥词,质问另一个嘉宾,(你说比特币总量上限2100万枚)“你看过代码吗?”“也许中本聪突然出现,把大家嘲笑一番?”“比特币是一个传销骗局,一个石头宠物。”其实如果对这位姓氏谐音“呆萌”的CEO的过往言论和立场有所了解的话,就知道他“黑”比特币已经不是一年两年了,而至少可以追溯到六年前的2017年,也就是前一轮牛市周期。记不清楚的读者朋友可以回顾一下刘教链公众号2019年2月25号的文章《教链解局:JPMCoin摩根币的五是五非》。这个摩根大通(J.P. Morgan Chase & Co.)从事的是银行业务。而它的另一个兄弟,摩根士丹利(Morgan Stanley)从事的是投行业务。它们兄弟俩都是从摩根集团拆分出来的。1929-1933年美国大萧条。银行危机爆发。负责存款的银行,和负责投资的投行,业务混在一起经营,风险很大。于是1933年美国国会通过《格拉斯-斯蒂格尔法案》,帮摩根集团分家了。89年之后,吸收散户存款的FTX交易所和负责投资的Alameda量化交易机构混业经营,暗渡陈仓,挪用公款,爆仓归零的血泪教训仍历历在目吗?摩根大通名字里有个“大”字,但是它的昵称是“小摩”。摩根士丹利名字里没有大小,但是业界称呼它为“大摩”。也许大家觉得投行业务比较“大”,而银行业务比较“小”的缘故吧?前段时间在FUD灰度、GBTC折价最低的时候出手“抄底”的,是摩根士丹利,而不是摩根大通。而摩根大通作为一家商业银行,“呆萌”CEO作为银行的业务负责人,我们不知道他自己私下里怎么想,在明面上,他肯定要为他所代表的“old money”服务和说话,因此,反对和抨击比特币,就是他的职业道德和政治正确。这就是他质疑比特币的道理所在。可见,他的质疑是主观的,意识形态上的,屁股决定脑袋的。不过,他质疑比特币选择的切入点也很巧妙,直接质疑最难以被普通人理解的总量上限问题,这就确保了普通人很难判断他的质疑正确与否。他的质疑具体分为两个层次:第一层,现有代码是否实现了2100万这个限制?第二层,为什么这个限制代码不会被篡改?难道就算中本聪复活了,也无法修改吗?第一层是具体的,最容易回答。比特币核心代码全部是开源的。我们只需要定位到和发行数量验证相关的代码就可以一目了然了。这几行代码就在 https://github.com/bitcoin/bitcoin/blob/master/src/validation.cpp#L1503 ,粘贴如下:CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams){    int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;    // Force block reward to zero when right shift is undefined.    if (halvings >= 64)        return 0;    CAmount nSubsidy = 50 * COIN;  ...

1306天前刘教链#刘教链 #比特币
给以太坊节点MEV建模:节点们的收益是多少?

给以太坊节点MEV建模:节点们的收益是多少?

原文标题:《Post-Merge MEV: Modelling Validator Returns》原文作者:pintail原文编译:Kxp,BlockBeats为了纪念合并(也被称为巴黎硬分叉),一个巨大的 Ethereum 标志已经竖立在卢浮宫的中央。概要工作证明挖矿时代结束后,执行层交易费用将支付给权益证明验证者。由于 EIP-1559 费用的燃烧,实际支付给验证者的剩余费用中绝大部分是「最大可提取价值」(MEV)。合并后,Ethereum 将有固定的 12 秒区块间隔,而不再是平均为 13.5 秒的可变区块间隔。然而,该变化可能不会对 MEV 的不稳定性造成太大影响。自 2022 年 3 月至 2022 年 8 月,到达矿工手中的 MEV 水平虽然较低,不过却一直相对稳定。基于合并后向验证者支付相同水平 MEV 的模型表明,验证者的中位回报率为 6.1% APR(包括 MEV 和共识层奖励),下四分位数为 5.3%,上四分位数为 7.3%。这是基于过去 6 个月的数据(2022 年 3 月至 2022 年 8 月)。运行多个验证者或与其他验证者共享收益的用户(例如通过流动质押供应商),其收益的不稳定性水平会更低。引言随着 Ethereum 不断过渡到权益证明(PoS)信标链,并将其作为主网的共识引擎,许多媒体开始集中报道工作证明挖矿时代的结束,以及随之而来的能源使用问题和以太币发行量的减少(PoS 更安全且更能抵抗中心化)。然而,信标链接管交易收录和排序职责的另一个后果是,目前支付给矿工的交易收录费用将转而支付给出块者。也就是说,任何随机选取的验证者将每 12 秒发布一个区块。挑选验证者进而出块的方式与现有的程序没有发生改变,正如我在关于验证者收益的第一篇文章中所提到的那样,即使验证者完全参与,这一过程也会在收入方面产生一些随机性的变化。因此,对于本文来说,问题在于,验证者收益将在多大程度上受到它们将交易纳入 Ethereum 执行层而收到的费用的影响。MEV 的具体含义在标题中,我把这些执行层的费用称为「MEV」,但这可能会造成一些混淆,因为 MEV 一词既可以表示「矿工可提取的价值」,也可以表示「最大可提取的价值」——这两个词似乎都不能精准描述验证者在合并后的 Ethereum 区块中收录或排序交易而得到的收益。为了减少歧义,Flashbots 团队引入了「已实现的可提取价值」一词,用以描述实际获得的价值,而不是理论上的最大值。不过,这种命名方式也会造成一些误解,我们仍不能明确该价值是由搜索者「实现」的价值,还是实际支付给矿工/验证者的金额。因此,为了简单起见,由于人们已经广泛使用「MEV」这一术语,我在这里用它代指矿工/验证者获得的收入。那么,如果我们本就可以使用交易费用这样直接的词语,为什么还要选择一个花哨的术语——MEV 呢?原因主要有以下几点:自从 Flashbots 引入了 Ethereum 主流执行客户端 geth 的分叉后,交易收录与排序的收入就发生了巨大的变化。截至 2022 年 8 月,大约 74% 的 Ethereum 哈希率都在运行 mev-geth,这样矿工可以收到更多高时效性的交易捆绑包来获取收入,并得到直接支付的奖励(先前这些钱都在 Gas 费竞拍的过程中消耗掉了)。此外,Flashbots、Ethereum 基金会和客户团队合作开发的 mev-boost 可以让为验证者从合并后相同的收入流中获利。事实上,无论验证者是否选择运行 mev-boost,他们收到的出块费用在广义上仍然属于 MEV。更重要的是,自...

1365天前dy zhang#MEV #以太坊 #以太坊2.0 #质押
详解区块链节点:如何有效地运营自己的节点?

详解区块链节点:如何有效地运营自己的节点?

原文作者:SupraOracles区块链节点通过它们的连接、交互组成网络,该网络通过共识机制将新区块添加到链上,本文将解释如何有效地运营自己的区块链节点。01 什么是区块链节点?在深入讲解如何运行节点之前,我们有必要了解一下什么是区块链节点。通常在计算机网络中节点可以是计算机或任何涉及在计算机网络内接收和发送数据的设备,因此在区块链网络中每个账本参与者都是一个节点。基于 P2P(点对点)网络的原理,公有链技术本质上是去中心化跟开源的,在大多数网络中,公有链没有专用服务器,不是一个授权机构,依赖于用户之间的共识。节点通常通过共享状态信息、对其协议的治理进行投票以及验证传入交易的新块来在网络内进行通信。来自不同地理位置的多样化和分散的节点有助于建立一个更强大的共识机制。如果有足够多的节点维护他们的区块链账本副本并继续区块生产,那么网络可以无限期地运行下去。也正因此,由于每一个用户对于整个网络的安全性和完整性都至关重要,成为某个加密项目社区的一员不仅是件令人兴奋的事,也是一种责任。02 如何运营区块链节点?通常来说,节点分两种主要类型:一种是存储完整账本的全节点(full node),这种节点通过验证数据来保证区块链上数据的安全性和正确性;另一种是轻节点 (lightweight node),即每个参与的用户。每一个轻节点都需要连接到一个全节点,以便同步网络的当前状态并能够参与运行。首先,要部署区块链节点,新节点运营商必须要达到硬件和软件要求门槛,例如兼容的操作系统、足够的可用磁盘空间、RAM 内存和网速。接着,运营商需根据他们所期望的参与程度下载所需的核心软件。针对所有区块链,你都可以在运行节点上配置所需的设备、内存要求和处理能力。市场上有门槛较低的链,但也有其他一些链因为网络设计导致节点运行困难而昂贵。当然,昂贵的节点运行要求运营商的大量财务投入,可以在成本上筛掉一些试图投机的恶意节点。例如,比特币的网络允许用户运行全节点或轻节点。对于比特币全节点来说,必须下载存储区块链历史记录并保存在本地文件中,在撰写本文时,其硬盘内存需超过 380 GB。【如图】区块链节点通过它们的连接、交互和在全节点的情况下共同组成网络再拿以太坊举个例子,根据复杂程度不一,可运行的节点为:全节点、轻节点和存档节点。全节点更具独立性,对自己的数字资产拥有更完整的主权,不像轻节点那样需要依赖其他节点访问区块链。全节点可以连接到区块链的主网络,也可以在测试网或其他安全环境上运行,以测试和开发新软件。轻节点对没有强大硬件或带宽能力的用户很友好,因为不需要下载以太坊的完整历史、钱包余额或智能合约代码。可以在手机或其他更小、功能更弱的设备上运行,但它们可以通过检验区块头的状态根,从而验证数据的有效性。【如图】全节点对网络负有更大的责任,需要更复杂的硬件和软件,但他们的努力在金钱方面得到了更直接的回报。就运营商资源而言,以太坊存档节点可能是运行难度最高的节点之一。它们需要更多的硬件设备来运行,也需要使用大容量的 RAM 和磁盘空间。即便使用先进的设备,新的以太坊存档节点同步也需要花费数周时间,如果使用速度较慢的 HDD 硬盘同步存档节点,则该节点将无法实现完全同步,因为新块生成的速度将超过这类计算机同步的速度。另外,如果客户端的节点版本出现任何错误,则该节点需要重新同步。无形的时间消耗,增加了整个运营成本。当然,为了防止节点脱机,运行节点时应该进行定期检测,可以向兼容节点发送请求或从区块链请求数据。不然的话,如果遇到节点崩溃的情况需要手动重启设备,这很可能会之前通过验证或挖掘新块产生的收...

1471天前dy zhang#Alchemy #Blockdaemon #Figment #GetBlock #Infura #QuickNode #以太坊 #共识机制 #区块链 #网络 #节点 #运营商
GetBlock获Harmony生态扶持,用于Explorer开发

GetBlock获Harmony生态扶持,用于Explorer开发

GetBlock的区块链Explorer生态已扩展到Harmony。出于对GetBlock的专业和背景的肯定,(Harmony)协议的团队和社区同意以Grant的方式为其新项目提供动力。Harmony(ONE)向GetBlock提供grant,资助其Explore的发布。据Harmony主论坛上分享的说法显示,该协议的代表选择GetBlock作为技术合作伙伴,为Harmony上的ONE、HRC20、HRC721和HRC1155代币打造一个新一代Explorer。在其庞大的3亿美元生态扶持基金的框架内,Harmony链决定用5万美元的拨款支持GetBlock的开发者。这一扶持资金将用于推进Harmony的Etherscan式Explorer的全栈开发。Harmony高级区块链工程师Giv Parvaneh表示欣赏GetBlock团队,并表示为GetBlock提供扶持的提案(链接:https://talk.harmony.one/t/getblock-blockchain-explorer-for-harmony/14105/10?u=giv)得到了该协议开发者和社区的赞同:感谢Alex Hutton和Olivia Kenney的提案。这一提案已经被批准,我们期待看到项目的启动。请定期在这里(提案下方)发布更新信息,让我们和社区了解团队的进展。根据(提案中)批复的路线图,从零开始构建Harmony的Explorer需要大约5个月的时间;因此,新的(Explorer)工具将于2022年第4季度伊始与全球Web3社区见面。Harmony简介,一个可扩展赛道的旗舰协议GetBlock的Explorer产品经理Alex Hutton强调了Harmony的Explore对GetBlock路线图的重要性:感谢您考虑我们关于开发Harmony Explore的提案。我们正在开发一个商业Explore,其将成为GetBlock多链Explore的一部分。Harmony是一家领先的智能合约平台,其融合了分片设计和有效权益证明,从而实现2秒的即时交易确认和0.0001美元的平均交易费用。自2021年起,Harmony已经全面兼容以太坊;由于其独特的技术设计,Harmony可以充当以太坊的多功能隐式区块链L2。Harmony的原生资产被称为ONE。截止2022年7月,Harmony生态系统内的DeFi协议累积了超过10亿美元的TVL。关于HarmonyHarmony是您的数字资产、藏品、身份、治理的开放平台。我们是一个开源且高效的区块链。我们的主网可运用以太坊的应用,并且确认交易的时间仅为2秒,费用比以太坊本身低廉1000倍。Harmony的安全跨链桥也提供与以太坊链、币安链与其他链的跨链资产转移。立足于Harmony,桥接到所有链。成为ONE而跨万千。...

1481天前Harmony#GetBlock #Harmony #区块链
Solidity 智能合约开发 - Hardhat 框架使用

Solidity 智能合约开发 - Hardhat 框架使用

作者:Yu Zhang原文链接:https://www.pseudoyu.com/zh/2022/06/09/learn_solidity_from_scratch_hardhat/(文章中链接请复制至浏览器打开)上周我们发布了由Chainlink Labs的软件工程师以及开发者大使Patrick Collins讲解的“学习Solidity,全栈Web3,Javascript和区块链开发”视频,Chainlink开发者社区的Yu Zhang同学记录了一些笔记和心得,以一个简单的示例讲解了Hardhat框架的使用、常用配置与最佳实践,给正在学习这一块知识的小伙伴作为参考。今天我们就一同学习来自Yu Zhang的学习笔记!前言经过了前几篇对智能合约基础、Web3.py、ethers.js 的学习,我们已经掌握了通过程序与区块链网络直接交互的基础知识,不熟悉的同学可以回顾一下:Solidity 智能合约开发 - 基础:https://www.pseudoyu.com/zh/2022/05/25/learn_solidity_from_scratch_basic/Solidity 智能合约开发 - 玩转 Web3.py:https://www.pseudoyu.com/zh/2022/05/30/learn_solidity_from_scratch_web3py/Solidity 智能合约开发 - 玩转 ethers.js:https://www.pseudoyu.com/zh/2022/06/08/learn_solidity_from_scratch_ethersjs/但是在真正的复杂业务场景中,我们往往会使用一些进一步封装的框架,如 HardHat、Brownie、Truffle 等,HardHat 是其中应用最广泛、插件拓展最为强大的。本系列将从这篇开始专注于 Hardhat 框架的使用与最佳实践,而本篇则会通过一个简单的例子完成其安装、配置与使用。本文是对 Patrick Collins 的 『Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript』 教程的学习整理,强烈建议看原教程视频了解更多细节。可以点击这里访问本测试 Demo 代码仓库:https://github.com/pseudoyu/learn-solidity/tree/master/hardhat_simple_storageHardhat 介绍Hardhat 是一个基于 JavaScript 的智能合约开发环境,可以用于灵活地编译、部署、测试和调试基于 EVM 的智能合约,并且提供了一系列工具链来整合代码与外部工具,还提供了丰富的插件生态,提升开发效率。此外,它还提供了模拟以太坊的本地 Hardhat 网络节点,提供强大的本地调试功能。其 GitHub 地址为 NomicFoundation/hardhat,可以访问其官方文档了解更多。Hardhat 使用初始化项目从零开始搭建一个 Hardhat 项目,我们需要预先安装好 node.js 与 yarn 环境,这部份参照官方说明根据自己的系统环境按照即可。首先,我们需要初始化项目并安装 hardhat 依赖包。yarn inityarn add --dev hardhat初始化 Hardhat然后需要运行 ya...

1494天前Chainlink预言机#Chainlink
聊聊接入Arbitrum的正确姿势

聊聊接入Arbitrum的正确姿势

   前言我们知道,目前最主流的 Ethereum Layer2 方案中,主要有 Optimistic Rollup 和 ZK Rollup 两大类。而 Optimistic Rollup 的实现方案中,则是 Optimism 和 Arbitrum 最受关注。而我们最近接入了 Arbitrum,测试了好一段时间了,期间还踩到了一些很重要的坑,会影响安全性和可用性的,所以我觉得有必要分享下我们的这些经验,以便后续想接入 Arbitrum 的项目团队避免重复踩坑。    第一步我原本以为,Arbitrum 和 Kovan、Rinkeby 等 Layer1 的测试网一样,是可以将智能合约无缝切换的,即运行在 Kovan、Rinkeby 和 Ethereum Mainnet 的智能合约无需任何修改,就可以直接部署到 Arbitrum。但事实证明,我的这个认知是大错特错的。Arbitrum 跟 Layer1 的差异性原来非常关键,如果不特殊处理,有些场景甚至都会变得不可用,而且安全性也会大大降低,具体细节后文会再细说。因此,接入 Arbitrum 的第一步工作,我的建议是一定要接入 Arbitrum Testnet 进行测试。如果 Arbitrum Testnet 上还缺少什么东西的话,比如没有 UniswapV2 或者 SushiSwap,那可以自己部署一套 UniswapV2 或 SushiSwap 的合约上去。而要在 Arbitrum Testnet 上进行测试,就需要领取 Arbitrum Testnet 上的测试币用来支付 Gas,即 Arbitrum Testnet 上的 ETH。但是,因为 Arbitrum Testnet 本身并没有可领取 ETH 的 Faucet 水龙头,所以需要先在 Layer1 的测试网领取测试币,再通过 Arbitrum Bridge 将测试币转到 Arbitrum Testnet 上。Arbitrum Testnet 所使用的 Layer1 测试网络是 Rinkeby,所以就需要先领取 Rinkeby 网络的测试币。说到这,其实 Arbitrum 一开始使用的测试网络是 Kovan 的,但后来不知道为何迁移到了 Rinkeby。而事实上,Kovan 网络比 Rinkeby 网络要稳定很多。就说近一两个月内,Rinkeby 就已经出现了不止一次长时间不出块的问题,每次都长达好几个小时。我们都知道,区块链不出块,那就什么都做不了了,无法交易,无法测试,只能干等网络恢复。这也可以算是接入 Arbitrum 要知道的第一个坑了。Rinkeby 网络的水龙头,我知道的有三个:https://faucet.rinkeby.io/https://faucet.paradigm.xyz/https://faucets.chain.link/rinkeby第一个水龙头可以领取到最多币,一次最多可以领取到 18.75 ETH。但我最近几次尝试领取都失败了,说是已经没币可领了。第二个水龙头每次可以领取到好几种币,包括 1 ETH, 1 wETH, 500 DAI, and 5 NFTs。不过,对推特账号有要求,要求至少有 1 条推文、15 个 followers、注册 1 个月以上。我自...

1679天前dy zhang#Arbitrum #Optimism #以太坊 #智能合约
灰度、“双花”、减产让Filecoin火了一把(上)

灰度、“双花”、减产让Filecoin火了一把(上)

Filecoin最近利好频出,主要包括三件事:灰度公司3月17日正式宣布推出FIL信托产品、Filecoin“双花”闹剧以及SAFT六月公募到期。对此,我们一一展开分析。一、Filecoin“双花”闹剧那么这次Filecoin“双花”事件到底是如何?前因后果又是如何?我们先回顾一下事情发生经过。要完整了解本次“双花”事件,我们要先知道什么是双花攻击。何为双花攻击?双花,即双重支付,指的是在数字资产体系里,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。简而言之,一笔数字资产重复支付,一笔钱被花掉两次或多次,如支付宝钱包(绑定的银行卡)里有100块钱,消费了100元,结果支付宝出了bug,这一笔钱并没有被银行同步,还留在银行卡里,于是我们又能拿着100块钱去继续消费,这就属于双花问题。双花会导致“通货膨胀”,使加密资产被贬值,一般该情况出现在中心化交易所较多。以区块链的加密资产为例:2018年5月,某黑客针对 Bitcoin Gold 密币交易所的基础设施发动了多次“双花”攻击,并设法攫取了价值1800万美元的 BTG,直接导致整个属于BTG的市场需要再消化这1800万美元的 BTG,间接会使BTG单价贬值。为了更好的回顾这次Filecoin,我们需要了解主流的双花攻击类型:51%攻击和竞赛攻击。51%攻击:攻击者通过控制超过50%的哈希算力,这使他们可以删除或修改交易的顺序。从而实现多次发送交易,该情形在比特币网络上目前难以实现,难以符合经济收益。例如:我们支付宝的银行卡只有100元,我们对外已经消费了100元,然后通过控制银行主脑来删除该记录(可理解为51%的控制算力修改),然后银行没有我的交易记录,但实际上支付宝已经使用了该100元,所以我的银行卡仍然还有100元,故可以继续消费。BTG双花攻击就是51%攻击的类型,主要是因为算力规模较小,当时黑客只需支付3400美元皆可顺利完成攻击。竞赛攻击:使用相同的资金连续广播(相同Nonce值)两个冲突的交易,但只有一项高Gas费的交易得到确认。攻击者的目标是通过验证对他有利的交易来使另一个支付无效,如此以来相同的资金发送到他控制的地址。例如:A向B转账100元(一般Gas费),同时也使用一样的Nonce值发送另外一笔向B转账100元(高Gas费)。在区块链世界,同一Nonce值只能确认一笔交易,因为第二笔Gas费更高会很顺利转账给B 100元,而第一笔因为第二笔的成果而认定为失败,所以会返还给A 100元,这样以来,A和B各有两个100元。本次闹剧不存在“双花”攻击而这次Filecoin“双花”事件就是在混淆概念,这次不可归咎为竞赛攻击,而是一场人为的操作失误。从结果上看,以Filscan.io浏览器为例,该笔交易只有一笔转账成功。61200枚FIL转账记录,来源:Filscan.io,2021-3以官方解释说到,“lotus团队所知问题源自于有两条消息有相同的发送者/收到者详细信息、相同的Nonce但拥有不同的Gas参数——被包含在同一Tipset中。像这样两个类似的消息是非常常见的,比如以改变与消息的Gas费来替代消息就会形成这样两条类似的消息。这样的情况会由Filecoin网络安全、正确地处理,不会导致两次转账:两条消息中的一条会被执行,另一条被忽略”。官方解释意思是,Filecoin主链之前就已经针对竞赛攻击(相同Nonce)针对做好正确的处理交易,并不会因为高Gas费的替代行为而出现双花现象,所以这块印证了Filscan.io的数据准确。那么该场闹剧是如何引起...

1978天前IPFS原力区#Filecoin #IPFS原力区 #灰度
【Press Release】用 BSN 公链节点服务开发你的第一个 DApp

【Press Release】用 BSN 公链节点服务开发你的第一个 DApp

区块链服务网络 (BSN) 是由国家信息中心与中国银联、中国移动等单位联合发起,是一个跨云服务、跨门户、跨底层框架,用于部署和运行各类区块链应用的全球性基础设施网络。2020 年 7 月 20 日,区块链服务网络(BSN)宣布 IRISnet 与 Ethereum、EOS、Tezos、Neo、Nervos 等共同入选其首批适配的公链。BSN 提供的公链节点服务是开发 DApps 最强大的工具之一。那么,一起来看看如何充分使用这个功能吧!入门指南 在 BSN 平台的支持下,开发 DApps 从未像现在这样的简单便利,以下教程能够帮助你快速入门。1. 在浏览器上访问 global.bsnbase.com。2. 点击右上角的 [Register] 按键并填写必要信息。3. 在成功建立账号后,登录并点击左侧目录里的 [Permissionless Services]。4. 在本教程中,以在香港 PCN (HongKong PCN) 为例,创建一个免费的节点:点击在 Hongkong PCN 下面的 [Buy] 按键并选择 [Free Plan] 选项 (如果想增加每日请求上线或者需要更高的 TPS,你也可以选择升级套餐)。5. 现在你已经可以建立新的项目:在 HongKong PCN 下方点击 [Create New Project]。6. 填写你的项目名称 (project name);然后选择链。在这个教程里,我们以 Irisnet-Mainnet 和 ETH-Mainnet 为例。7. 点击 [Create Project] 按键后,你可以在 [Project List] 里面看到你的节点。8. 你的节点会在 [Project List] 中显示。a. 如果你选择了 Irisnet-Mainnet 链,系统会生成 3 个路径地址 (access addresses) (RPC, REST,和 WSS) 以及一个项目密钥 (project key)。b. 如果你选择了 ETH-Mainnet 链,系统会生成 1 个路径地址 (access addresses) 以及一个项目密钥 (project key)。这些信息将会对 DApp 开发非常重要。向节点提交请求在成功创建节点以后,你可以通过基础指令开始开发 DApp,比如向节点提交请求。在这个教程里,我们来用 Postman 软件来发送请求,你可以在下载 Postman:https://www.postman.com/downloads/1. 打开 Postman 并点击 [Launchpad] 旁边的 [+]。2. 在显示 [Enter request URL] 的输入口, 输入以 [/rest] 结尾的 Irisnet-Mainnet 节点的 [Access Address](在 BSN project list 上的绿色部分)。3. 点击 [Headers] 副页,在标有 [KEY] 的一列输入 [x-api-key] 和 [x-api-sub-path](参考:https://global.bsnbase.com/static/tmpFile/bzsc/6-permissionlessservices/6-4-1.html)。4. 在 [x-api-key] 后的空格(在标有 [VALUE] 的一列),输入 BSN proej...

2189天前IRISnet#BSN #dapp #IRISnet #IRISnet项目 #区块链