Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,28 @@ The maintainers of RFCs and the community will review the PR, and you should upd
| [24](rfcs/0024-ckb-genesis-script-list) | [CKB Genesis Script List](rfcs/0024-ckb-genesis-script-list/0024-ckb-genesis-script-list.md) | Dylan Duan | Informational | Final
| [25](rfcs/0025-simple-udt) | [Simple UDT](rfcs/0025-simple-udt/0025-simple-udt.md) | Xuejie Xiao | Standards Track | Proposal
| [26](rfcs/0026-anyone-can-pay) | [Anyone-Can-Pay Lock](rfcs/0026-anyone-can-pay/0026-anyone-can-pay.md) | Xuejie Xiao | Standards Track | Proposal
| [27](rfcs/0027-block-structure) | [CKB Block Structure](rfcs/0027-block-structure/0027-block-structure.md) | Ian Yang | Informational | Draft
| [37](rfcs/0037-ckb2021) | [CKB Consensus Change (Edition CKB2021)](rfcs/0037-ckb2021/0037-ckb2021.md) | Ian Yang | Informational | Draft
| [27](rfcs/0027-block-structure) | [CKB Block Structure](rfcs/0027-block-structure/0027-block-structure.md) | Ian Yang | Informational | Final
| [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
| [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
| [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
| [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
| [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
| [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
| [34](rfcs/0034-vm-syscalls-2) | [CKB Block Structure](rfcs/0034-vm-syscalls-2/0034-vm-syscalls-2.md) | Wanbiao Ye | Standards Track | Active
| [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
| [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
| [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
| [39](rfcs/0039-cheque) | [Cheque Lock](rfcs/0039-cheque/0039-cheque.md) | Dylan Duan | Standards Track | Proposal |
| [42](rfcs/0042-omnilock) | [Omnilock](rfcs/0042-omnilock/0042-omnilock.md) | Xu Jiandong | Standards Track | Proposal
| [43](rfcs/0043-ckb-softfork-activation) | [CKB Softfork Activation](rfcs/0043-ckb-softfork-activation/0043-ckb-softfork-activation.md) | Dingwei Zhang | Standards Track | Proposal
| [44](rfcs/0044-ckb-light-client) | [CKB Light Client Protocol](rfcs/0044-ckb-light-client/0044-ckb-light-client.md) | Boyu Yang | Standards Track | Proposal
| [45](rfcs/0045-client-block-filter) | [CKB Client Side Block Filter Protocol](rfcs/0045-client-block-filter/0045-client-block-filter.md) | Quake Wang | Standards Track | Proposal
| [46](rfcs/0046-syscalls-summary) | [CKB VM Syscalls Summary](rfcs/0046-syscalls-summary/0046-syscalls-summary.md) | Shan | Informational | Draft
| [48](rfcs/0048-remove-block-header-version-reservation-rule) | [Remove Block Header Version Reservation Rule](rfcs/0048-remove-block-header-version-reservation-rule/0048-remove-block-header-version-reservation-rule.md) | Dingwei Zhang | Standards Track | Proposal
| [49](rfcs/0049-ckb-vm-version-2) | [CKB VM version2](rfcs/0049-ckb-vm-version-2/0049-ckb-vm-version-2.md) | Wanbiao Ye | Standards Track | Proposal
| [50](rfcs/0050-vm-syscalls-3) | [VM Syscalls 3](rfcs/0050-vm-syscalls-3/0050-vm-syscalls-3.md) | Xuejie Xiao , Jiandong Xu, Wanbiao Ye, Dingwei Zhang | Standards Track | Proposal
| [51](rfcs/0051-ckb-meepo-2024) | [CKB Edition Meepo (2024)](rfcs/0051-ckb-meepo-2024/0051-ckb-meepo-2024.md) | Dingwei Zhang | Standards Track | Proposal
| [52](rfcs/0052-extensible-udt) | [Extensible UDT](rfcs/0052-extensible-udt/0052-extensible-udt.md) | Xuejie Xiao, Xu Jiandong | Standards Track | Proposal
## License

This repository is being licensed under terms of [MIT license](LICENSE).
4 changes: 2 additions & 2 deletions rfcs/0009-vm-syscalls/0009-vm-syscalls.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Created: 2018-12-14

## Abstract

This document describes all the RISC-V VM syscalls implemented in CKB Lina. Note that 3 new syscalls have been added to ckb2021 [2].
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].

## Introduction

Expand Down Expand Up @@ -446,7 +446,7 @@ In case of errors, `addr` and `index` will not contain meaningful data to use.

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.

This rule will be removed since ckb2021 as proposed in [RFC36].
This rule will be removed since CKB Edition Mirana as proposed in [RFC36].

[RFC36]: ../0036-remove-header-deps-immature-rule/0036-remove-header-deps-immature-rule.md

Expand Down
2 changes: 1 addition & 1 deletion rfcs/0021-ckb-address-format/0021-ckb-address-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ payload = 0x02/0x04 | code_hash | args

The first byte identifies the lock script's hash_type, 0x02 for "Data", 0x04 for "Type".

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.
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.

## Wrap to Address

Expand Down
12 changes: 6 additions & 6 deletions rfcs/0027-block-structure/0027-block-structure.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0027"
Category: Informational
Status: Draft
Status: Final
Author: Ian Yang <@doitian>
Created: 2020-04-30
---
Expand Down Expand Up @@ -72,7 +72,7 @@ The header contains commitments on the body fields to ensure data integrity. CKB

## Header

To ease PoW computation, the header is split into `raw` and `nonce`.
To ease PoW computation, the header is split into `raw` and `nonce`.

```
struct Header {
Expand Down Expand Up @@ -130,11 +130,11 @@ The header `compact_target` is the encoded form of the target threshold as it ap

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.

In CKB, the "compact" format is a representation of a whole number N using an unsigned 32bit number similar to a floating-point format.
In CKB, the "compact" format is a representation of a whole number N using an unsigned 32bit number similar to a floating-point format.

* The most significant 8 bits are the unsigned exponent of base 256.
* This exponent can be thought of as "number of bytes of N" in which the first 3 bytes are the mantissa.
* The lower 24 bits are the mantissa.
* This exponent can be thought of as "number of bytes of N" in which the first 3 bytes are the mantissa.
* The lower 24 bits are the mantissa.

```
N = mantissa * 256^(exponent-3)
Expand Down Expand Up @@ -388,7 +388,7 @@ if __name__ == '__main__':
unittest.main()
```

## CKB Merkle Tree
## CKB Merkle Tree

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:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0028"
Category: Standards Track
Status: Draft
Status: Active
Author: Ian Yang <@doitian>
Created: 2021-02-03
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0029"
Category: Standards Track
Status: Proposal
Status: Active
Author: Ian Yang <@doitian>
Created: 2021-02-03
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0030"
Category: Standards Track
Status: Proposal
Status: Active
Author: Ian Yang <@doitian>
Created: 2021-02-04
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0031"
Category: Standards Track
Status: Proposal
Status: Active
Author: Ian Yang <@doitian>
Created: 2021-02-07
---
Expand Down Expand Up @@ -47,7 +47,7 @@ The `extra_hash` is defined as:
* When `extension` is empty, `extra_hash` is the same as the `uncles_hash`.
* Otherwise `extra_hash = ckbhash(uncles_hash || ckbhash(extension))`

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`.
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`.

### P2P Protocols Changes

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0032"
Category: Standards Track
Status: Proposal
Status: Active
Author: Ian Yang <@doitian>
Created: 2021-04-26
---
Expand Down Expand Up @@ -76,7 +76,7 @@ In [nervosnetwork/ckb](https://github.com/nervosnetwork/ckb), the `hash_type` is

This RFC depends on [rfc33], [rfc34], and [rfc35]. The 4 RFCs must be activated together at the same epoch.

[rfc35]: ../0035-ckb2021-p2p-protocol-upgrade/0035-ckb2021-p2p-protocol-upgrade.md
[rfc35]: ../0035-ckb-p2p-protocol-upgrade/0035-ckb-p2p-protocol-upgrade.md

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.

Expand Down
4 changes: 2 additions & 2 deletions rfcs/0033-ckb-vm-version-1/0033-ckb-vm-version-1.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0033"
Category: Informational
Status: Draft
Category: Standards Track
Status: Active
Author: Wanbiao Ye <mohanson@outlook.com>
Created: 2021-05-25
---
Expand Down
4 changes: 2 additions & 2 deletions rfcs/0034-vm-syscalls-2/0034-vm-syscalls-2.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0034"
Category: Standards Track
Status: Proposal
Status: Active
Author: Wanbiao Ye <mohanson@outlook.com>
Created: 2021-05-25
---
Expand All @@ -10,7 +10,7 @@ Created: 2021-05-25

## Abstract

This document describes the addition of the syscalls during the ckb2021. These syscalls are only available since ckb-vm version 1 and ckb2021 [2].
This document describes the addition of the syscalls during the CKB Edition Mirana. These syscalls are only available since ckb-vm version 1 and CKB Edition Mirana [2].

- [VM Version]
- [Current Cycles]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0035"
Category: Standards Track
Status: Proposal
Status: Active
Author: Chao Luo <@driftluo>, Ian Yang <@doitian>
Created: 2021-07-01
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Number: "0036"
Category: Standards Track
Status: Proposal
Status: Active
Author: Ian Yang <@doitian>
Created: 2021-02-07
---
Expand Down
Loading