Binance Square
LIVE
btc-雪村
@btc-pwxcoo
Following
Followers
Liked
Shared
All Content
LIVE
--
聊聊资金费率套利一、背景 永续合约有个资金费率,多头和空头互相交,大部分一天3次。资金费率为正的时候,多头交给空头,资金费率为负的时候空头交给多头。历史的资金费率来看,大部分的时候都是正资金费率,一种玩法是通过现货+做空合约挣资金费率,所获得的收益几乎是无风险而且 APR 不错。作为最常见的套利思路,这个玩法已经规模化,产品化了,比如 Ethena 就是靠永续合约资金费率搞的 USDE,很多 cex 内也有提供资金费率套利的交易工具。 日常在部分极端行情或者某些活动催生下,一些币的费率会飙升,这里存在短暂的套利空间,最近几次经历的 FLOKI 的 Simon Cat Airdrop 和 GMT 的 STEPN GO x adidas RaffleMint,都让 FLOKI 和 GMT 出现了较大的期现价差以及资金费率套利空间。 大概整理下资金费率套利的大概逻辑和思路,让后面机会出现的时候弄起来脑子更清楚点,同时后面也看看能不能搞成更自动化的流程。 二、资金费率套利的大概玩法 2.1 正资金费率套利 套利思路:买入现货,开空合约 成本: 1️⃣ 买入现货+后续卖出手续费:0.1% x 2(交易次数)x 现货价值 = 0.2% x 现货价值。 2️⃣ 开空合约+后续平仓合约手续费:0.05% x 2(交易次数)x 合约价值 = 0.1% x 合约价值。 收益: 1️⃣ 资金费率 x 合约仓位价值 x 吃费率的次数(高利率一般都很短暂,大部分只能吃到一次)。 这里还有变量就是期现价差,一般来说出现可套利行情的时候,期现价差往往较大,期现价差等于 (现货价格-合约价格) * 币的数量。在正资金费率套利的场景下,合约价格低于现货价格,这里的价差就是成本,如果合约价格高于现货价格,这里就是收益的一部分。 2.2 负资金费率套利 套利思路:借币现货卖出,开多合约 成本: 1️⃣ 卖出现货+后续买入手续费:0.1% x 2(交易次数)x 现货价值 = 0.2% x 现货价值。 2️⃣ 开多合约+后续平仓合约手续费:0.05% x 2(交易次数)x 合约价值 = 0.1% x 合约价值。 3️⃣ 借币的利息 收益: 1️⃣ 资金费率 x 合约仓位价值 x 吃费率的次数(高利率一般都很短暂,大部分只能吃到一次)。 这里还有变量就是期现价差,一般来说出现可套利行情的时候,期现价差往往较大,期现价差等于 (现货价格-合约价格) * 币的数量。在负资金费率套利的场景下,合约价格低于现货价格,这里的价差就是收益的一部分,如果合约价格高于现货价格,这里就是成本。 而且负利率套利相对麻烦点,需要有现货(借币)来做空。 三、套利玩法的一些思考 3.1 这个资金费率是怎么计算的 不同交易所资金费率在公式上或有些许差异,但主要两个影响因素:无风险利率和溢价指数。 1️⃣ 无风险利率:通常设定为一个固定的数值。举例来说,买多仓的交易者可能需要支付一定的利率,而卖空仓的交易者会获得利息 2️⃣ 溢价指数:合约价格和现货价格的价差 有兴趣的可以看下 [币安资金费率计算文档](https://www.binance.com/en/support/faq/introduction-to-binance-futures-funding-rates-360033525031) 3.2 交易磨损成本 做这个套利,各大cex(dex更高)现货的手续费基本上在0.1%(部分有平台币抵扣);合约的手续费在0.05%(部分平台会稍微高点),挂单比较便宜是0.02%。按作为交易所的普通用户,并且都按吃单来说,一顿买入卖出的手续费就在0.3%了。所以价差和资金费的收益不高的话,甚至抵不上交易磨损,只能等待好机会出现。 [币安的交易费用文档](https://www.binance.com/en/fee/trading),币安的手续费在各cex之间最低,而且作为第一大所的深度很也好。 3.3 套利机会 并不是学会了思路,就能套到的,比如会遇到一些问题: 很多时候不知道有这种套利机会有时候机会出现的时候,聪明人信息差比较强,等自己意识到想做负利率套利的时候,cex的币可能已经被聪明人借空了... 想要抓住机会,整体的思路大概是这样,需要再完善下: 监控热点信息(推上热点跟踪、链上数据、cex的借贷/利率情况...)。寻找合适的相关工具发现异动后,能定位到原因并发掘其中的机会。足够熟悉了解机制和玩法,以及相关的成本、利润核算执行套利计划。比如手动输入价格、数量容易出错且麻烦,接入交易api;快速核算成本和利润 等等。

聊聊资金费率套利

一、背景
永续合约有个资金费率,多头和空头互相交,大部分一天3次。资金费率为正的时候,多头交给空头,资金费率为负的时候空头交给多头。历史的资金费率来看,大部分的时候都是正资金费率,一种玩法是通过现货+做空合约挣资金费率,所获得的收益几乎是无风险而且 APR 不错。作为最常见的套利思路,这个玩法已经规模化,产品化了,比如 Ethena 就是靠永续合约资金费率搞的 USDE,很多 cex 内也有提供资金费率套利的交易工具。
日常在部分极端行情或者某些活动催生下,一些币的费率会飙升,这里存在短暂的套利空间,最近几次经历的 FLOKI 的 Simon Cat Airdrop 和 GMT 的 STEPN GO x adidas RaffleMint,都让 FLOKI 和 GMT 出现了较大的期现价差以及资金费率套利空间。
大概整理下资金费率套利的大概逻辑和思路,让后面机会出现的时候弄起来脑子更清楚点,同时后面也看看能不能搞成更自动化的流程。

二、资金费率套利的大概玩法
2.1 正资金费率套利
套利思路:买入现货,开空合约
成本:
1️⃣ 买入现货+后续卖出手续费:0.1% x 2(交易次数)x 现货价值 = 0.2% x 现货价值。
2️⃣ 开空合约+后续平仓合约手续费:0.05% x 2(交易次数)x 合约价值 = 0.1% x 合约价值。
收益:
1️⃣ 资金费率 x 合约仓位价值 x 吃费率的次数(高利率一般都很短暂,大部分只能吃到一次)。

这里还有变量就是期现价差,一般来说出现可套利行情的时候,期现价差往往较大,期现价差等于 (现货价格-合约价格) * 币的数量。在正资金费率套利的场景下,合约价格低于现货价格,这里的价差就是成本,如果合约价格高于现货价格,这里就是收益的一部分。

2.2 负资金费率套利
套利思路:借币现货卖出,开多合约
成本:
1️⃣ 卖出现货+后续买入手续费:0.1% x 2(交易次数)x 现货价值 = 0.2% x 现货价值。
2️⃣ 开多合约+后续平仓合约手续费:0.05% x 2(交易次数)x 合约价值 = 0.1% x 合约价值。
3️⃣ 借币的利息
收益:
1️⃣ 资金费率 x 合约仓位价值 x 吃费率的次数(高利率一般都很短暂,大部分只能吃到一次)。

这里还有变量就是期现价差,一般来说出现可套利行情的时候,期现价差往往较大,期现价差等于 (现货价格-合约价格) * 币的数量。在负资金费率套利的场景下,合约价格低于现货价格,这里的价差就是收益的一部分,如果合约价格高于现货价格,这里就是成本。
而且负利率套利相对麻烦点,需要有现货(借币)来做空。

三、套利玩法的一些思考
3.1 这个资金费率是怎么计算的
不同交易所资金费率在公式上或有些许差异,但主要两个影响因素:无风险利率和溢价指数。
1️⃣ 无风险利率:通常设定为一个固定的数值。举例来说,买多仓的交易者可能需要支付一定的利率,而卖空仓的交易者会获得利息
2️⃣ 溢价指数:合约价格和现货价格的价差

有兴趣的可以看下 币安资金费率计算文档

3.2 交易磨损成本
做这个套利,各大cex(dex更高)现货的手续费基本上在0.1%(部分有平台币抵扣);合约的手续费在0.05%(部分平台会稍微高点),挂单比较便宜是0.02%。按作为交易所的普通用户,并且都按吃单来说,一顿买入卖出的手续费就在0.3%了。所以价差和资金费的收益不高的话,甚至抵不上交易磨损,只能等待好机会出现。

币安的交易费用文档,币安的手续费在各cex之间最低,而且作为第一大所的深度很也好。

3.3 套利机会
并不是学会了思路,就能套到的,比如会遇到一些问题:
很多时候不知道有这种套利机会有时候机会出现的时候,聪明人信息差比较强,等自己意识到想做负利率套利的时候,cex的币可能已经被聪明人借空了...

想要抓住机会,整体的思路大概是这样,需要再完善下:
监控热点信息(推上热点跟踪、链上数据、cex的借贷/利率情况...)。寻找合适的相关工具发现异动后,能定位到原因并发掘其中的机会。足够熟悉了解机制和玩法,以及相关的成本、利润核算执行套利计划。比如手动输入价格、数量容易出错且麻烦,接入交易api;快速核算成本和利润 等等。
LIVE
--
Bullish
#HMSTR $HMSTR 币安要上仓鼠的launchpool和超级赚币了。有几个重要信息: 1️⃣ 代币总供应量1000亿,参考 $DOGS 和 $NOT 的市值(6-8亿),如果市值规模相当,价格大概是 0.006-0.008 左右。我看盘前已经跌倒了0.02。 2️⃣ "超级赚币"申购上限是 30,000 个 $HMSTR (7天),按0.02的价格算,总上限大概600u。比之前 $TON 的 1350 的上限确实低不少。不过超级赚币抢到就是赚到。
#HMSTR $HMSTR

币安要上仓鼠的launchpool和超级赚币了。有几个重要信息:

1️⃣ 代币总供应量1000亿,参考 $DOGS 和 $NOT 的市值(6-8亿),如果市值规模相当,价格大概是 0.006-0.008 左右。我看盘前已经跌倒了0.02。

2️⃣ "超级赚币"申购上限是 30,000 个 $HMSTR (7天),按0.02的价格算,总上限大概600u。比之前 $TON 的 1350 的上限确实低不少。不过超级赚币抢到就是赚到。
LIVE
Binance Announcement
--
币安Launchpool和超级赚币上线HMSTR项目,使用BNB、FDUSD获得Hamster Kombat (HMSTR)
重要提示:币安将是首个上市此代币的平台,交易将与2024年09月26日20:00(东八区时间)开放。任何声称在规定时间线前出售该代币的行为均为虚假广告。请您自行研究以确保资金安全!
亲爱的用户:
币安Launchpool现已上线第58期项目 - Hamster Kombat (HMSTR),一款基于 Telegram 小程序平台构建的加密货币交易所 CEO 模拟器 P2E 游戏。
用户可以在2024年09月23日08:00(东八区时间)后在 Launchpool网站 将BNB、FDUSD投入到HMSTR奖励池中获得HMSTR奖励,HMSTR活动时长共计3天。网站预计将于此公告的大约二十四小时内,活动开放前更新。
新币上市
币安将于2024年09月26日20:00(东八区时间)上市 Hamster Kombat (HMSTR),并开通 HMSTR/USDT、HMSTR/BNB、HMSTR/FDUSD和HMSTR/TRY交易市场,适用种子标签交易规则。
HMSTR超级赚币
用户可以通过申购HMSTR保本赚币定期产品,以享受限时特殊年化收益率。
项目详情
代币名称:Hamster Kombat (HMSTR)代币现总供应量:100,000,000,000 HMSTRLaunchpool总量:3,000,000,000 HMSTR(代币总供应量的3%)研究报告:Hamster Kombat (HMSTR)(研报将于该公告二十四小时内上线)智能合约/网络详情: Ton网络(待更新)限制条款:需KYC个人每小时奖励硬顶
BNB矿池:3,541,666.66 HMSTRFDUSD矿池:625,000 HMSTR
奖励池:
BNB池子(网站将于此公告二十四小时内,活动开放前更新):总共可奖励 2,550,000,000 HMSTR(占85%)FDUSD池子(网站将于此公告二十四小时内,活动开放前更新):总共可奖励450,000,000 HMSTR(占15%)活动时间:2024年09月23日08:00(东八区时间)至2024年09月26日07:59(东八区时间)
奖励额度阶段分配
日期(00:00:00 - 23:59:59 UTC)每日总额度(HMSTR)BNB日额度(HMSTR)FDUSD日额度(HMSTR)2024-09-23 至 2024-09-251,000,000,000850,000,000150,000,000
注:上表每日采用的是UTC时间,换算成东八区时间为当日上午08:00:00至次日上午07:59:59。
HMSTR超级赚币:
HMSTR超级赚币开放时将另行公告。参与HMSTR超级赚币,以获得特殊年化收益率:
数字资产周期限时特殊年化收益率*日利率每人最高可投数量超级赚币代币奖池HMSTR7 天另行公布年化收益率/36530,000 HMSTR100,000,000 HMSTR
* 年化收益率(APR)和日利率(DPR)限时活动是由相关项目提供的代币,仅在活动期间可用,当分配的金额申购完毕时将停止。详情请参阅超级赚币常见问题。
使用新代币探索币安理财
注意:
空投代发:币安将支持选择从HMSTR空投申请页面(该页面将在大约5小时内可用)把代币存入其币安帐户、并符合条件的用户做HMSTR空投代发。如果用户申请了HMSTR空投,但在上市前1小时未在其币安现货帐户中收到代币,请在链上申请HMSTR空投或联络HMSTR的Telegram机器人。居住在以下国家或地区的用户将无法参与空投代发:
加拿大、古巴、克里米亚地区、塞浦路斯、格鲁吉亚、伊朗、爱尔兰、日本、卢森堡、荷兰、北朝鲜、、叙利亚、英国、美国及其领土(美属萨摩亚、关岛、波多黎各、北马里亚纳群岛、美属维尔京群岛)、乌拉圭、乌兹别克斯坦和委内瑞拉。
币安将每小时对用户持仓与奖励池的总持仓数据随机进行多次快照,以计算用户每小时平均持仓并计算奖励;用户可以随时将收到的代币(每小时更新奖励数量)领取到现货账户中;每个奖励池的总持仓数据将实时更新;将实时更新每个池子总池余额;每个奖励池单独计算,用户可以将代币灵活分配到对应池子中,但不支持一币多挖;用户可以随时将某个奖励池中的代币取回并转移至其它奖励池;奖励池中的代币被全部挖完后,参与Launchpool的资产以及尚未领取的代币都将自动返回到用户现货账户中;币安保本赚币BNB活期和定期产品将支持本期Launchpool。用户在BNB活期和定期产品中的BNB将自动参与Launchpool;当有多个Launchpool项目同时进行,若无特别说明,用户在BNB活期和定期产品中的BNB将被平均分配至所有可参加的Launchpool项目;若BNB活期持仓被用作活期借币抵押资产,用户将无法获得Launchpool收益;Launchpool 奖励计算将支持币安 Web3 MPC 钱包中的质押 Lista BNB (slisBNB);转入奖励池中的BNB仍将享受BNB的标准权益的持仓统计,比如空投、VIP权益等;交易机器人和现货跟单交易将在上述代币于现货上市后 24 小时内启用。针对目前已在运行中的现货跟单投资组合,用户可以通过【现货跟单设置】-【个人交易对偏好】启用新的交易对;在币安Launchpool活动期间存在欺诈或滥用行为的参与者,币安保留取消其资格和撤销奖励的权利,包括但不限于:从同一 IP或设备注册账户、批量注册账户以获取额外奖励以及任何其他与非法、欺诈的相关活动;限时特殊年化收益率指:超级赚币的年化收益率奖励。币安保留在活动期间自行调整年化收益率的权利,不再另行通知。于赚币平台申购任何产品前,请参阅赚币平台使用条款;通过“超级赚币”产品所提供的高年化收益率(APR)和日利率(DPR)限时活动是由相关项目提供的代币,仅在活动期间可用,当分配的金额申购完毕时将停止。此高APR和DPR不保证能够长期提供,且可能变动。APR和DPR指以本币单位获得的的加密货币作为奖励的计算方式,并不代表实际或预测的法币或其它加密货币回报。请注意:提供高DPR并不代表对相关项目的认可,亦不构成财务建议。虽然年化利率是按年计算的,但超级赚币的优惠可能不是全年有效。详情请参阅币安使用条款和风险警示。
相关链接
官网白皮书XTelegram
用户能否参与Launchpool将受其所在国家或地区的限制,请以Launchpool页面提示为准。
请留意,下文中所列限制国家或地区并不完整,将可能随着当地法规、监管及其它考量因素的变化而更新。
用户需完成身份认证(KYC),并且不在下列国家或地区才可以参与此次Launchpool。
目前,居住于以下国家或地区的用户不能参与HMSTR Launchpool:澳大利亚、加拿大、古巴、克里米亚地区、伊朗、日本、新西兰、荷兰、朝鲜、叙利亚、美利坚合众国及其领土(美属萨摩亚、关岛、波多黎各、北马里亚纳群岛和美属维尔京群岛)、乌克兰任何非政府控制地区。
除上述地区外,巴西、香港和英国用户也无法参与超级赚币。受限制国家或地区列表将可能随着法律、监管及其它因素的改变而定期更新。
注:英文原版公告与翻译版本可能存在差异。若有任何差异,请参照英文原版以获取最新或最准确的信息。
感谢您对币安的支持!
币安团队
2024年09月12日
注:该公告于2024年09月13日更新,用户将BNB、FDUSD投入到HMSTR奖励池的开始时间由2024年09月19日08:00(东八区时间)修改为2024年09月23日08:00(东八区时间),以及修改每日分配奖励和每位用户的每小时硬顶。
#Floki #CAT #空投 $FLOKI 的 simon cat $CAT 到账了,交易所没上这个币,需要提出来卖。想出货的提到钱包里直接swap。 1️⃣ 打开币安web3钱包,选择提现,选择 $CAT 划转到钱包。需要付一点gas。大概1分钟不到就能到账。 2️⃣ 选择行情tab,$CAT 就在热门榜里,选择之后,点进去拉到最下面有个合约地址:0x6894cde390a3f51155ea41ed24a33a4827d3063d。复制一下。 3️⃣ 回到首页,选择下面的管理代币,增加 $CAT 的合约地址,网络选择 BEP20就行。添加之后就能看到代币数量了。 4️⃣ 选择兑换tab,选择 $CAT 和 $USDT 交易对swap就行,要授权两次,第一次在授权 $CAT ,第二次授权交易。
#Floki #CAT #空投

$FLOKI 的 simon cat $CAT 到账了,交易所没上这个币,需要提出来卖。想出货的提到钱包里直接swap。

1️⃣ 打开币安web3钱包,选择提现,选择 $CAT 划转到钱包。需要付一点gas。大概1分钟不到就能到账。

2️⃣ 选择行情tab,$CAT 就在热门榜里,选择之后,点进去拉到最下面有个合约地址:0x6894cde390a3f51155ea41ed24a33a4827d3063d。复制一下。

3️⃣ 回到首页,选择下面的管理代币,增加 $CAT 的合约地址,网络选择 BEP20就行。添加之后就能看到代币数量了。

4️⃣ 选择兑换tab,选择 $CAT 和 $USDT 交易对swap就行,要授权两次,第一次在授权 $CAT ,第二次授权交易。
FDV和TVL是是什么? 1. FDV(Fully Diluted Valuation):完全稀释市值。完全稀释估值是指如果所有计划发行的代币都已经在市场上流通时,该代币的总市值。FDV提供了对项目潜在市值的一个估计,和流通市值比较也可以预估未来解锁可能带来的卖压和稀释。 2. TVL(Total Value Locked):总锁仓价值。衡量了一个协议中所有锁定的加密资产的总价值。用来评估协议的实际使用情况、潜在收益和市场信心。很多 L2 和公链都有这个概念,使用的人越多,TVL 自然也就更高。 FDV高的项目可能有更大的未来增长空间,但也伴随着更大的稀释风险,而TVL高的项目通常被视为稳健性较高,但增长潜力可能有限。 这两天 #TON 的 TVL 下跌,因为 durov 被捕的消息面因素让大量资金避险逃离。注意这几天的 #TON 的 TVL 情况,关注市场情绪在 TVL 上的反应。
FDV和TVL是是什么?

1. FDV(Fully Diluted Valuation):完全稀释市值。完全稀释估值是指如果所有计划发行的代币都已经在市场上流通时,该代币的总市值。FDV提供了对项目潜在市值的一个估计,和流通市值比较也可以预估未来解锁可能带来的卖压和稀释。
2. TVL(Total Value Locked):总锁仓价值。衡量了一个协议中所有锁定的加密资产的总价值。用来评估协议的实际使用情况、潜在收益和市场信心。很多 L2 和公链都有这个概念,使用的人越多,TVL 自然也就更高。

FDV高的项目可能有更大的未来增长空间,但也伴随着更大的稀释风险,而TVL高的项目通常被视为稳健性较高,但增长潜力可能有限。

这两天 #TON 的 TVL 下跌,因为 durov 被捕的消息面因素让大量资金避险逃离。注意这几天的 #TON 的 TVL 情况,关注市场情绪在 TVL 上的反应。
USDe的原理和潜在风险一、usde的原理 本质就是一个资金费率套利协议,usde是一个由等量的现货多头(主要是ETH)以及期货空头共同构成抵押的新型稳定币。 协议收益来自两方面: 1)现货多头的质押收益。将现货 ETH 通过 Lido 等流动性质押衍生协议进行质押,从而赚取 3% - 5% 的年化收益。 2)期货空头资金费率的不稳定收益。熟悉合约的用户都了解资金费率的概念,虽然资金费率是一个不稳定因素,但对于空头头寸而言,长期来看资金费率为正的时间占大多数,这也意味着整体上收益会呈正向。 两项收益的叠加以及现在的牛市上行行情,让usde的收益率很客观。 二、usde的潜在风险 ethena官网已经详细地分析了几个的风险,大概是以下几点: 1)资金费率风险(Funding Risk)。虽然空头头寸的资金费率大多数时候为正,但也存在转负的可能性,如果在加权质押收益之后的综合收益率为负,就会让协议收益为负。 2)清算(爆仓)风险(Liquidation Risk)。Ethena 使用 ETH 和 BTC 的现货资产作为其做空衍生品头寸的抵押品,同时还使用了一部分质押的以太坊(staked Ethereum, stETH)作为抵押品。由于stETH与衍生品头寸的标的资产(如 ETH 或 BTC)不同,可能存在价值差异,这会引发清算风险。官网讨论了,这个出现的概率极低并且风险上可控,主要是Ethena用的杠杆很低、交易所是逐步清算的、历史数据的表明stETH价差通常很小、Ethena团队内部有应急资金和相应措施等。 3)托管风险(Custodial Risk)和交易所倒闭风险(Exchange Failure Risk):Ethena 采用了“Off-ExchangeSettlement”的托管方式。简单来说资金通常由委托人 ( 即 Ethena)、托管人 ( 第三方托管机构 ) 和交易所三方共管,消除了中心化交易所的单点风险(但也引入了托管人作恶、失败的风险)。Ethena通过尽可能短暂的结算周期、尽可能多样化合作方、监控市场和合作机构的运营情况来减少风险。 4)抵押品风险(Collateral Risk)。主要讨论质押的以太坊(Ethereum LSTs)的流动性以及如果质押协议故障让LST崩盘的风险。流动性问题主要是Ethena建设支持市场的流动性,至于LST崩盘的话,到时候也不只是Ethena协议有影响,整个以太坊生态可能要迎来硬分叉。 另外官网没提到的,还有市场容量的风险,现在usde的市值是31亿左右(2024-08),usde的收益很大一部分是来自空头头寸的资金费率,如果体量上来,合约市场的空头头寸上来,一定会影响到合约资金费的收益率,影响短时间内赎回的流动性,同时也会有更大的交易摩擦和滑点。usde的收益率正常来说也一定会不断下降。 三、总结 总得来说,了解下来个人感觉 极端行情下的合约市场的资金费率、交易所&托管商的暴雷、以太坊生态的质押协议和质押币的价差、Ethena项目方的情况都是在搞usde中要关注的风险点。不过目前usde市值在31亿(usdc是300多亿、usdt是1000多亿),目前的项目还算早期,考虑到目前的体量以及现在的市场行情,目前的APR还是有点吸引力,还是有毛可撸的,但要注意上面提到的相关风险。 题外话,一定要认识到项目方很多也是草班台子,官网介绍里很多风控管理措施是人为干预、应急资金的来降低减少风险。人为的很容易坑爹(出错、被利用攻击、故意作恶),应急资金在项目体量上来之后很多时候就救不起来了。当然了,usde目前来看是可以玩玩的,DYOR。

