From d76bb621a50a9f3d9a38928a692ab462b636be2d Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 02:27:55 +0800 Subject: [PATCH 01/10] Add my impression --- index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index.html b/index.html index 27a1740d..cd0d4bf8 100755 --- a/index.html +++ b/index.html @@ -76,6 +76,7 @@

读者来稿

+

尝试改一下2025年10月20日

第一次PR,2022.09.27

第一次PR,留作纪念2022.9.20

有这种实践的机会还是非常适合我这种小白的。2022.9.18 16:26.

From 9ae2e2d75216e749364dfea03279787e5462fa45 Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 16:18:15 +0800 Subject: [PATCH 02/10] Add folder cli --- cli/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 cli/README.md diff --git a/cli/README.md b/cli/README.md new file mode 100644 index 00000000..802ade8c --- /dev/null +++ b/cli/README.md @@ -0,0 +1 @@ +* # solutions to the problems From 5ac8728c9f2f2f01c75010d87a59ef3f0eef5b6a Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 16:29:54 +0800 Subject: [PATCH 03/10] Update README.md --- cli/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/README.md b/cli/README.md index 802ade8c..0b91943e 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1 +1 @@ -* # solutions to the problems +### solutions to the problems From c1d7e69901ad0410237ed4629282d8c9ea02fd34 Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 20:22:03 +0800 Subject: [PATCH 04/10] Update README.md --- cli/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cli/README.md b/cli/README.md index 0b91943e..4e64302f 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1 +1,4 @@ ### solutions to the problems +## 区块链: + +## 区块头 From 2871a3e560db54320df3de93af7b7b93bb215de1 Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 20:55:01 +0800 Subject: [PATCH 05/10] Update README.md --- cli/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cli/README.md b/cli/README.md index 4e64302f..791c0a01 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,4 +1,7 @@ -### solutions to the problems -## 区块链: +## solutions to the problems +### 区块链:区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 -## 区块头 +### 区块头: +#### 区块头: 区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 + +#### From b12159c4c4894637123d3dd821c181677c9bc9f6 Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 20:55:54 +0800 Subject: [PATCH 06/10] Update README.md --- cli/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cli/README.md b/cli/README.md index 791c0a01..03954bd8 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,7 +1,8 @@ ## solutions to the problems -### 区块链:区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 +#### 区块链: +#### 区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 -### 区块头: -#### 区块头: 区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 +#### 区块头: +#### 区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 #### From f0b8772f1badfd47a4d748287b75b4a27300762f Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 20:56:20 +0800 Subject: [PATCH 07/10] Update README.md --- cli/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cli/README.md b/cli/README.md index 03954bd8..75508248 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,8 +1,9 @@ ## solutions to the problems + #### 区块链: -#### 区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 +区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 #### 区块头: -#### 区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 +区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 #### From d9e3cfe8f49e6bf1392c5ee47a48103d60b5211d Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 21:12:39 +0800 Subject: [PATCH 08/10] Update README.md --- cli/README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cli/README.md b/cli/README.md index 75508248..24362a2b 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,4 +1,4 @@ -## solutions to the problems +## Day 2 Assignment #### 区块链: 区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 @@ -6,4 +6,15 @@ #### 区块头: 区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 -#### +#### 哈希算法 + + +#### 哈希值: +原始数据经过哈希算法加工以后得到的数据是哈希值。 + +#### nonce值: +Nonce是一个没有任何实际含义的数字,不过它在工作量证明和挖矿中非常重要,nonce是工作量证明的核心。区块链工作量证明的任务是不断改变nonce值,直到碰巧遇到一个nonce,让整个区块的哈希值具有特定格式,一旦找到合格的nonce,这个nonce的把这个候选区块广播到全网,交由其他节点审核,如果一切都合格,这个节点就会对候选区块表示支持。支持的方式是将这个区块的哈希值放入下一代候选区块中。 + +#### Merkle root: + + From 56beab617fd7cde11d0b5df057889962784167c2 Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 21:53:51 +0800 Subject: [PATCH 09/10] Update README.md --- cli/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cli/README.md b/cli/README.md index 24362a2b..8167c564 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,4 +1,4 @@ -## Day 2 Assignment +# Day 2 Assignment (By Cli) #### 区块链: 区块链是一个公开的数据列表,是一连串的交易记录,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,越来越长。每一个区块之间通过哈希算法连接起来。区块的生成是有时间顺序的,在每一个新区块的数据结构中,有一个固定的位置用来存放上一个区块的哈希值。而这个新区块也要整体求一个哈希值,存入下一个区块。区块链本质上是一个分布式的共享账本。它是一个多方参与、共同维护、不可篡改的数据库系统。 @@ -6,15 +6,19 @@ #### 区块头: 区块头包含前一个区块的哈希值,本区块的哈希值,本区快的nonce,本区块一系列交易形成的Merkle root, 还有时间戳。 -#### 哈希算法 +#### 哈希算法: +哈希算法是一种密码学算法,哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息经过哈希运算转化为固定长度的输出值,并且是不可逆的。 #### 哈希值: -原始数据经过哈希算法加工以后得到的数据是哈希值。 +原始数据经过哈希算法加工以后得到的数据是哈希值。哈希值在消息传输过程中提供了一种错误检测能力,改变消息中任何一个比特都会使哈希值发生改变。 #### nonce值: Nonce是一个没有任何实际含义的数字,不过它在工作量证明和挖矿中非常重要,nonce是工作量证明的核心。区块链工作量证明的任务是不断改变nonce值,直到碰巧遇到一个nonce,让整个区块的哈希值具有特定格式,一旦找到合格的nonce,这个nonce的把这个候选区块广播到全网,交由其他节点审核,如果一切都合格,这个节点就会对候选区块表示支持。支持的方式是将这个区块的哈希值放入下一代候选区块中。 -#### Merkle root: +#### 区块体 +包含整个区块的一些列交易,通过Merkle Tree运算得到Merkle root来进行记录。 +#### Merkle root: +Merkle Trees 是使用哈希指针的二叉树。它的结构中所有的数据块被两两分组,每两个数据块的哈希指针被存入这两个数据块的父节点中,两个父节点的哈希指针又被存入他们的父节点中。以此类推,一直到Merkle tree的根节点。 From 1839b2b35b44851e779ed284e5fc3c312a1c9e98 Mon Sep 17 00:00:00 2001 From: cli181181 Date: Mon, 20 Oct 2025 22:30:58 +0800 Subject: [PATCH 10/10] Update README.md --- cli/README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cli/README.md b/cli/README.md index 8167c564..8ffdd313 100644 --- a/cli/README.md +++ b/cli/README.md @@ -9,16 +9,24 @@ #### 哈希算法: 哈希算法是一种密码学算法,哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息经过哈希运算转化为固定长度的输出值,并且是不可逆的。 - #### 哈希值: 原始数据经过哈希算法加工以后得到的数据是哈希值。哈希值在消息传输过程中提供了一种错误检测能力,改变消息中任何一个比特都会使哈希值发生改变。 #### nonce值: Nonce是一个没有任何实际含义的数字,不过它在工作量证明和挖矿中非常重要,nonce是工作量证明的核心。区块链工作量证明的任务是不断改变nonce值,直到碰巧遇到一个nonce,让整个区块的哈希值具有特定格式,一旦找到合格的nonce,这个nonce的把这个候选区块广播到全网,交由其他节点审核,如果一切都合格,这个节点就会对候选区块表示支持。支持的方式是将这个区块的哈希值放入下一代候选区块中。 -#### 区块体 +#### 区块体: 包含整个区块的一些列交易,通过Merkle Tree运算得到Merkle root来进行记录。 #### Merkle root: Merkle Trees 是使用哈希指针的二叉树。它的结构中所有的数据块被两两分组,每两个数据块的哈希指针被存入这两个数据块的父节点中,两个父节点的哈希指针又被存入他们的父节点中。以此类推,一直到Merkle tree的根节点。 +##### 去中心化: +区块链本质是一份公开的流水账,记载着每个节点过往的交易历史,公开程度堪比居委会的“公开栏”。它存在每个节点里。如果某个用户想进行一笔交易,他必须把交易的细节公布出来,这个公布的过程叫广播。收到广播的每个节点都要对交易申请进行审核投票,然后根据投票结果修改公共账本。 + +#### 不可篡改性 +如果想篡改一个区块,它的哈希值也会变化,这就意味着它的下一个区块也需要修改,否则就对不上号。以此类推,后面所有新生成的区块都要修改。工作量非常大,基本上不太可能。 + +#### 可追溯性 +在分布式账本中,每一笔交易都会被记录下来,所以具有绝对的可追溯性。 +