diff --git a/README.md b/README.md index 2a4ea4f..92c20fc 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,14 @@ Defenders of free capital market, starting from blockchain infrastructure. ### Research -1. Hashrate Derivative (Tokenized Synthetic PoW Mining Contract) - - Introduction [en](research/hashrate-derivative-en.md) [cn](research/hashrate-derivative-cn.md) - - [BME data](https://github.com/carboclan/pm/blob/master/research/BME.md) +#### - Hashrate Derivative +1. Bitcoin Mining Earnings Index (BME Index) [EN](research/bme-index-en.md) [CN](research/bme-index-cn.md) ([BME data](research/BME.md)) +2. BME Index Futures [EN](research/bme-index-future-en.md) [CN](research/bme-index-future-cn.md) +3. Tokenized Synthetic Bitcoin Mining Contract [EN](research/hashrate-derivative-en.md) [CN](research/hashrate-derivative-cn.md) -2. Staking Derivative +#### - Staking Derivative -3. PoW vs. PoS Network Cartel Formation Analysis +#### - PoW vs. PoS Network Cartel Formation Analysis ### Meeting Notes diff --git a/research/bme-index-cn.md b/research/bme-index-cn.md new file mode 100644 index 0000000..1b1c0f0 --- /dev/null +++ b/research/bme-index-cn.md @@ -0,0 +1,53 @@ +## 比特币算力收益指数(BME指数) + +### 1.设计原则 +- 指数必须具有一个明确的实际意义 +- 为了方便预测,指数应当只与挖矿难度相关 +- 指数应该方便矿工进行挖矿对冲。矿工应该可以通过进入基于合约的衍生品头寸对冲一段时间内的难度波动引起的风险 +- 指数应该与一个被人们熟知的数据具有可比性,比如btc.com中的某一数据 + +### 2.命名 +本合约使用的指数称为:比特币算力收益指数,缩写为_BME{N}_ ,N表示指数天数, 例如 BME28, BME84等等 + +### 3.含义 +比特币算力收益指数 _BME_ 表示: **1T算力在过去N天内的平均日BTC收益** + +1T = 1012 + +### 4.公式 +_BME_ 用以下公式计算: + + + +其中: +- **_T_** 表示N天内的挖矿难度调整次数. **令T=N/14** +- **_Difficultyi_** 表示最近倒数第i次难度调整后的难度值 +- **_Ki_** 是一个缩放系数,由以下公式计算: + + + +参数 | 取值 | 备注 +------| -----|------- +_HashrateUnit_ | 10 12 Hash/s | 1T 算力 | +_TargetBlockTime_ | 600 s | 比特币预期出块时间,10分钟 +_Coinbasei_ | 12.5 BTC | 区块挖矿收益,每21,000区块收益减半 +_NBlock_ | 144 | 每天的区块数 +**_Ki_**| **251457095** | 随 _Coinbasei_ 减半而减半 + +### 5.其他要点 +- 因为比特币挖矿难度每2016个区块调整一次(大约相当于14天),所以指数中的天数N一般设置为14的整数倍。 +- 在挖矿减半之前,指数只会在每次挖矿难度调整的时候变化。 +- 指数和btc.com的“每T收益”数据在同一量级,事实上,BME14指数应该与btc.com的“每T收益”数据相等。 + +### 6.例子 +区块高度| 时间 | 难度 | BME14 | BME28 | BME84 +--------| --------------------|-------------------|-----------|-----------|-------- +572,544 | 2019-04-21 09:54:28 | 6,353,030,562,983 | 3.958E-05 |   |   +574,560 | 2019-05-04 16:32:13 | 6,702,169,884,349 | 3.752E-05 | 3.855E-05 |   +576,576 | 2019-05-18 16:31:36 | 6,704,632,680,587 | 3.750E-05 | 3.751E-05 |   +578,592 | 2019-05-31 06:43:04 | 7,459,680,720,542 | 3.371E-05 | 3.561E-05 |   +580,608 | 2019-06-14 09:03:50 | 7,409,399,249,090 | 3.394E-05 | 3.382E-05 |   +582,624 | 2019-06-27 10:59:30 | 7,934,713,219,630 | 3.169E-05 | 3.281E-05 | 3.566E-05 +584,640 | 2019-07-09 17:17:48 | 9,064,159,826,491 | 2.774E-05 | 2.972E-05 | 3.368E-05 + +更多的[BME数据](BME.md) diff --git a/research/bme-index-en.md b/research/bme-index-en.md new file mode 100644 index 0000000..8e3d3d8 --- /dev/null +++ b/research/bme-index-en.md @@ -0,0 +1,53 @@ +## BTC Mining Earnings Index (BME Index) + +### 1.Design Considerations +- The index MUST has a clear physical meaning. +- The index SHOULD be relative to the mining difficulty only, which makes the index easy to predict. +- The index SHOULD make the derivative on the index easy for miners(hedgers) to trade. Thus, the miners could hedge the mining risk of a period of time by entering a position of the derivative contract. +- The index SHOULD be comparable with some well-known number, such as the numbers in btc.com + +### 2.Naming +The index names "BTC Mining Earnings N days Index", shorts for _BME{N}_, for example BME28, BME84 and so on. + +### 3.Meaning +The BTC Mining Earnings Index (_BME_) represents **average daily bitcoins mined with 1T/s hashrate over the last N days**. + +1T = 1012 + +### 4.Formula +_BME_ is calculated as following: + + + +Where: +- **_T_** represents the number of difficulty adjustments during N days. **Let T=N/14** +- **_Difficultyi_** represents the value of difficulty after the i-th last difficulty adjustment +- **_Ki_** is a scaling factor calculated as below: + + + +Parameter | Value | Note +------| -----|------- +_HashrateUnit_ | 10 12 Hash/s | 1T hash | +_TargetBlockTime_ | 600 s | Target block time for bitcoin is fixed at 10 minutes +_Coinbasei_ | 12.5 BTC per Block | The block reward at i-th last mining difficulty adjustment.
Block reward halves every 21,000 blocks. +_NBlock_ | 144 | Number of blocks per day +**_Ki_**| **251457095** | havles as _Coinbasei_ halves + +### 5.Notes +- As the difficulty adjusts every 2016 blocks, which is roughly 14 days, the N of the index is set to be a multiple of 14. +- The index is changed whenever the difficulty adjusts before next block reward halves. +- The index is comparable with the "mining earnings" of btc.com. Especially, BME14 should be the same with the "mining earnings" of btc.com + +### 5.Examples +Height | Time | Difficulty | BME14 | BME28 | BME84 +--------| --------------------|-------------------|-----------|-----------|-------- +572,544 | 2019-04-21 09:54:28 | 6,353,030,562,983 | 3.958E-05 |   |   +574,560 | 2019-05-04 16:32:13 | 6,702,169,884,349 | 3.752E-05 | 3.855E-05 |   +576,576 | 2019-05-18 16:31:36 | 6,704,632,680,587 | 3.750E-05 | 3.751E-05 |   +578,592 | 2019-05-31 06:43:04 | 7,459,680,720,542 | 3.371E-05 | 3.561E-05 |   +580,608 | 2019-06-14 09:03:50 | 7,409,399,249,090 | 3.394E-05 | 3.382E-05 |   +582,624 | 2019-06-27 10:59:30 | 7,934,713,219,630 | 3.169E-05 | 3.281E-05 | 3.566E-05 +584,640 | 2019-07-09 17:17:48 | 9,064,159,826,491 | 2.774E-05 | 2.972E-05 | 3.368E-05 + +More [BME Data](BME.md) diff --git a/research/bme-index-future-cn.md b/research/bme-index-future-cn.md new file mode 100644 index 0000000..23e46ff --- /dev/null +++ b/research/bme-index-future-cn.md @@ -0,0 +1,33 @@ +## BME指数期货 + +### 1.底层资产 + +[BME指数](bme-index-cn.md) + + +### 2.合约大小 + +每份合约的价值 = 合约乘数 * 指数 + +合约乘数 = 106 BTC + +### 3.到期时间 + +每份BME指数期货合约都会设置一个到期日。合约在格林尼治时间到期日的02:00点到期。为了避免出块时间波动的影响,到期时间通常设置在某次难度调整预期时间之后的7天。 + +### 4.交割 + +BME指数期货使用现金交割: + - 对于每1份合约,如果交割指数高于进入价格,则合约合约卖方向合约买方支付 ( _交割指数_ - _进入价格_ ) * _合约乘数_ BTC + - 对于每1份合约,如果交割指数低于进入价格,则合约买方向合约卖方支付 ( _进入价格_ - _交割指数_ ) * _合约乘数_ BTC + +### 5.例子 + +#### 例1 + +某天, 爱丽丝以2.7E-5的价格向鲍勃买了10份BME28指数期货合约。当合约到期时,BME28指数为2.9E-5。所以,鲍勃向爱丽丝支付(2.9E-5 - 2.7E-5) * 106 * 10 = 20 BTC. + +#### 例2 + +某天, 爱丽丝以2.7E-5的价格向鲍勃买了10份BME28指数期货合约。当合约到期时,BME28指数为2.6E-5。所以,爱丽丝向支鲍勃付(2.7E-5 - 2.6E-5) * 106 * 10 = 10 BTC. + diff --git a/research/bme-index-future-en.md b/research/bme-index-future-en.md new file mode 100644 index 0000000..d7c10d0 --- /dev/null +++ b/research/bme-index-future-en.md @@ -0,0 +1,30 @@ +## BME Index Future + +### 1.Underlying Asset + +[BME Index](bme-index-en.md) + + +### 2.Contract Size + +The value of one contract = Multiplier * The index value + +Multiplier = 106 BTC + +### 3.Expiration + +Each BME index future will specify an expiration date. The contract expires at 02:00:00 (UTC) on the expiration date. In order to avoid the impact of block time volatility, the expiration time is usually choosen to be 7 days after the estimated time of a difficulty adjustment. The expired contract can be settled after expiration. + +### 4.Settlement + +BME index futures are cash settled: + - If the settlement index is higer than the entry price, the seller pays the buyer ( _Settlement Index_ - _Entry Price_ ) * _Multiplier_ BTC per Contract + - If the settlement index if lower than the entry price, the buyer pays the seller ( _Entry Price_ - _Settlement Index_) * _Multiplier_ BTC per Contract + +### 5.Examples + +#### Example 1. +One day, Alice buy 10 BME28 index future contracts from Bob at price 2.7E-5. When the contract expires, the BME28 index is 2.9E-5. So Bob pays Alice (2.9E-5 - 2.7E-5) * 106 * 10 = 20 BTC. + +#### Example 2. +One day, Alice buy 10 BME28 index future contracts from Bob at price 2.7E-5. When the contract expires, the BME28 index is 2.6E-5. So Alice pays Bob (2.7E-5 - 2.6E-5) * 106 * 10 = 10 BTC. diff --git a/research/hashrate-derivative-cn.md b/research/hashrate-derivative-cn.md index 5eb0184..28c1192 100644 --- a/research/hashrate-derivative-cn.md +++ b/research/hashrate-derivative-cn.md @@ -12,63 +12,13 @@ ## 2. 合约说明书 -以下合约基于[Market Protocol智能合约](https://marketprotocol.io)发行。 - +比特币挖矿算力收益合约是一种在区块链上的去中化的[BME指数期货](bme-index-future-cn.md)。在研究了现有的Defi架构和现有链上衍生品合约后,我们基于[Market Protocol智能合约](https://marketprotocol.io)发行比特币挖矿算力收益合约。 ### 2.1 比特币算力收益合约 -#### 2.1.1 指数 - -##### 设计原则 -- 指数必须具有一个明确的实际意义 -- 为了方便预测,指数应当只与挖矿难度相关 -- 指数应该方便矿工进行挖矿对冲。矿工应该可以通过进入合约头寸对冲一段时间内的难度波动引起的风险 -- 指数应该与一个被人们熟知的数据具有可比性,比如btc.com中的某一数据 - -##### 命名 -本合约使用的指数称为:比特币算力收益指数,缩写为_BME{N}_ ,N表示指数天数, 例如 BME28, BME84等等 - -##### 含义 -比特币算力收益指数 _BME_ 表示: **1T算力在过去N天内的平均日BTC收益** - -1T = 1012 - -##### 公式 -_BME_ 用以下公式计算: - - - -其中: -- **_T_** 表示N天内的挖矿难度调整次数. **令T=N/14** -- **_Difficultyi_** 表示最近倒数第i次难度调整后的难度值 -- **_Ki_** 是一个缩放系数,由以下公式计算: - - - -参数 | 取值 | 备注 -------| -----|------- -_HashrateUnit_ | 10 12 Hash/s | 1T 算力 | -_TargetBlockTime_ | 600 s | 比特币预期出块时间,10分钟 -_Coinbasei_ | 12.5 BTC | 区块挖矿收益,每21,000区块收益减半 -_NBlock_ | 144 | 每天的区块数 -**_Ki_**| **251457095** | 随 _Coinbasei_ 减半而减半 - -##### 其他要点 -- 因为比特币挖矿难度每2016个区块调整一次(大约相当于14天),所以指数中的天数N一般设置为14的整数倍。 -- 在挖矿减半之前,指数只会在每次挖矿难度调整的时候变化。 -- 指数和btc.com的“每T收益”数据在同一量级,事实上,BME14指数应该与btc.com的“每T收益”数据相等。 - -##### 例子 -区块高度| 时间 | 难度 | BME14 | BME28 | BME84 ---------| --------------------|-------------------|-----------|-----------|-------- -572,544 | 2019-04-21 09:54:28 | 6,353,030,562,983 | 3.958E-05 |   |   -574,560 | 2019-05-04 16:32:13 | 6,702,169,884,349 | 3.752E-05 | 3.855E-05 |   -576,576 | 2019-05-18 16:31:36 | 6,704,632,680,587 | 3.750E-05 | 3.751E-05 |   -578,592 | 2019-05-31 06:43:04 | 7,459,680,720,542 | 3.371E-05 | 3.561E-05 |   -580,608 | 2019-06-14 09:03:50 | 7,409,399,249,090 | 3.394E-05 | 3.382E-05 |   -582,624 | 2019-06-27 10:59:30 | 7,934,713,219,630 | 3.169E-05 | 3.281E-05 | 3.566E-05 -584,640 | 2019-07-09 17:17:48 | 9,064,159,826,491 | 2.774E-05 | 2.972E-05 | 3.368E-05 - -更多的[BME数据](https://github.com/carboclan/pm/blob/master/research/BME.md) +#### 2.1.1 底层指数 + +[比特币算力收益指数(BME指数)](bme-index-cn.md) + #### 2.1.2 指数范围 diff --git a/research/hashrate-derivative-en.md b/research/hashrate-derivative-en.md index 261531a..2c55e1f 100644 --- a/research/hashrate-derivative-en.md +++ b/research/hashrate-derivative-en.md @@ -21,62 +21,13 @@ We hereby propose the Tokenized Synthetic PoW Mining Contract, which offers toke ## 2. Contract Specification -After analysis across DeFi stack, and considering the various stages of development of existing derivatives protocols, the following contract is designed based upon [Market Protocol](https://marketprotocol.io). +The Tokenized Synthetic PoW Mining Contract is a decentralized [BME index future](bme-index-future-en.md) on the blockchain. After analysis across DeFi stack, and considering the various stages of development of existing derivatives protocols, the following contract is designed based upon [Market Protocol](https://marketprotocol.io). ### 2.1 Synthetic BTC Mining Contract -#### 2.1.1 Index - -##### Design Considerations -- The index MUST has a clear physical meaning. -- The index SHOULD be relative to the mining difficulty only, which makes the index easy to predict. -- The index SHOULD make the contract easy for miners(hedgers) to trade. Thus, the miners could hedge the mining risk of a period of time by entering a position of this contract. -- The index SHOULD be comparable with some well-known number, such as the numbers in btc.com - -##### Naming -The index names "BTC Mining Earnings N days Index", shorts for _BME{N}_, for example BME28, BME84 and so on. - -##### Meaning -The BTC Mining Earnings Index (_BME_) represents **average daily bitcoins mined with 1T/s hashrate over the last N days**. - -1T = 1012 - -##### Formula -_BME_ is calculated as following: - - - -Where: -- **_T_** represents the number of difficulty adjustments during N days. **Let T=N/14** -- **_Difficultyi_** represents the value of difficulty after the i-th last difficulty adjustment -- **_Ki_** is a scaling factor calculated as below: - - - -Parameter | Value | Note -------| -----|------- -_HashrateUnit_ | 10 12 Hash/s | 1T hash | -_TargetBlockTime_ | 600 s | Target block time for bitcoin is fixed at 10 minutes -_Coinbasei_ | 12.5 BTC per Block | The block reward at i-th last mining difficulty adjustment.
Block reward halves every 21,000 blocks. -_NBlock_ | 144 | Number of blocks per day -**_Ki_**| **251457095** | havles as _Coinbasei_ halves - -##### Notes -- As the difficulty adjusts every 2016 blocks, which is roughly 14 days, the N of the index is set to be a multiple of 14. -- The index is changed whenever the difficulty adjusts before next block reward halves. -- The index is comparable with the "mining earnings" of btc.com. Especially, BME14 should be the same with the "mining earnings" of btc.com - -##### Examples -Height | Time | Difficulty | BME14 | BME28 | BME84 ---------| --------------------|-------------------|-----------|-----------|-------- -572,544 | 2019-04-21 09:54:28 | 6,353,030,562,983 | 3.958E-05 |   |   -574,560 | 2019-05-04 16:32:13 | 6,702,169,884,349 | 3.752E-05 | 3.855E-05 |   -576,576 | 2019-05-18 16:31:36 | 6,704,632,680,587 | 3.750E-05 | 3.751E-05 |   -578,592 | 2019-05-31 06:43:04 | 7,459,680,720,542 | 3.371E-05 | 3.561E-05 |   -580,608 | 2019-06-14 09:03:50 | 7,409,399,249,090 | 3.394E-05 | 3.382E-05 |   -582,624 | 2019-06-27 10:59:30 | 7,934,713,219,630 | 3.169E-05 | 3.281E-05 | 3.566E-05 -584,640 | 2019-07-09 17:17:48 | 9,064,159,826,491 | 2.774E-05 | 2.972E-05 | 3.368E-05 - -More [BME Data](https://github.com/carboclan/pm/blob/master/research/BME.md) +#### 2.1.1 Underlying Index + +[BTC Mining Earnings Index (BME Index)](bme-index-en.md) + #### 2.1.2 Index Cap & Floor