1 區塊鏈的結點類型
1.1 全結點
介紹全結點之前,相信大家都會疑惑在分佈式的情況下,不可以保證每一個結點都是在線的,怎麼去記錄所有的交易內容?所以就需要全結點去把所有的交易記錄保存到磁盤裏面,而且要求全結點必須時時刻刻上線,記錄最新的區塊。
1.1.1 全結點的功能
功能主要是三點:監聽、校驗、保存更新。
監聽:
- 監聽比特幣網絡上的交易信息。
- 監聽礦工挖出來的區塊。
校驗:
- 查詢UTXO集合,快速檢驗交易的合法性(抵禦double spending、餘額是否足夠進行下一筆交易)。
- 校驗別的礦工挖出的區塊的合法性(大小,簽名等)。
- 決定往哪一條鏈挖下去。
- 出現等長分叉的時候選擇哪一個分叉。
保存更新:
- 本地硬盤上保存所有的信息,並且更新最新的區塊信息。
- 本地的內存保存並且更新UTXO集合。
一直在線→監聽交易信息→校驗交易合法性→監聽礦工挖出來的區塊驗證其合法性→決定交易打包到哪個區塊
1.2 輕結點
不是一直在線,不用保存整條區塊鏈,只要保存每個區塊的塊頭,只要保存與自己相關的交易的合法性,可以檢測挖礦的難度,但是不可以校驗區塊的合法性以及那一條是最長的合法鏈。 大部分用戶只是簡單的交易只是需要輕結點即可。
1.3 兩者的比較
一直在線 | 保存整條鏈 | 校驗交易合法性 | 校驗區塊的合法性 | 校驗挖礦難度 | 校驗最長鏈 | |
輕結點 | 否 | 否 | 可以(僅限自己相關的交易) | 不可以 | 可以 | 可以但是不清楚是否合法 |
全結點 | 是 | 是 | 可以(全部交易) | 可以 | 可以 | 可以單最長的合法鏈 |