什么是Stacks?BTC二层网络Stacks可能面临哪些挑战
作者:@EatonAshton2,Beosin安全研究员。
自2023年2月Ordinals协议推出后,BTC NFT的铸造与BRC-20代币的热潮导致BTC网络高度活跃。随之而来的是BTC网络手续费飙升,网络堵塞。此外,BTC网络不支持智能合约的特性限制了更复杂的生态业务发展。市场开始将注意力聚焦在BTC二层网络与应用,以期望捕获BTC生态增长的收益。
本文我们将为大家解读BTC二层网络Stacks,我们将从其架构设计讲到其生态部分,以及面临的挑战问题。
Stacks是什么?
Stacks由Muneeb Ali基于其博士论文创建,该论文仔细介绍了一个围绕BTC构建的互联网框架。早期该项目被称为Blockstack,2020年正式改名为Stacks。它将自己定义为BTC的智能合约层。
架构设计:
Stacks在自己的区块链上执行用Clarity编写的智能合约并在BTC上最终结算交易。两条链通过Proof of Transfer机制交互(具体内容在共识机制介绍),从而利用BTC网络的安全性确保交易安全。
Source: Beosin
由于Stacks的交易数据需要由BTC网络确认,而BTC网络大约每10分钟产生一个新区块,那么Stacks如何扩容和提速呢?
首先,Stacks设计了一种特殊机制, 允许Stacks链上产生称为微区块流(microblock stream)的多个小区块,让负责确认Stacks当前区块的矿工充分利用BTC网络产生两个区块的时间间隔,处理更多交易。当比特币确认当前区块时,这些微区块也将实现最终确认,并且下一个Stacks区块会链接到当前最后一个微区块。 如下图所示:
Source: Dystopia Labs, Beosin
Mechanism Detail:https://github.com/stacksgov/sips/blob/main/sips/sip-001/sip-001-burn-election.md#operation-as-a-leader
Stacks设定确认微区块的矿工将获得这些微区块手续费的60%,而产生这些微区块的节点将获得手续费的40%,以鼓励矿工打包微区块和避免微区块的滥用。
其次,Stacks目前已推出Hiro HyperChains,可以将其理解为Stacks的Layer2,为开发者提供高性能的区块链开发平台,以满足低延时,高TPS的应用场景。当然,其它种类的子网也将可以构建在Stacks上以应对各种需求。这些子网都会先在Stacks网络确认交易,然后在BTC网络确认最终的状态。
共识机制:Proof of Transfer(PoX)
Stacks采用了一种称为Proof of Transfer(PoX)的共识机制。PoX是两条区块链之间的共识算法,可以看作是Proof of Work + Proof of Burn。与 PoW 一样,PoX 要求矿工花费已有的资源(BTC),以竞争铸造下一个 Stacks 区块的机会;与 PoB 类似,PoX 要求矿工“燃烧”掉BTC获得STX代币奖励。
PoX 的一个特点是矿工花费的比特币不会被销毁,而是转移给已锁定STX代币的STX代币持有者,这称为Stacking。通过PoX机制,矿工花费BTC竞争Stacks的出块权力,获得STX代币奖励和该区块的交易手续费;STX持有者通过锁定STX代币,获得BTC奖励,目前APY约9%。
Source: https://docs.stacks.co/docs/stacks-academy/proof-of-transfer
Stacks网络会使用一个可验证随机函数VRF随机选择出块者(花费的BTC越多,被选中的概率越大)。当矿工获得Stacks出块权力后,他们会开始打包新的Stacks区块。每个Stacks区块都包含一个指向前一个Stacks区块的哈希指针与指向对应BTC区块的哈希指针,从而将Stacks网络和BTC网络连接起来。
Stacks下一个重要升级Nakamoto会带来哪些变化?
Nakamoto是Stacks下一个重要升级,预计在2023年Q4完成。该升级将优化Clarity语言,引入子网和sBTC。这一升级将为下一次BTC生态的爆发提供比较完善的基础条件。
子网:
Stacks将会引入支持其它编程语言和执行环境的子网,如EVM子网。这会将以太坊上的项目更容易迁移到Stacks网络上,让Stacks捕获EVM链的资金和流量。同时这些智能合约都可以使用比特币作为其资产,并最终在比特币网络上结算。
子网是Stacks的扩容解决方案,通过牺牲一定的去中心化提高网络性能。子网可以选择高网络带宽的矿工节点或是属于子网白名单的矿工节点来处理子网的交易,以确保高性能。
sBTC:
sBTC是Stacks在Nakamoto升级中推出的去中心化的BTC锚定方案。sBTC的引入将解决BTC二层网络如何使用BTC资产的问题,在Stacks和Stacks子网上的智能合约能够使用sBTC开展借贷,兑换,铸造稳定币等各种DeFi业务,增加BTC生态的TVL。
目前市场上已有很多种BTC锚定资产,如将BTC引入以太坊的Wrapped BTC(wBTC),RenBTC和tBTC;将BTC引入BTC二层RSK网络的RBTC。锚定原理大致相同:先在BTC网络上锁定BTC,然后在目标网络上铸造相同数目的锚定BTC;在目标网络上销毁锚定BTC,然后在BTC网络解锁相同数目的BTC。但关键在于锁定BTC资产的中心化程度,比如wBTC是由加密货币托管服务商持有用户锁定的BTC,中心化风险较高。之前3AC和Alameda就是wBTC的合作经销商,他们的破产导致一些用户无法顺利将wBTC换回BTC。RBTC采用BTC网络的多重签名地址负责锁定BTC,使用Powpeg机制确保BTC锁定的信息正确传递到RSK网络并执行签名,进一步降低了中心化风险。
sBTC在BTC网络中使用门限签名钱包管理锁定的BTC,在Stacks网络中通过智能合约铸造BTC,从而实现非托管,去中心化的BTC锚定。要执行peg-out操作解锁BTC必须获得有效的签名:至少获得70%stackers(锁定STX代币在PoX中获得BTC奖励的用户)的签名权力。这样大大降低了资产托管的中心化风险。
Source: https://stx.is/sbtc-pdf
Stacks的优势
生态优势:
Stacks是目前最活跃的BTC二层网络。在Ordinals协议推出后,市场对BTC NFT的兴趣逐渐增加,Stacks上的NFT活动也开始活跃。据Muneeb Ali的说法,Stacks网络已铸造价值超65万美元的NFT。
此外,Stacks的DeFi项目Alex在今年上半年TVL上涨500%,当前TVL达$24.61M。Alex是Stacks的头部Dex,产品构建非常完善,提供交易,借贷,打新,永续合约等功能。随着Stacks的升级和BTC生态的增长,Alex还有更大的发展空间。
Stacks生态的Arkadiko项目类似MakerDAO,专注于超额抵押资产铸造去中心化稳定币USDA,提高Stacks网络的资产流动性。虽然该协议还未爆发,但我们可以期待sBTC引入Stacks网络后它的表现。
Source: https://twitter.com/muneeb/status/1456007656305479684
Citycoin:
CityCoin是一个构建在Stacks上的协议,允许社区通过花费STX代币来获得Citycoin的奖励,从而为城市的财政做出贡献。参与者花费STX代币成为“矿工”挖Citycoin,花费的STX代币中的30%会存放在城市金库中,剩余的70%作为CityCoin Stackers的奖励。如果你理解了上文的PoX机制,Citycoin的激励设计几乎与其相同。
source: https://docs.citycoins.co/core-protocol/mining-citycoins
迈阿密是第一个加入该项目的城市,推出了MiamiCoin(MIA)。迈阿密城市金库钱包的总价值已超过2000万美元,约占迈阿密市公共预算的2%,这些资金将会用于回馈当地社区。纽约随后也加入了该计划,推出了NYCCoin。这让更多公众接触并使用数字资产和钱包,为区域的公共服务筹集资金,也帮助Stacks的品牌树立了良好形象。
Stacks可能面临的挑战
PoX的设计风险:
PoX需要BTC矿工花费BTC参与Stacks出块的竞争,从而获得STX代币奖励。目前BTC矿工之间竞争的较小,收益丰厚(1000 STX/区块,每4年奖励减半,最后降至125 STX/区块),矿工有很大动力参与Stacks出块的竞争。从下图数据可以看到,参与7278次竞争的矿工花费了约3.56个BTC,获得了1337000个STX代币(当前约为29.4个BTC)
Statistics: https://app.onstacks.com/
如果未来Stacks奖励减少,而参与竞争的矿工人数增加,矿工获得的STX代币奖励小于其花费的BTC,那么矿工还会继续参与PoX吗?根据Onstacks的数据,目前参与PoX的活跃矿工仅6位。后续Stacks继续发展,假设矿工数只增加10倍,而STX奖励再过一年左右的时间即将减半到500 STX/区块,那么STX/BTC汇率需要再翻2.5倍才能保证矿工有利可图,从而有动力参与PoX。因此,要么STX的价值能继续提升,要么参与竞争的矿工人数有上限,才能保证Stacks的网络继续运行。Stacks能像BTC一样即使经历矿工“关机”也可以重新复苏吗?
PoX的合约漏洞:
2023年4月19日,Stacks发现其pox-2合约中的stacks-increase函数存在漏洞,导致bc1qpyjutel6d4gj50dscphjrqcp29ljtfjel7ccap地址获得了比理论计算上更多的BTC奖励。 该计算错误是因为stacks-increase函数将诸如数据库修改的操作与决定状态更改的逻辑混在一起,然后使用reward-cycle-total-stacked作为全局变量在连续迭代中保存状态。 目前Stacks团队暂时将Stacks切换到PoB共识,后续将pox-2替换为pox-3合约,然后Stacks恢复采用PoX共识。社区中有开发者呼吁将Clarity改良为函数式,表达式导向的开发语言,以方便静态分析和进行形式化验证,避免在未来主网上再次出现此类漏洞。
总结
Stacks 无疑是BTC二层网络的头部项目,有持续发展的生态和优质的品牌效应,而且即将迎来重大升级:可靠、无需信任的 BTC 桥,sBTC,子网和Clarity语言的优化,为BTC生态的爆发提供基础条件。 但同时PoX机制的复杂性在目前已给Stacks团队带来了一些难题,后续子网的引入更会使得整个网络的复杂性陡增。如何确保Stacks网络正确运行,顺利完成Nakamoto升级是Stacks团队需要努力解决的挑战。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum