5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「トークン」という単語について

Posted at

経緯

  • アクセストークンを発行する、NFTを購入する等、なんとなくトークン(token)という言葉を使っていたが、エンジニアとしてはそもそもどういうイメージを持っておけばよいのか気になって調べた

調査方法

  • Web検索
  • 非エンジニアのアメリカ人Sさんに質問
  • エンジニアのアメリカ在住メキシコ人Dさんに質問

結論

  • 特にWeb開発においては、日本でいうメダルや引換券だと思っておけばよさそう
    • セキュリティトークンは、ユーザー名とパスワードを言うともらえる時間限定のメダル
    • 仮想通貨の文脈でのトークンは、払い戻し可能かもしれないメダル

下記の内容のより詳細はこちらもどうぞ

調査手順

  1. まずはそもそもtokenとは何なのか
    1. ということを辞書で調査
    2. Sさん、Dさんにコメントもらいながら意味を確認
  2. 開発でよく聞くトークンを洗い出して分類
  3. どういうイメージを持っておけばよいか考察

以降、それぞれの結果

1. token(名詞)の辞書上での意味

  1. a metal or plastic disk that can be redeemed or used in designated slot machines
    Casinoで使うチップ、ゲームセンターのメダル等

  2. something serving as a sign of something else
    「兆候」としてのしるしのニュアンス

  3. something of sentimental value
    「これは私たちの友情の証(しるし)です」的なニュアンス

  4. an individual instance of a type of symbol
    一単語の中の一文字 等

  • Sさんによると
    • tokenといえばsymbolと同じようなニュアンス
    • 3.の意味で、例えば "Please take this as a token of my appreciation." のような使い方が
    • お金が出てきたり、等価交換的なニュアンスがあると1.の意味になる
  • Dさんによると
    • Webで使うトークンは、交換のニュアンスが含まれる1.が当てはまる
    • クレーンゲームで使うメタルコインと同じ
    • スペイン語ではmedallitasというのが同じような概念

2. トークンの種類

個人的に開発現場でよく耳にするトークンを分類した(ほかにも分類方法はある)

セキュリティートークン

  • ハードウェアトークン
    • 固定のトークンを物理デバイスに持たせた形式。USBドングル等
  • ワンタイムパスワードトークン
    • ワンタイムパスワードを生成するハードウェアまたはソフトウェア。時刻に連動した同期トークン、チャレンジ レスポンス認証メカニズム (CRAM) を利用した非同期トークンがある
  • APIトークン
    • サービスにリクエストしたときにトークンが発行される形式。APIトークンを用いた認証プロトコルにOAuth2.0等がある
  • JSON Webトークン(JWT)
    • JSONデータに署名や暗号化を施す方法を定めたオープン標準 (RFC 7519)。header、payload、signatureを含んだJSON形式のトークン。OAuth2.0でJWTを使うこともできる(OAuthはプロトコル、JWTはトークンの種類)

(アクセストークンやリフレッシュトークンなど、そのトークンの目的に応じた名づけがされることもある)

Blockchain・仮想通貨業界で出てくるトークン

  • プラットフォームトークン
    • Blockchain上のDAppをサポートするためのトークン
  • セキュリティトークン
    • 株式や不動産などの別の資産の所有権を表すもの
    • 例えば、金を持ちたくないので金の価格に応じて価値が変化するトークンを作るなど
    • 基本的にトークンを購入して、保管することが目的
  • トランザクショナルトークン
    • 法定通貨のように何かを購入するときに使用される
    • 一般的に手数料が非常に安いなどの利点がある
  • ユーティリティトークン
    • トークンが開発されたアプリやプラットフォーム内で特定の目的に使用されるもの
    • アプリ内のみの支払いなど
  • ガバナンストークン
    • DAOの運営のための投票権として働くトークン

参考:トークンとコインの違いなど

3. 所感・考察

  • 考えてみれば「トークン」という言葉を開発現場以外で聞いたことがなかった。(あったとしても、スルーしている)
  • 開発で耳にするどのトークンも、主に認証が完了している証として使われており、認証は情報の交換をすることで行っているため、Dさんの話をそのまま使うと、メダルゲームのメダルがイメージとしてよさそう。
  • 先払いしたときの引換券でもよさそう。印鑑とかもある意味トークンなのかな?という気もする。

参考にしたサイト・動画

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?