なぜなにTorrent
  • Cover
  • イントロ
    • はじめに
    • Torrentとは
    • ゴール
  • Torrentファイルを読み込む
    • About
    • Bencode
    • Bencodeの実装
    • TorrentFileの中身
  • Httpサーバーを作成してみる
  • UPnpによるポートマップ
    • UPnPによるポートマップ
    • UPnPの実装
  • Trackerへアクセスしてみる
    • About
    • TrackerはHttpサーバ
    • リクエストの中身
    • レスポンスの中身
    • テスト
  • ダウンロードゲームへ参加してみる
    • About
    • ダウンロードゲーム
    • ブロックデーターの実装
    • 配信用、Peerを作成してみよう
    • 基本戦術
    • Chokeの実装
  • DHTに対応してみる
    • About
    • Tracker無しでPeerを探す
    • KademliaのkBucketを利用している
    • RootingTableを実装してみよう
    • FindNodeでネットワークの構築
    • FindNodeを実装
    • GetPeersでInfoHashに対応するPeerを探す
    • テスト
  • [Dartの基礎]
    • [なぜDart]
    • Hello World
    • Test/Debug
      • Get started with Observatory
Powered by GitBook
On this page
  • Torrentのデータ配信はゲーム
  • ゲームを利用して、仕組みを構築する知見を得る
  1. ダウンロードゲームへ参加してみる

About

Previousダウンロードゲームへ参加してみるNextダウンロードゲーム

Last updated 7 years ago

  • Torrentのダウンロードは、数学で有名なゲーム

  • 本章では、このゲームについて紹介と実装をしていく

TrackerからPeerの一覧を取得てきるようになりました。Peer一覧を取得すると、Peerどうしでデータを配信しあうフェーズに入ります。

Torrentのデータ配信はゲーム

P2Pでは、よく未解決な数学的な問題(ゲーム)を利用してプロトコルが設計されます。 例えば、Bitcoinは、「一定回数の「0」の連続から始まるハッシュ値」を計算して競うゲームを行います。このゲームが有効に実施されるのは、このハッシュ値を少ない時間で求める計算方法が存在していないから有効に動作するのです。

Torrentも同様に数学的に証明されていないゲームといいますか、悪意をもったユーザーが勝利しないとされているゲームを利用しています。

本章では、Torrentネッワーク上でPeerどうしが行っているゲームについて解説していきます。

ゲームを利用して、仕組みを構築する知見を得る

本章を通して、「数学的なパズルやゲームや未解決問題を利用して仕組みを構築する事についての知見」を得る事ができます。 皆さんが独自のP2Pネットワークを構築する時に必ずこの考え方は、有効なはずです。

Kyorohiro work

http://kyorohiro.strikingly.com