USDe的原理和潜在风险

一、usde的原理

本质就是一个资金费率套利协议,usde是一个由等量的现货多头(主要是ETH)以及期货空头共同构成抵押的新型稳定币。

协议收益来自两方面:
1)现货多头的质押收益。将现货 ETH 通过 Lido 等流动性质押衍生协议进行质押,从而赚取 3% - 5% 的年化收益。
2)期货空头资金费率的不稳定收益。熟悉合约的用户都了解资金费率的概念,虽然资金费率是一个不稳定因素,但对于空头头寸而言,长期来看资金费率为正的时间占大多数,这也意味着整体上收益会呈正向。

两项收益的叠加以及现在的牛市上行行情,让usde的收益率很客观。

二、usde的潜在风险

ethena官网已经详细地分析了几个的风险,大概是以下几点:

1)资金费率风险(Funding Risk)。虽然空头头寸的资金费率大多数时候为正,但也存在转负的可能性,如果在加权质押收益之后的综合收益率为负,就会让协议收益为负。
2)清算(爆仓)风险(Liquidation Risk)。Ethena 使用 ETH 和 BTC 的现货资产作为其做空衍生品头寸的抵押品,同时还使用了一部分质押的以太坊(staked Ethereum, stETH)作为抵押品。由于stETH与衍生品头寸的标的资产(如 ETH 或 BTC)不同,可能存在价值差异,这会引发清算风险。官网讨论了,这个出现的概率极低并且风险上可控,主要是Ethena用的杠杆很低、交易所是逐步清算的、历史数据的表明stETH价差通常很小、Ethena团队内部有应急资金和相应措施等。
3)托管风险(Custodial Risk)和交易所倒闭风险(Exchange Failure Risk):Ethena 采用了“Off-ExchangeSettlement”的托管方式。简单来说资金通常由委托人 ( 即 Ethena)、托管人 ( 第三方托管机构 ) 和交易所三方共管,消除了中心化交易所的单点风险(但也引入了托管人作恶、失败的风险)。Ethena通过尽可能短暂的结算周期、尽可能多样化合作方、监控市场和合作机构的运营情况来减少风险。
4)抵押品风险(Collateral Risk)。主要讨论质押的以太坊(Ethereum LSTs)的流动性以及如果质押协议故障让LST崩盘的风险。流动性问题主要是Ethena建设支持市场的流动性,至于LST崩盘的话,到时候也不只是Ethena协议有影响,整个以太坊生态可能要迎来硬分叉。

另外官网没提到的,还有市场容量的风险,现在usde的市值是31亿左右(2024-08),usde的收益很大一部分是来自空头头寸的资金费率,如果体量上来,合约市场的空头头寸上来,一定会影响到合约资金费的收益率,影响短时间内赎回的流动性,同时也会有更大的交易摩擦和滑点。usde的收益率正常来说也一定会不断下降。

三、总结

总得来说,了解下来个人感觉 极端行情下的合约市场的资金费率、交易所&托管商的暴雷、以太坊生态的质押协议和质押币的价差、Ethena项目方的情况都是在搞usde中要关注的风险点。不过目前usde市值在31亿(usdc是300多亿、usdt是1000多亿),目前的项目还算早期,考虑到目前的体量以及现在的市场行情,目前的APR还是有点吸引力,还是有毛可撸的,但要注意上面提到的相关风险。

题外话,一定要认识到项目方很多也是草班台子,官网介绍里很多风控管理措施是人为干预、应急资金的来降低减少风险。人为的很容易坑爹(出错、被利用攻击、故意作恶),应急资金在项目体量上来之后很多时候就救不起来了。当然了,usde目前来看是可以玩玩的,DYOR。
理解luna和ust的死亡螺旋luna和ust在22年的时候死亡螺旋归零,警钟案例了,看看大概是怎么一回事。 一、ust算法稳定机制 简单来说需要先理解luna和ust的稳定机制: 1. ust的创建:burn掉$1市价的luna,可以mint一个ust。 2. ust的销毁:burn掉一个ust,可以mint $1市价的luna。 在ust>$1的时候:市场会有套利着市价买入$1的luna,burn掉之后,mint 1个ust,把这1个ust已高于$1卖掉,市场完成了套利,从而推动了ust的供应,让ust回锚到$1。 在ust<$1的时候:市场会有套利者市价买入1个ust,burn掉之后,mint市价$1的luna,把这个luna按$1卖掉,市场完成了套利,从而减少了ust的供应,让ust回锚到$1。 通过市场的套利机制来让ust锚定(peg)$1。 二、ust和luna的螺旋上升 terra推广ust宣扬了很多优点(defi、censorship resistance),但最重要的是terra生态里的Anchor Protocol,一个去中心化银行(储蓄、借贷ust),储蓄可以提供20%的年化(APR),收益来自借贷ust的收益以及借贷ust的抵押物(要求抵押物是eth等可质押的币)所产生的质押收益。极高的APR吸引了很多人购买ust,从而推动了luna的需求,luna和ust就左脚踩右脚螺旋上升。 三、ust和luna的死亡螺旋 Anchor Protocol实际上没这么多借贷需求,协议收入不够覆盖利息支出,尤其是在体量大了之后,靠项目方补贴的方式是不可持续的,所以协议后面调低了APR。这导致了大户抛售ust,ust脱钩,随后引发了陆续的抛售,直接把Curve(一个去中心化的稳定币的交易池子)的池子抽干了,随后市场fud,开始去链上换luna抛售,导致luna价格下跌和流动性紧缩,从而引发更大fud,因为流动性紧缩和市场极度fud,导致ust迟迟无法回锚,luna疯狂下跌。项目方想救市,但资金体量不够,直接救不回来了。 利用市场的套利机制来稳定ust,在市场流动性充足的情况下(市场对luna和ust有足够的共识)是没问题的。一旦流动性紧缩(通常会带来fud,从而进一步紧缩和下跌),就会死亡螺旋直接到归零。

理解luna和ust的死亡螺旋

luna和ust在22年的时候死亡螺旋归零,警钟案例了,看看大概是怎么一回事。

一、ust算法稳定机制

简单来说需要先理解luna和ust的稳定机制:
1. ust的创建:burn掉$1市价的luna,可以mint一个ust。
2. ust的销毁:burn掉一个ust,可以mint $1市价的luna。

在ust>$1的时候:市场会有套利着市价买入$1的luna,burn掉之后,mint 1个ust,把这1个ust已高于$1卖掉,市场完成了套利,从而推动了ust的供应,让ust回锚到$1。
在ust<$1的时候:市场会有套利者市价买入1个ust,burn掉之后,mint市价$1的luna,把这个luna按$1卖掉,市场完成了套利,从而减少了ust的供应,让ust回锚到$1。
通过市场的套利机制来让ust锚定(peg)$1。

二、ust和luna的螺旋上升

terra推广ust宣扬了很多优点(defi、censorship resistance),但最重要的是terra生态里的Anchor Protocol,一个去中心化银行(储蓄、借贷ust),储蓄可以提供20%的年化(APR),收益来自借贷ust的收益以及借贷ust的抵押物(要求抵押物是eth等可质押的币)所产生的质押收益。极高的APR吸引了很多人购买ust,从而推动了luna的需求,luna和ust就左脚踩右脚螺旋上升。

三、ust和luna的死亡螺旋

Anchor Protocol实际上没这么多借贷需求,协议收入不够覆盖利息支出,尤其是在体量大了之后,靠项目方补贴的方式是不可持续的,所以协议后面调低了APR。这导致了大户抛售ust,ust脱钩,随后引发了陆续的抛售,直接把Curve(一个去中心化的稳定币的交易池子)的池子抽干了,随后市场fud,开始去链上换luna抛售,导致luna价格下跌和流动性紧缩,从而引发更大fud,因为流动性紧缩和市场极度fud,导致ust迟迟无法回锚,luna疯狂下跌。项目方想救市,但资金体量不够,直接救不回来了。

利用市场的套利机制来稳定ust,在市场流动性充足的情况下(市场对luna和ust有足够的共识)是没问题的。一旦流动性紧缩(通常会带来fud,从而进一步紧缩和下跌),就会死亡螺旋直接到归零。
btc交易大小单位科普:一般有三个计量单位,bytes、weight units、virtual bytes。 1️⃣ bytes:字节(SegWit之后就不用了)。就是日常见到的计算机中占用的存储大小。老的交易(SegWit之前)就是用这个来衡量,通常来说输入输出越多,字节越多,交易大小越大。 2️⃣ weight units:权重(btc中特有的),在SegWit之后引入。简单理解的话,就是先把交易分成交易数据+见证数据,交易数据*4+见证数据=权重大小。 3️⃣ virtual bytes:虚拟字节(btc中特有的),在SegWit之后引入。权重大小除以4就是虚拟字节大小,所以也可以理解成:交易数据+见证数据*0.25=虚拟字节大小。 virtual bytes很直观,而且旧区块也能使用这种方式衡量比较。但程序代码里基本都是用weight units的,因为virtual bytes会引入小数的计算,计算机的浮点数总是会有各种问题,所以程序里基本都是weight units,但在对人类展示等场景,会使用比较直观的virtual bytes。
btc交易大小单位科普:一般有三个计量单位,bytes、weight units、virtual bytes。

1️⃣ bytes:字节(SegWit之后就不用了)。就是日常见到的计算机中占用的存储大小。老的交易(SegWit之前)就是用这个来衡量,通常来说输入输出越多,字节越多,交易大小越大。
2️⃣ weight units:权重(btc中特有的),在SegWit之后引入。简单理解的话,就是先把交易分成交易数据+见证数据,交易数据*4+见证数据=权重大小。
3️⃣ virtual bytes:虚拟字节(btc中特有的),在SegWit之后引入。权重大小除以4就是虚拟字节大小,所以也可以理解成:交易数据+见证数据*0.25=虚拟字节大小。

virtual bytes很直观,而且旧区块也能使用这种方式衡量比较。但程序代码里基本都是用weight units的,因为virtual bytes会引入小数的计算,计算机的浮点数总是会有各种问题,所以程序里基本都是weight units,但在对人类展示等场景,会使用比较直观的virtual bytes。
比特币地址科普一、btc各类地址简介 btc地址有很多种,分别介绍一下: 1️⃣. P2PK(Pay-To-Public-Key):付款给公钥。其实就是一个公钥,0号区块的coinbase交易的区块奖励交易就直接打给公钥的。这类地址的btc持有占比约9%。因为成本和隐私性问题,已经废弃了。 2️⃣. P2PKH(Pay-to-Public-Key-Hash):付款给公钥的哈希。就是常见的1开头的地址。通过把公钥通过SHA-256和RIPEMD-160做哈希处理,并通过Base58编码获得,还引入了checksum。这类地址的btc持有占比约43%。还在使用,但不那么流行了。 3️⃣. P2MS(Pay-to-Multisig):付款给一个多签公钥。P2PK的多签版本。这类地址的btc持有占比约0.0002%。跟P2PK一样因为成本和隐私性问题,已经废弃了。 4️⃣. P2SH(Pay-to-Script-Hash):付款一个脚本哈希。就是常见的3开头的地址。和P2PKH几乎是一样的,但P2PKH是对公钥哈希,P2SH是对redeem脚本哈希,redeem脚本可以决定未来怎么使用接受到的btc。这带来了很多智能合约的可行性,多签钱包、时间锁定等都可以用这个方式实现。以及后面提到的 Nested SegWit 也是用了这种方案。这类地址的btc持有占比约24%。因为后来SegWit的升级,现在也没那么流行了。 5️⃣. P2WPKH(Pay-to-Witness-Public-Key-Hash):付款给隔离见证的公钥哈希。是日常常见的bc1q开头的地址。是P2PKH的SegWit版本。因为用了Bech32编码而不是Base58,所以地址看起来不太一样,变成了bc1q开头42长度的字符,同时没有了大写字符。这类地址的btc持有占比约20%。 6️⃣. P2WSH(Pay-to-Witness-Script-Hash):付款给隔离见证的脚本哈希。是P2SH的SegWit版本。也是bc1q开头,不过长度是62位。因为哈希只用SHA-256,没有用RIPEMD-160,长度更长。这类地址的btc持有占比约4%。 7️⃣. Nested SegWit(P2SH-P2WPKH and P2SH-P2WSH):其实就是P2SH地址,不过只支持了SegWit。背景是SegWit的升级引入了bc1q的地址(P2WPKH和P2WSH),是一个软分叉,只有升级了的钱包/工具才能打款到bc1q地址,如果一个人希望他的地址能被旧钱包/工具打款,又同时能使用SegWit降低手续费,就引入了Nested SegWit,即在P2SH中引入了SegWit脚本解决了这个问题。现在SegWit已经完成了升级,所有的btc钱包/工具都支持了SegWit了。 8️⃣. P2TR(Pay-to-Taproot)。日常见到的bc1p开头地址。Taproot因为使用了Schnorr签名算法,隐私性更好并且也能降低手续费。编码使用了Bech32m,所以是一个bc1p开头的62长度的字符。这类地址的btc持有占比约0.1%。 二、常见地址分类 上面是比较细致的划分,日常钱包/工具一般会分成4类: 1️⃣. Legacy:1开头的P2PKH(Pay-to-Public-Key-Hash)的地址。 2️⃣. Nested SegWit:3开头的P2SH(Pay-to-Script-Hash)地址,兼容了SegWit协议的地址。 3️⃣. Native SegWit:bc1q开头的P2WPKH(Pay-to-Witness-Public-Key-Hash)和P2WSH(Pay-to-Witness-Script-Hash)地址。 4️⃣. Taproot:bc1p开头的P2TR(Pay-to-Taproot)地址。 三、常见问题 Q1:各类地址类型之间能相互转账么,会丢币么? 转账当然是可以的,都是btc合法的主网地址。如果你是接收方,主网上交易确认了,就能收到。如果你是发送方,如果用的旧钱包/工具可能没升级,可能会不支持向Native SegWit或Taproot转账,这种根本也识别不了地址发不了交易,所以也丢不了币。 Q2:接收方比如很多cex支持很多地址充值,选哪种比较好? 优先级Taproot > Native SegWit > Nested SegWit > Legacy,因为Taproot和Native SegWit优化了交易数据的结构,手续费相对会更低。 #BTC☀ $BTC {spot}(BTCUSDT)

比特币地址科普

一、btc各类地址简介
btc地址有很多种,分别介绍一下:
1️⃣. P2PK(Pay-To-Public-Key):付款给公钥。其实就是一个公钥,0号区块的coinbase交易的区块奖励交易就直接打给公钥的。这类地址的btc持有占比约9%。因为成本和隐私性问题,已经废弃了。
2️⃣. P2PKH(Pay-to-Public-Key-Hash):付款给公钥的哈希。就是常见的1开头的地址。通过把公钥通过SHA-256和RIPEMD-160做哈希处理,并通过Base58编码获得,还引入了checksum。这类地址的btc持有占比约43%。还在使用,但不那么流行了。
3️⃣. P2MS(Pay-to-Multisig):付款给一个多签公钥。P2PK的多签版本。这类地址的btc持有占比约0.0002%。跟P2PK一样因为成本和隐私性问题,已经废弃了。
4️⃣. P2SH(Pay-to-Script-Hash):付款一个脚本哈希。就是常见的3开头的地址。和P2PKH几乎是一样的,但P2PKH是对公钥哈希,P2SH是对redeem脚本哈希,redeem脚本可以决定未来怎么使用接受到的btc。这带来了很多智能合约的可行性,多签钱包、时间锁定等都可以用这个方式实现。以及后面提到的 Nested SegWit 也是用了这种方案。这类地址的btc持有占比约24%。因为后来SegWit的升级,现在也没那么流行了。
5️⃣. P2WPKH(Pay-to-Witness-Public-Key-Hash):付款给隔离见证的公钥哈希。是日常常见的bc1q开头的地址。是P2PKH的SegWit版本。因为用了Bech32编码而不是Base58,所以地址看起来不太一样,变成了bc1q开头42长度的字符,同时没有了大写字符。这类地址的btc持有占比约20%。
6️⃣. P2WSH(Pay-to-Witness-Script-Hash):付款给隔离见证的脚本哈希。是P2SH的SegWit版本。也是bc1q开头,不过长度是62位。因为哈希只用SHA-256,没有用RIPEMD-160,长度更长。这类地址的btc持有占比约4%。
7️⃣. Nested SegWit(P2SH-P2WPKH and P2SH-P2WSH):其实就是P2SH地址,不过只支持了SegWit。背景是SegWit的升级引入了bc1q的地址(P2WPKH和P2WSH),是一个软分叉,只有升级了的钱包/工具才能打款到bc1q地址,如果一个人希望他的地址能被旧钱包/工具打款,又同时能使用SegWit降低手续费,就引入了Nested SegWit,即在P2SH中引入了SegWit脚本解决了这个问题。现在SegWit已经完成了升级,所有的btc钱包/工具都支持了SegWit了。
8️⃣. P2TR(Pay-to-Taproot)。日常见到的bc1p开头地址。Taproot因为使用了Schnorr签名算法,隐私性更好并且也能降低手续费。编码使用了Bech32m,所以是一个bc1p开头的62长度的字符。这类地址的btc持有占比约0.1%。

