比特幣 - 總覽:http://21st.each1.net/2017/03/blog-post_30.html
比特幣的論文標題為 Bitcoin: A Peer-to-Peer Electronic Cash System
其中涉及到 Peer-to-Peer 這類的技術,相關技術筆記整理於本文
BitTorrent協定(簡稱BT,俗稱位元洪流、BT下載)是用在對等網路中檔案分享的網路協定程式。用戶越多,下載同一檔案的人越多,下載該檔案的速度越快。且下載後,繼續維持上傳的狀態,就可以「分享」,成為其用戶端節點下載的種子檔案(.torrent),同時上傳及下載。
根據BitTorrent協定,檔案發布者會根據要發布的檔案生成提供一個.torrent檔案,即種子檔案,也簡稱為「種子」。
種子檔案本質上是文字檔案,包含Tracker資訊和檔案資訊兩部分。Tracker資訊主要是BT下載中需要用到的Tracker伺服器的位址和針對Tracker伺服器的設定,檔案資訊是根據對目的檔的計算生成的,計算結果根據BitTorrent協定內的Bencode規則進行編碼。它的主要原理是需要把提供下載的檔案虛擬分成大小相等的塊,塊大小必須為2k的整數次方(由於是虛擬分塊,硬碟上並不產生各個塊檔案),並把每個塊的索引資訊和Hash驗證碼寫入種子檔案中;所以,種子檔案就是被下載檔案的「索引」。
詳細內容:
https://en.wikipedia.org/wiki/Peer-to-peer
https://en.wikipedia.org/wiki/BitTorrent
How to write a simple BitTorrent application?
https://stackoverflow.com/questions/5400828/how-to-write-a-simple-bittorrent-application
https://en.wikipedia.org/wiki/Libtorrent
https://www.libtorrent.org