You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| [27](rfcs/0027-block-structure) | [CKB Block Structure](rfcs/0027-block-structure/0027-block-structure.md) | Ian Yang | Informational | Draft
83
-
| [37](rfcs/0037-ckb2021) | [CKB Consensus Change (Edition CKB2021)](rfcs/0037-ckb2021/0037-ckb2021.md) | Ian Yang | Informational | Draft
82
+
| [27](rfcs/0027-block-structure) | [CKB Block Structure](rfcs/0027-block-structure/0027-block-structure.md) | Ian Yang | Informational | Final
83
+
| [28](rfcs/0028-change-since-relative-timestamp) | [Change Since Relative Timestamp](rfcs/0028-change-since-relative-timestamp/0028-change-since-relative-timestamp.md) | Ian Yang | Standards Track | Active
84
+
| [29](rfcs/0029-allow-script-multiple-matches-on-identical-code) | [Allow Multiple Cell Dep Matches](rfcs/0029-allow-script-multiple-matches-on-identical-code/0029-allow-script-multiple-matches-on-identical-code.md) | Ian Yang | Standards Track | Active
85
+
| [30](rfcs/0030-ensure-index-less-than-length-in-since) | [Ensure That Index Is Less Than Length In the Input Since Field](rfcs/0030-ensure-index-less-than-length-in-since/0030-ensure-index-less-than-length-in-since.md) | Ian Yang | Standards Track | Active
86
+
| [31](rfcs/0031-variable-length-header-field) | [Add a variable length field in the block](rfcs/0031-variable-length-header-field/0031-variable-length-header-field.md) | Ian Yang | Standards Track | Active
87
+
| [32](rfcs/0032-ckb-vm-version-selection) | [CKB VM Version Selection](rfcs/0032-ckb-vm-version-selection/0032-ckb-vm-version-selection.md) | Ian Yang | Standards Track | Active
88
+
| [33](rfcs/0033-ckb-vm-version-1) | [CKB VM version1](rfcs/0033-ckb-vm-version-1/0033-ckb-vm-version-1.md) | Wanbiao Ye| Standards Track | Active
89
+
| [34](rfcs/0034-vm-syscalls-2) | [CKB Block Structure](rfcs/0034-vm-syscalls-2/0034-vm-syscalls-2.md) | Wanbiao Ye | Standards Track | Active
90
+
| [35](rfcs/0035-ckb-p2p-protocol-upgrade) | [CKB P2P protocol upgrade](rfcs/0035-ckb-p2p-protocol-upgrade/0035-ckb-p2p-protocol-upgrade.md) | Chao Luo, Ian Yang | Standards Track | Active
91
+
| [36](rfcs/0036-remove-header-deps-immature-rule) | [Remove Header Deps Immature Rule](rfcs/0036-remove-header-deps-immature-rule/0036-remove-header-deps-immature-rule.md) | Ian Yang | Standards Track | Active
92
+
| [37](rfcs/ckb-mirana-2021) | [CKB Consensus Change (CKB Edition Mirana)](rfcs/0037-ckb-mirana-2021/0037-ckb-mirana-2021.md) | Ian Yang | Informational | Draft
Copy file name to clipboardExpand all lines: rfcs/0009-vm-syscalls/0009-vm-syscalls.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Created: 2018-12-14
10
10
11
11
## Abstract
12
12
13
-
This document describes all the RISC-V VM syscalls implemented in CKB Lina. Note that 3 new syscalls have been added to ckb2021[2].
13
+
This document describes all the RISC-V VM syscalls implemented in CKB Lina. Note that 3 new syscalls have been added to CKB Edition Mirana[2].
14
14
15
15
## Introduction
16
16
@@ -446,7 +446,7 @@ In case of errors, `addr` and `index` will not contain meaningful data to use.
446
446
447
447
Attention that all the blocks referenced in header deps must be 4 epochs ago, otherwise the header is immature and the transaction must wait. For example, if the block is the first block in epoch 4, a transaction with its header as a header dep can only be included in the first block of epoch 8 and later blocks.
448
448
449
-
This rule will be removed since ckb2021 as proposed in [RFC36].
449
+
This rule will be removed since CKB Edition Mirana as proposed in [RFC36].
The first byte identifies the lock script's hash_type, 0x02 for "Data", 0x04 for "Type".
90
90
91
-
Two reasons have caused this address format to be deprecated. First, a [flaw](https://github.com/sipa/bech32/issues/51) of Bech32 enables attackers to generate valid but unexpected addresses by deleting or inserting characters into certain full addresses. Last, the hard fork of [ckb2021](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0037-ckb2021/0037-ckb2021.md) requires a new field to indicate the CKB VM version for each script group.
91
+
Two reasons have caused this address format to be deprecated. First, a [flaw](https://github.com/sipa/bech32/issues/51) of Bech32 enables attackers to generate valid but unexpected addresses by deleting or inserting characters into certain full addresses. Last, the hard fork of [CKB Edition Mirana](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0037-ckb-mirana-2021/0037-ckb-mirana-2021.md) requires a new field to indicate the CKB VM version for each script group.
Copy file name to clipboardExpand all lines: rfcs/0027-block-structure/0027-block-structure.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
Number: "0027"
3
3
Category: Informational
4
-
Status: Draft
4
+
Status: Final
5
5
Author: Ian Yang <@doitian>
6
6
Created: 2020-04-30
7
7
---
@@ -72,7 +72,7 @@ The header contains commitments on the body fields to ensure data integrity. CKB
72
72
73
73
## Header
74
74
75
-
To ease PoW computation, the header is split into `raw` and `nonce`.
75
+
To ease PoW computation, the header is split into `raw` and `nonce`.
76
76
77
77
```
78
78
struct Header {
@@ -130,11 +130,11 @@ The header `compact_target` is the encoded form of the target threshold as it ap
130
130
131
131
It is similar to `nBits` in bitcoin, the original `nBits` implementation inherits properties from a signed data class, allowing the target threshold to be negative if the high bit of the significant is set. This is useless—the header hash is treated as an unsigned number, so it can never be equal to or lower than a negative target threshold.
132
132
133
-
In CKB, the "compact" format is a representation of a whole number N using an unsigned 32bit number similar to a floating-point format.
133
+
In CKB, the "compact" format is a representation of a whole number N using an unsigned 32bit number similar to a floating-point format.
134
134
135
135
* The most significant 8 bits are the unsigned exponent of base 256.
136
-
* This exponent can be thought of as "number of bytes of N" in which the first 3 bytes are the mantissa.
137
-
* The lower 24 bits are the mantissa.
136
+
* This exponent can be thought of as "number of bytes of N" in which the first 3 bytes are the mantissa.
137
+
* The lower 24 bits are the mantissa.
138
138
139
139
```
140
140
N = mantissa * 256^(exponent-3)
@@ -388,7 +388,7 @@ if __name__ == '__main__':
388
388
unittest.main()
389
389
```
390
390
391
-
## CKB Merkle Tree
391
+
## CKB Merkle Tree
392
392
393
393
CKB Merkle Tree is a [CBMT](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0006-merkle-tree/0006-merkle-tree.md) using following merge function:
Copy file name to clipboardExpand all lines: rfcs/0029-allow-script-multiple-matches-on-identical-code/0029-allow-script-multiple-matches-on-identical-code.md
Since epoch B, consensus will define the schema of `extension` and verify the content. This is a soft fork if the `extension` is at most 96 bytes, because nodes deployed since epoch A do not verify the content of `extension`.
50
+
Since epoch B, consensus will define the schema of `extension` and verify the content. This is a soft fork if the `extension` is at most 96 bytes, because nodes deployed since epoch A do not verify the content of `extension`.
The first two RFCs, [rfc33] and [rfc34] are the specification of VM version 1. The [rfc35] proposes to run two versions of transaction relay protocols during the fork, because the VM selection algorithm depends on which epoch the transaction belongs to, thus it is not deterministic for transactions still in the memory pool.
0 commit comments