二、常见地址分类
上面是比较细致的划分,日常钱包/工具一般会分成4类:
1️⃣. Legacy:1开头的P2PKH(Pay-to-Public-Key-Hash)的地址。
2️⃣. Nested SegWit:3开头的P2SH(Pay-to-Script-Hash)地址,兼容了SegWit协议的地址。
3️⃣. Native SegWit:bc1q开头的P2WPKH(Pay-to-Witness-Public-Key-Hash)和P2WSH(Pay-to-Witness-Script-Hash)地址。
4️⃣. Taproot:bc1p开头的P2TR(Pay-to-Taproot)地址。

三、常见问题

Q1:各类地址类型之间能相互转账么,会丢币么?
转账当然是可以的,都是btc合法的主网地址。如果你是接收方,主网上交易确认了,就能收到。如果你是发送方,如果用的旧钱包/工具可能没升级,可能会不支持向Native SegWit或Taproot转账,这种根本也识别不了地址发不了交易,所以也丢不了币。

Q2:接收方比如很多cex支持很多地址充值,选哪种比较好?

优先级Taproot > Native SegWit > Nested SegWit > Legacy,因为Taproot和Native SegWit优化了交易数据的结构,手续费相对会更低。

#BTC☀
$BTC
看懂mempool系列(一)mempool是比特币网络查看区块、交易内存池情况的网站。日常比如看链上手续费、链上拥堵情况的时候非常实用。 首页的几个面板含义简单介绍下(结合配图): 1. 已确认的区块。有个序号标识,表示是链上第x个区块。 2. 未确认的区块。 3. 区块内容概览。从上到下分别是: 3.1 中位数的手续费率3.2 手续费率区间3.3 区块总交易手续费(除了这个,矿工还有区块奖励,目前是3.125btc)3.4 区块包含交易数3.5 多久前的区块 4. 下一个区块的费率优先级情况。日常链上交易主要结合这个判断自己需要出多少交易费。其中的No Priority是指,Low Priority和最低费率*2的较小值。(最低费率下面会提到) 5. 难度情况。 6. 区块内交易的概览。这里主要给了三个筛选项(其实点进去还可以筛选更多) 6.1 Consolidation: 归集操作(很多地址归集到一个地址,一般是交易所在搞)6.2 Coionjoin:混币。多个输入,多个输出6.3 Data:有些数据操作,比如铭文、Runes 7. 内存池的情况。其中的Purging表示最低费率。一个节点的内存池默认是300MB,对于一些手续费率较低的交易会直接拒绝,防止浪费空间。 8. 最近的追加费用替换操作。RBF(Replace-By-Fee)是指把之前的交易用更高的手续费去替换。FULL RBF是指部分节点在交易没有设置RBF标记位的情况下的也支持做RBF操作。 9. 最近的产生的交易。

看懂mempool系列(一)

mempool是比特币网络查看区块、交易内存池情况的网站。日常比如看链上手续费、链上拥堵情况的时候非常实用。
首页的几个面板含义简单介绍下(结合配图):

1. 已确认的区块。有个序号标识,表示是链上第x个区块。
2. 未确认的区块。
3. 区块内容概览。从上到下分别是:
3.1 中位数的手续费率3.2 手续费率区间3.3 区块总交易手续费(除了这个,矿工还有区块奖励,目前是3.125btc)3.4 区块包含交易数3.5 多久前的区块
4. 下一个区块的费率优先级情况。日常链上交易主要结合这个判断自己需要出多少交易费。其中的No Priority是指,Low Priority和最低费率*2的较小值。(最低费率下面会提到)
5. 难度情况。
6. 区块内交易的概览。这里主要给了三个筛选项(其实点进去还可以筛选更多)
6.1 Consolidation: 归集操作(很多地址归集到一个地址,一般是交易所在搞)6.2 Coionjoin:混币。多个输入,多个输出6.3 Data:有些数据操作,比如铭文、Runes
7. 内存池的情况。其中的Purging表示最低费率。一个节点的内存池默认是300MB,对于一些手续费率较低的交易会直接拒绝,防止浪费空间。
8. 最近的追加费用替换操作。RBF(Replace-By-Fee)是指把之前的交易用更高的手续费去替换。FULL RBF是指部分节点在交易没有设置RBF标记位的情况下的也支持做RBF操作。
9. 最近的产生的交易。
Taproot升级由3项比特币改进提案(BIP)共同协作实现: 1.1)Schnorr签名(BIP340):这个签名算法可以把各方的签名可整合为单一的Schnorr签名,优化了多签交易的处理。同时这个签名算法更高效和安全,从而提高交易处理速度和减少交易所需空间。 1.2)Taproot (BIP341):默克尔化替代脚本树(MAST)来处理脚本,简单来说其实就是优化/合并多签交易的脚本,降低了交易所需的空间、提高了效率。同时可以让区块中复杂交易和简单交易无法区分,一定程度上保护了隐私。 1.3)Tapscript (BIP342):定义一系列操作码的集合,优化了脚本的编写,区块的可用空间变多,新功能也会更加灵活。为未来的智能合约铺垫。 总得来说:Taproot升级 降低区块链中传输与存储的数据量来改善网络可扩展性和效率,一定程度上提高了隐私性,可支持更复杂的脚本。这为后来的Ordinals协议做了铺垫。
Taproot升级由3项比特币改进提案(BIP)共同协作实现:
1.1)Schnorr签名(BIP340):这个签名算法可以把各方的签名可整合为单一的Schnorr签名,优化了多签交易的处理。同时这个签名算法更高效和安全,从而提高交易处理速度和减少交易所需空间。
1.2)Taproot (BIP341):默克尔化替代脚本树(MAST)来处理脚本,简单来说其实就是优化/合并多签交易的脚本,降低了交易所需的空间、提高了效率。同时可以让区块中复杂交易和简单交易无法区分,一定程度上保护了隐私。
1.3)Tapscript (BIP342):定义一系列操作码的集合,优化了脚本的编写,区块的可用空间变多,新功能也会更加灵活。为未来的智能合约铺垫。

总得来说:Taproot升级 降低区块链中传输与存储的数据量来改善网络可扩展性和效率,一定程度上提高了隐私性,可支持更复杂的脚本。这为后来的Ordinals协议做了铺垫。
1. Ordinals协议:每枚比特币由1亿聪(sat)组成。Ordinals协议使每个聪都能得到识别,并通过附加的数据进行交易。其实就是每个statoshi mint出来的顺序作为标记,然后交易把数据inscribe到区块中的见证数据里,inscribe后第一个statoshi可以作为唯一的标记(通过transaction hash或者statoshi的序号确定)。这就可以作为btc链上的nft。 2. BRC20:利用ordinals协议在发布代币的协议。其实写见证数据的时候写一串json,这个json遵循brc20协议约定的一系列规则。比如ticker名,最大发行量,depoly/mint/transfer操作等等。 3. 符文:类似BRC20的btc代币发行协议。不过数据不是写到见证数据里,利用btc的OP_RETURN操作码来实现,直接把数据加到transaction里(OP_RETURN操作码限制最多80字节,所以用来搞nft不太行,但代币绰绰有余)。
1. Ordinals协议:每枚比特币由1亿聪(sat)组成。Ordinals协议使每个聪都能得到识别,并通过附加的数据进行交易。其实就是每个statoshi mint出来的顺序作为标记,然后交易把数据inscribe到区块中的见证数据里,inscribe后第一个statoshi可以作为唯一的标记(通过transaction hash或者statoshi的序号确定)。这就可以作为btc链上的nft。

2. BRC20:利用ordinals协议在发布代币的协议。其实写见证数据的时候写一串json,这个json遵循brc20协议约定的一系列规则。比如ticker名,最大发行量,depoly/mint/transfer操作等等。

