Token Nedir? Türleri, Nasıl Çalışır ve Kullanım Alanları

Token, bir kullanıcı veya işlem için kimlik ve yetki doğrulaması yapan dijital kodlama veya veri birimi olarak tanımlanır. Genellikle güvenli iletişim, işlem onayı ve erişim kontrolü için kullanılır. Kripto para birimlerinden web uygulamalarına kadar pek çok alanda yer alır.

5 dk okuma
Token

Token, dijital ortamda kimlik doğrulaması, yetkilendirme ve işlem gerçekleştirmek için kullanılan veri parçası veya dijital birimidir. Bilgisayar ağlarından kripto para birimlerine, yapay zeka uygulamalarından web servislerine kadar geniş bir yelpazede yer alır. Her bağlamda biraz farklı anlam taşısa da, özünde "dijital temyiz belgesi" işlevi görür.

Token Türleri

Token, kullanım alanına göre birkaç ana kategoriye ayrılır:

  • Access Token (Erişim Jetonu): Web uygulamaları ve API'lerde kullanıcının kimliğini doğrulayan kısa ömürlü kod. OAuth 2.0 standardında yaygındır.
  • Refresh Token (Yenileme Jetonu): Access token süresi dolduğunda yenisini almak için kullanılan, daha uzun ömürlü token.
  • Authentication Token (Kimlik Doğrulama Jetonu): Kullanıcının adı ve şifresi yerine kullanılan tek seferlik veya oturum bazlı kod.
  • Cryptocurrency Token (Kripto Token): Blockchain ağında dijital değeri temsil eden veri birimi. Bitcoin, Ethereum ve binlerce altcoin bu kategoriye girer.
  • Security Token (Güvenlik Jetonu): Hisse senedi, tahvil gibi finansal varlığın dijital temsili.
  • Utility Token (Kullanım Jetonu): Bir platformun hizmetine erişim sağlayan token (örn. ağ ücretleri ödemek).
  • NLP Token (Dil İşleme Jetonu): Yapay zeka modellerinde bir kelime, hece veya karakter grubunun dijital gösterimi.

Token Nasıl Çalışır?

Token'in çalışma mekanizması bağlamına göre değişir, ancak temel prensip aynıdır:

  1. Oluşturulması: Sunucu, kullanıcı veya işlem hakkında bilgi içeren benzersiz bir kod üretir. Bu kod şifreleme veya imza teknikleriyle korunabilir.
  2. İstemciye Gönderilmesi: Token tarafı (browser, mobil uygulama vb.) tarafından alınır ve saklanır.
  3. Doğrulama İsteğinde Kullanılması: Her işlem yapıldığında, istemci bu tokeni sunucuya geri gönderir.
  4. Doğrulanması: Sunucu, tokeni kontrol eder, geçerliliğini ve süresi dolup dolmadığını kontrol eder.
  5. Yetkilendirme: Token geçerli ise işlem onaylanır; değilse reddedilir veya yeniden kimlik doğrulaması istenir.

Örnek: Gmail'de oturum açtığınızda, Google size bir access token verir. Sonra e-posta yazarken, bu token sayesinde Google sizin kimliğinizi doğrulayarak işleminizi tamamlamasını sağlar. Token süresi dolunca ya yenisini alırsınız ya da tekrar giriş yaparsınız.

Token'in Avantajları

  • Güvenlik: Şifreleme ve imza mekanizmalarıyla korunarak sahte veya değiştirilen tokenler tespit edilir.
  • Durumsuzluk (Stateless): Sunucu token'i doğrulamak için her defasında kullanıcı veritabanını kontrol etmesi gerekmez; token içinde bilgi vardır.
  • Ölçeklenebilirlik: Birden çok sunucuda kullanılabilir; oturum (session) gibi merkezi depolama gerekmez.
  • Kısa Ömür: Access token'ler genellikle sınırlı süreyle geçerlidir; risk azaltır.
  • Çoklu Cihaz Desteği: Mobil, web, masaüstü gibi farklı istemcilerde aynı token sistem kullanılabilir.
  • Hızlı İşlem: Veri tabanı sorgusu minimize edilir, yanıt süresi düşer.

Token'in Dezavantajları

  • Token İptal Zorluk: Erken iptal edilmesi gerektiğinde (logout, şifre değiştirme) kontrol zordur; blacklist yönetimi gerekir.
  • Hackleme Riski: Eğer token çalınırsa ve HTTPS kullanılmazsa, aktörü taklit edebilir.
  • Boyut Artışı: JWT gibi kompleks tokenler her istekle birlikte gönderilir, bandwidth artar.
  • Zaman Senkronizasyon: Sunucu ve istemci saatleri farklıysa, token geçersiz kabul edilebilir.
  • Refresh Kompleksitesi: Access token süresi dolunca refresh token ile yenisini almak ek işlem gerektirir.

Token Nerede Kullanılır?

Alan Kullanım Örneği Token Tipi
Web API'ları Twitter, Facebook API erişimi Access Token
Oturum Yönetimi Web sitesinde login kalıcılığı JWT veya Session Token
Kripto Para Bitcoin transfer, NFT sahipliği Cryptocurrency Token
İki Faktörlü Doğrulama Banka hesabı güvenliği TOTP Token
Makine Öğrenmesi ChatGPT, LLM modellerinde NLP Token (BPE)
DeFi Protokolleri Uniswap, Aave platformları Utility/Governance Token
Mikro Hizmetler Sunucu arası iletişim Service-to-Service Token

JWT (JSON Web Token)

En yaygın token formatıdır. Üç kısımdan oluşur:

  • Header: Token tipi ve şifreleme algoritması.
  • Payload: Kullanıcı kimliği, roller, izinler gibi veri.
  • Signature: Tokeni imzalayan sunucunun sırrı ile oluşturulan doğrulama kodu.

Örnek JWT:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MDUwIn0.sWCJpCCWCVGSwJv0Dz7V_6K0V5c

JWT'nin avantajı taşınabilir olması ve base64 encoded olmasıdır; herhangi bir JSON destekleyen sistem kullanabilir.

Kripto Para Bağlamında Token

Blockchain teknolojisinde, token belirli bir varlığın dijital karşılığıdır. Ethereum ağında ERC-20 standarı ile oluşturulan tokenler işlem yapılabilir, transfer edilebilir ve değeri vardır. NFT (Non-Fungible Token) ise benzersiz dijital varlıkları (sanat, arazi, koleksiyon) temsil eder.

Kripto tokenler ayrıca yönetim hakları sağlayabilir; SAİ tokenı sahibi, protokol kararlarında oy kullanabilir (governance token).

Token'in Tarihçesi

1990'lar-2000'ler: Session bazlı oturum yönetimi hakim. Token konsepti network securityde temel idi.

2010: OAuth 1.0 yayınlandı. İnternet hizmetlerinin birbiri arasında güvenli erişim sağlamasını mümkün kıldı.

2012: OAuth 2.0 standardı geliştirildi. Access token ve refresh token konsepti popülarite kazandı.

2011: JWT (JSON Web Token) fikri ortaya atıldı, 2015 yılında RFC 7519 standart hale geldi.

2009: Bitcoin ile kripto token konsepti başladı. Daha sonra Ethereum (2015) ile akıllı kontrat destekli tokenler yaygınlaştı.

2017-2021: ICO (Initial Coin Offering) ve token ekonomisi dönem. Binlerce proje token oluşturdu.

2023-2024: Yapay zeka ve LLM modelleri token kullanımını artırdı. GPT modelleri text tokenlemeyi standart hale getirdi.

Token ile session arasındaki fark nedir?+
Session, sunucu tarafında saklanır ve her oturum için bir ID verilir; sunucu bu ID'ye bağlı verileri bellekte tutmalıdır. Token ise, sunucuda saklanmaz; istemci tarafında tutulur ve her istekle gönderilir. Token, ölçeklenebilir uygulamalarda daha verimlidir çünkü sunucuda durum yönetimi gerekmez (stateless).
Token çalınırsa ne olur?+
Çalınan token, süresi dolana kadar orijinal kullanıcı gibi davranabilecek kişi tarafından kullanılabilir. Bu risk azaltmak için: HTTPS kullanın (şifreleme), tokeni browser localStorage yerine httpOnly cookie'de saklayın, token süresi kısa tutun, ve şüpheli aktiviteler için blacklist sistemi kurun.
NFT ve Token aynı şey mi?+
Hayır. NFT (Non-Fungible Token), benzersiz ve değiştirilmez bir tokendır; her biri farklıdır. Standart kripto token (ERC-20 gibi) fungible'dır; bir Bitcoin diğer Bitcoin ile aynıdır. NFT'ler sanat, koleksiyon gibi tekil varlıkları temsil ederken, normal tokenler sadece değeri temsil eder.

T harfindeki diğer terimler