3. 符文:类似BRC20的btc代币发行协议。不过数据不是写到见证数据里,利用btc的OP_RETURN操作码来实现,直接把数据加到transaction里(OP_RETURN操作码限制最多80字节,所以用来搞nft不太行,但代币绰绰有余)。
Bitcoin的block里到底存了什么? 总共5个部分: 1. 魔数(Magic no) 2. 区块大小(Blocksize) 3. 区块头(Blockheader) 4. 交易数(Transaction counter) 5. 交易列表(Transactions) 1.魔数(Magic no) 固定是0xD9B4BEF9,这个部分占用4字节。 魔数并非是btc特有的,很多软件应用/协议都有这样一个设计,用于标识文件格式或者协议。比如gif用文本编辑器打开后就是用gif开头的。至于为什么是0xD9B4BEF9,可能是这个数字对Satoshi有什么特殊的含义。 2.区块大小(Blocksize) 描述区块后续部分的数据所占用的字节数,这个部分占用4字节。 区块大小限制目前最大现在是4MB。在Segwit之前最大限制的是1MB,Segwit提案扩大了区块大小。 至于为什么要限制区块大小,一个区块能打包大量交易能让整体的交易更快岂不是更好吗?是因为在设计之初,Satoshi更关注去中心化和安全,而小区块更去中心化(减少节点运行的成本),同时也减缓网络的延迟可能带来的问题。并且bitcoin社区本身是比较保守的,扩大区块大小在很多开发者、矿工、社区的眼里并不是很重要。闪电网络、Segwit升级也一定程度上减轻了区块大小限制的问题。 3.区块头(Blockheader) 区块头由以下6部分组成,总共80 bytes: 版本号 Version(4 bytes)前一个区块的hash hashPrevBlock(32 bytes, 256-bits)默克尔树hash hashMerkleRoot(32 bytes, 256-bits)秒级时间戳 Time(4 bytes)难度target值 nBits(4 bytes)随机数 Nonce(4 bytes) 一个简单的区块头示例: 02000000 ........................... Block version: 2 b6ff0b1b1680a2862a30ca44d346d9e8 910d334beb48ca0c0000000000000000 ... Hash of previous block's header 9d10aa52ee949386ca9385695f04ede2 70dda20810decd12bc9b048aaab31471 ... Merkle root 24d95a54 ........................... [Unix time][unix epoch time]: 1415239972 30c31b18 ........................... Target: 0x1bc330 256*(0x18-3) fe9f0864 ........................... Nonce 3.1 版本号 Version(4 bytes) 现在的版本号分成三个部分,从高位开始: 1. 第一部分(31-29,3bit):为了将来可能的机制升级,现在默认就是b001。 2. 第二部分(13-28,16bit):通用用途,矿工可以自己设置,很多矿工用ASIC boost的时候,会使用这里的bit扩大挖矿搜索空间。(参考BIP-320) 3. 第三部分(0-12,13bit):用于软分叉标记,每个bit都是一个标记位,会对应相应的软分叉提案,可以支持多个软分叉提案,同时每个提案会有起始和终止时间。 version不是一开始就是这种定义的,创世区块的vesion是1,后来几次软分叉升级都通过递增version来实现的,在网络中的切换通过一种双门槛切换(double-threshold switchover)的方式进行升级。这两个门槛是75%规则和95%规则,75%规则是指最近的750/1000个区块支持提案后,所有用新version的区块必须符合软分叉提案标准;95%规则是指最近的950/1000个区块支持提案后,所有的老version区块会被网络拒绝。这样的方式有两个问题,1)缺少超时时间;2)不支持多个提案。所以后面在BIP-9升级了就变成了现在的version协议。 3.2 前一个区块的hash hashPrevBlock(32 bytes, 256-bits) 前一个区块的 SHA256(SHA256()) 哈希。 3.3 默克尔树hash hashMerkleRoot(32 bytes, 256-bits) 所有交易根据默克尔树的结构生成的哈希。用哈希是为了防篡改,而用默克尔树是因为白皮书里提到的spv(Simple Payment Verification)的概念的,用于减少节点的成本,更好地去中心化。(这里我后面再单独写一下bitcoin这里用默克尔树的原因) 3.4 秒级时间戳 Time(4 bytes) 当前区块的时间戳,这个其实是矿工自己设置的,而且网络是10分钟出块,这里的时间是有操作空间的,可以用来作为挖矿的搜索空间。 这个是秒级时间戳,这里是不是会有2038年的问题(到了2038年,如果用int表示秒级时间戳就溢出了)? 不会的,代码里是无符号int,可以用到2106年。这个是“Satoshi的试验项目”,如果活到了2106后,网络需要进行一次完整的大升级。 3.5 难度target值 nBits(4 bytes) 这个是要表示一个难度值,block的哈希必须小于这个难度值,才算一个有效的区块。 bitcoin的哈希用的是SHA-256,最后生成的是一个256位的数字,难度值其实也是一个256位的数字,但是这里只给4字节(32位),要用32位表示256位,这里用了类似浮点数的压缩表示格式(其实就是科学计数法,放弃一点精度,约定一下尾数significand,指数exponent和base的一种格式)。 3.6 随机数 Nonce(4 bytes) 这里的32位就是矿工自由填充的,用来作为挖矿的搜索空间。 4.交易数(Transaction counter) 就是标识后面有多少笔交易。 5.交易列表(Transactions) 这里就是coinbase交易+矿工从mempool中选出来要打包的一堆交易。比较特别的就是coinbase交易,这笔交易就是矿工的奖励,包括新挖的区块奖励以及手续费奖励,这笔交易是矿工发到自己地址的一笔交易。coinbase因为是发给矿工自己里的,里面有些可操作空间,里面有部分作为extranonce可以用于扩充挖矿的搜索空间。\ #BTC☀ #技术学习

Bitcoin的block里到底存了什么?

总共5个部分:
1. 魔数(Magic no)
2. 区块大小(Blocksize)
3. 区块头(Blockheader)
4. 交易数(Transaction counter)
5. 交易列表(Transactions)

1.魔数(Magic no)
固定是0xD9B4BEF9,这个部分占用4字节。
魔数并非是btc特有的,很多软件应用/协议都有这样一个设计,用于标识文件格式或者协议。比如gif用文本编辑器打开后就是用gif开头的。至于为什么是0xD9B4BEF9,可能是这个数字对Satoshi有什么特殊的含义。
2.区块大小(Blocksize)
描述区块后续部分的数据所占用的字节数,这个部分占用4字节。
区块大小限制目前最大现在是4MB。在Segwit之前最大限制的是1MB,Segwit提案扩大了区块大小。
至于为什么要限制区块大小,一个区块能打包大量交易能让整体的交易更快岂不是更好吗?是因为在设计之初,Satoshi更关注去中心化和安全,而小区块更去中心化(减少节点运行的成本),同时也减缓网络的延迟可能带来的问题。并且bitcoin社区本身是比较保守的,扩大区块大小在很多开发者、矿工、社区的眼里并不是很重要。闪电网络、Segwit升级也一定程度上减轻了区块大小限制的问题。

3.区块头(Blockheader)
区块头由以下6部分组成,总共80 bytes:
版本号 Version(4 bytes)前一个区块的hash hashPrevBlock(32 bytes, 256-bits)默克尔树hash hashMerkleRoot(32 bytes, 256-bits)秒级时间戳 Time(4 bytes)难度target值 nBits(4 bytes)随机数 Nonce(4 bytes)
一个简单的区块头示例:
02000000 ........................... Block version: 2

b6ff0b1b1680a2862a30ca44d346d9e8
910d334beb48ca0c0000000000000000 ... Hash of previous block's header
9d10aa52ee949386ca9385695f04ede2
70dda20810decd12bc9b048aaab31471 ... Merkle root

24d95a54 ........................... [Unix time][unix epoch time]: 1415239972
30c31b18 ........................... Target: 0x1bc330 256*(0x18-3)
fe9f0864 ........................... Nonce

3.1 版本号 Version(4 bytes)
现在的版本号分成三个部分,从高位开始:
1. 第一部分(31-29,3bit):为了将来可能的机制升级,现在默认就是b001。
2. 第二部分(13-28,16bit):通用用途,矿工可以自己设置,很多矿工用ASIC boost的时候,会使用这里的bit扩大挖矿搜索空间。(参考BIP-320)
3. 第三部分(0-12,13bit):用于软分叉标记,每个bit都是一个标记位,会对应相应的软分叉提案,可以支持多个软分叉提案,同时每个提案会有起始和终止时间。
version不是一开始就是这种定义的,创世区块的vesion是1,后来几次软分叉升级都通过递增version来实现的,在网络中的切换通过一种双门槛切换(double-threshold switchover)的方式进行升级。这两个门槛是75%规则和95%规则,75%规则是指最近的750/1000个区块支持提案后,所有用新version的区块必须符合软分叉提案标准;95%规则是指最近的950/1000个区块支持提案后,所有的老version区块会被网络拒绝。这样的方式有两个问题,1)缺少超时时间;2)不支持多个提案。所以后面在BIP-9升级了就变成了现在的version协议。

3.2 前一个区块的hash hashPrevBlock(32 bytes, 256-bits)
前一个区块的 SHA256(SHA256()) 哈希。

3.3 默克尔树hash hashMerkleRoot(32 bytes, 256-bits)
所有交易根据默克尔树的结构生成的哈希。用哈希是为了防篡改,而用默克尔树是因为白皮书里提到的spv(Simple Payment Verification)的概念的,用于减少节点的成本,更好地去中心化。(这里我后面再单独写一下bitcoin这里用默克尔树的原因)

3.4 秒级时间戳 Time(4 bytes)
当前区块的时间戳,这个其实是矿工自己设置的,而且网络是10分钟出块,这里的时间是有操作空间的,可以用来作为挖矿的搜索空间。

这个是秒级时间戳,这里是不是会有2038年的问题(到了2038年,如果用int表示秒级时间戳就溢出了)?
不会的,代码里是无符号int,可以用到2106年。这个是“Satoshi的试验项目”,如果活到了2106后,网络需要进行一次完整的大升级。

3.5 难度target值 nBits(4 bytes)
这个是要表示一个难度值,block的哈希必须小于这个难度值,才算一个有效的区块。

bitcoin的哈希用的是SHA-256,最后生成的是一个256位的数字,难度值其实也是一个256位的数字,但是这里只给4字节(32位),要用32位表示256位,这里用了类似浮点数的压缩表示格式(其实就是科学计数法,放弃一点精度,约定一下尾数significand,指数exponent和base的一种格式)。

3.6 随机数 Nonce(4 bytes)
这里的32位就是矿工自由填充的,用来作为挖矿的搜索空间。
4.交易数(Transaction counter)
就是标识后面有多少笔交易。
5.交易列表(Transactions)
这里就是coinbase交易+矿工从mempool中选出来要打包的一堆交易。比较特别的就是coinbase交易,这笔交易就是矿工的奖励,包括新挖的区块奖励以及手续费奖励,这笔交易是矿工发到自己地址的一笔交易。coinbase因为是发给矿工自己里的,里面有些可操作空间,里面有部分作为extranonce可以用于扩充挖矿的搜索空间。\

#BTC☀ #技术学习
Segregated Witness(隔离见证)是什么Segregated Witness(隔离见证)是一项旨在解决比特币区块链交易延展性(Transaction Malleability)问题的提案(BIP-141)。 1. 什么是交易延展性(Transaction Malleability)? 即交易内容没有变,但是交易id变了。在btc网络中使用的ECDSA签名算法,由于椭圆曲线的对称性,对某个交易进行签名,总是可以计算出两个有效的签名,并且这两个有效的签名还可以互相计算出来。在广播了一笔交易之后,再用不同的签名发布一笔相同内容的交易,这两笔交易内容一样,但交易id不同,会在网络中误导网络中的参与者。 2. 交易延展更改了签名,但交易内容没变,最后网络还是会确认这笔交易内容,第二笔签名不一样但交易内容相同也会被作废,对交易安全并没有影响,网络中实际也并也不会有双花问题(同一份钱被花了两次),那交易延展实际会对什么会有影响? 其实主要因为很多比特币服务(如交易所、第三方链上自动化服务)依赖交易id用作交易的标识。一个例子就是,小A从交易所发起提币,然后他提币这个交易就被广播出去了,在他这笔交易还没有被节点验证之前,小A进行了延展性攻击,恰好攻击产生的新交易先被确认,而新交易会让他获得币,老交易会被网络拒绝。小A却向交易所申诉自己并没有收到币,交易所看到之前给小A转币的那笔交易确实被拒绝了,因此又给他汇了一笔币。 3. 听起来问题其实是因为交易id被用作交易的标识才导致的问题,那不用交易id作为交易标识可行么? 分析下btc区块中的内容,比如使用块高度+交易位置确定标识?或者自己根据交易输入+输出散列确定标识?这些确实也可以作为可以唯一标识符,但要么在实践中效率低下,要么不如交易id来得方便和安全(交易id会直接记录在区块内容中,上链之后永远不可变)。 4. segwit怎么解决交易延展性这个问题? segwit通过将交易签名数据(见证)从区块中分离出来,更改签名不会再影响交易id,有效地解决了这个问题。同时segwit也一定程度减少区块大小,提高交易处理能力(如spv可以在相同的带宽下处理更多的交易内容)。 5. 那在segwit之前是怎么解决这种问题? 交易失败后,需要根据区块链上的交易失败报错信息,并查看检查网络中是否在短时间内已经发起了这样的交易来分辨是否遭受了交易延展攻击。同时也应尽量避免在未确认的交易或少数区块确认的交易上做逻辑。但这些方式并没有从根本上解决问题。 #BTC☀ #SegWit #技术学习 {spot}(BTCUSDT)

Segregated Witness(隔离见证)是什么

Segregated Witness(隔离见证)是一项旨在解决比特币区块链交易延展性(Transaction Malleability)问题的提案(BIP-141)。

1. 什么是交易延展性(Transaction Malleability)?
即交易内容没有变,但是交易id变了。在btc网络中使用的ECDSA签名算法,由于椭圆曲线的对称性,对某个交易进行签名,总是可以计算出两个有效的签名,并且这两个有效的签名还可以互相计算出来。在广播了一笔交易之后,再用不同的签名发布一笔相同内容的交易,这两笔交易内容一样,但交易id不同,会在网络中误导网络中的参与者。

2. 交易延展更改了签名,但交易内容没变,最后网络还是会确认这笔交易内容,第二笔签名不一样但交易内容相同也会被作废,对交易安全并没有影响,网络中实际也并也不会有双花问题(同一份钱被花了两次),那交易延展实际会对什么会有影响?
其实主要因为很多比特币服务(如交易所、第三方链上自动化服务)依赖交易id用作交易的标识。一个例子就是,小A从交易所发起提币,然后他提币这个交易就被广播出去了,在他这笔交易还没有被节点验证之前,小A进行了延展性攻击,恰好攻击产生的新交易先被确认,而新交易会让他获得币,老交易会被网络拒绝。小A却向交易所申诉自己并没有收到币,交易所看到之前给小A转币的那笔交易确实被拒绝了,因此又给他汇了一笔币。

3. 听起来问题其实是因为交易id被用作交易的标识才导致的问题,那不用交易id作为交易标识可行么?
分析下btc区块中的内容,比如使用块高度+交易位置确定标识?或者自己根据交易输入+输出散列确定标识?这些确实也可以作为可以唯一标识符,但要么在实践中效率低下,要么不如交易id来得方便和安全(交易id会直接记录在区块内容中,上链之后永远不可变)。

4. segwit怎么解决交易延展性这个问题?
segwit通过将交易签名数据(见证)从区块中分离出来,更改签名不会再影响交易id,有效地解决了这个问题。同时segwit也一定程度减少区块大小,提高交易处理能力(如spv可以在相同的带宽下处理更多的交易内容)。

5. 那在segwit之前是怎么解决这种问题?
交易失败后,需要根据区块链上的交易失败报错信息,并查看检查网络中是否在短时间内已经发起了这样的交易来分辨是否遭受了交易延展攻击。同时也应尽量避免在未确认的交易或少数区块确认的交易上做逻辑。但这些方式并没有从根本上解决问题。

#BTC☀ #SegWit #技术学习
Explore the latest crypto news
⚡️ Be a part of the latests discussions in crypto
💬 Interact with your favorite creators
👍 Enjoy content that interests you
Email / Phone number

Latest News

--
View More
Sitemap
Cookie Preferences
Platform T&Cs