25 puan yazan GN⁺ 2026-02-20 | 4 yorum | WhatsApp'ta paylaş
  • Cihazlara veya nesnelere kesinlikle tekrarlanmayan kimlikler vermenin yollarını inceliyor; rastgele (random) ve deterministik yaklaşımları karşılaştırıyor
  • Rastgele yaklaşım, yeterince büyük bit sayısı kullanıldığında çakışma olasılığını fiilen 0’a indirebilir; UUID (122 bit) düzeyinden evrenin toplam hesaplama sınırına (798 bit) kadar farklı seviyeler vardır
  • Deterministik yaklaşımda merkezi sayaç, yetki devrine dayalı hiyerarşi (Dewey), ikili ağaç (Binary), token gibi çeşitli şemalar öneriliyor ve her yöntemin kimlik uzunluğu büyüme özellikleri simülasyonlarla analiz ediliyor
  • Ayrıca tüm deterministik şemaların en kötü durumda doğrusal (linear) büyümeyi kaçınılmaz olarak yaşayacağını gösteren matematiksel bir kanıt sunuluyor
  • Sonuç olarak, kozmik ölçekte genişlemede bile pratik ve verimli yöntem rastgele kimlik üretimi; deterministik yöntemler ise verimsiz kalıyor

Benzersiz kimlik ihtiyacı ve problemin tanımı

  • Nesne tanımlama, üretim, lojistik, iletişim, güvenlik gibi tüm sistemlerin temelidir ve büyük ölçekli genişlemede çakışmasız kimlik atamak kilit bir problemdir
  • İnsanlık galaksi ölçeğinde genişlese bile tekrarsız bir kimlik sistemi gerekli olacaktır
  • Problem, “kesinlikle çakışmayacak bir kimlik nasıl oluşturulur?” şeklinde tanımlanır

Rastgele (Random) yaklaşım

  • En basit yöntem rastgele bir sayı seçmektir
    • Merkezi yönetim veya senkronizasyon olmadan her yerde üretilebilir
  • Çakışma olasılığı bit sayısı artırılarak kontrol edilebilir; pratikte 0’a çok yaklaştırılabilir
  • UUID (122 bit) için yaklaşık $2^{61}$ adet kimlik üretildiğinde çakışma beklenir
  • Evrenin toplam hesaplama sınırı (10¹²⁰ işlem) dikkate alındığında 798 bit gerekir
    • Atom ölçeği (10⁸⁰ adet) için 532 bit, 1g nanobot (10⁵⁶ adet) için 372 bit
  • Gerçek rastgeleliğin sağlanması önemlidir; CSPRNG veya kuantum rastgele sayı kaynağı kullanımı önerilir
    • Yaygın seed’ler veya sabit kimlikler (ör. all-zero) yasaklanmalıdır

Deterministik yaklaşım

  • Merkezi sayaç yöntemi, tek bir sunucunun sıralı şekilde kimlik vermesine dayanır
    • Erişilebilirlik sorunu nedeniyle uydu-cihazlar arasında yetki devri yapısı (Dewey) önerilir
  • Dewey şeması: A.B.C biçiminde hiyerarşik kimlik; Elias omega coding ile gösterilir
    • Ağaç yapısına bağlı olarak logaritmik veya doğrusal büyüme gösterebilir
  • Binary şeması, kimlik uzayını ikili ağaçla böler; bazı durumlarda Dewey’den daha verimlidir
  • 2-Adic Valuation, matematiksel benzersizlik garantisi sunar; Binary’nin bir türevi gibidir
  • Token şeması, zincir yapısında logaritmik büyüme gösterir; ancak genişlik arttığında doğrusal büyümeye döner

Doğrusal büyümenin kaçınılmazlığının kanıtı

  • Tüm kimlik atama yollarının benzersiz olması gerektiği varsayımıyla, mümkün yol sayısı hesaplanır
  • Düğüm sayısı n olduğunda gereken kimlik sayısı $2^{n-1}$ düzeyine çıkar
  • Dolayısıyla kimlik uzunluğu en az O(n) olur; yani en kötü durumda doğrusal büyüme kaçınılmazdır
  • Hiçbir algoritma tüm durumlarda logaritmik büyümeyi koruyamaz

Genişleme modeli simülasyonları

  • Random Recursive Tree, Preferential Attachment, Fitness Model gibi çeşitli büyüme modelleriyle deneyler yapılıyor
    • Küçük ölçekte (2.048 düğüm) Binary öne çıkarken, Dewey ve Token sonuçları duruma göre değişiyor
    • Preferential modelde Dewey en verimli yöntem
    • Fitness modelde Dewey ve Binary benzer performans gösteriyor
  • Bir milyon düğüm ölçeğindeki deneylerde de Dewey ve Token logaritmik büyümeyi koruyor
    • Kimlik uzunluğu ≈ 6.55 × ln(n) biçiminde yaklaşık ifade edilebiliyor

Galaktik ve kozmik ölçekli genişleme modeli

  • Gezegenler arası yayılım, sabit hızlı bir dalga cephesi (front) olarak modelleniyor
    • Her gezegen yaklaşık 10⁹ adet kimlik ürettikten sonra bir sonraki gezegene yayılıyor
  • Yaklaşık 2.121 gezegen yarıçapına sahip bir galakside, tam yayılım sonunda kimlik uzunluğu yaklaşık 288.048 bit oluyor
  • Galaksiler arası yayılım da hesaba katıldığında (yaklaşık 7.816 adım), yaklaşık 2,2 milyar bit (281MB) gerekiyor
  • Deterministik yaklaşım verimsiz kalırken, rastgele yaklaşım (798 bit ve altı) ezici biçimde daha verimli

Güvenlik ve ek değerlendirmeler

  • Kimlik sahteciliğini önlemek için imza tabanlı doğrulama sistemi uygulanabilir
    • Rastgele kimliklerde açık anahtar kimlik olarak kullanılabilir; deterministik şemalarda ebeveyn, çocuk anahtarını imzalar
  • Hata düzeltme kodları ve sürüm yönetimi gereklidir
  • Kimliği üzerinde saklayamayan nesneler (ör. gezegenler) için birden çok kimliğin eşlenmesiyle yönetim yapılabilir
  • Theseus’un gemisi problemi gibi, bileşenler değiştiğinde kimliğin sürüp sürmeyeceği tartışılır
  • İlgili kavramlar: Decentralized Identifiers (DID), Ancestry Labeling Schemes

Sonuç

  • Deterministik şemalar teorik olarak ilgi çekici olsa da pratikte zayıf kalır
  • Rastgele kimlik üretimi, kozmik ölçekte bile gerçekçi ve verimlidir
  • Kimlik çakışma olasılığını “fiilen 0” seviyesine indirmek, en güvenli ve en pratik seçimdir

4 yorum

 
mammal 2026-02-20

Orijinal metni mutlaka okuyun. Formüller ve simülasyonlarla görselleştirerek anlattığı için okuması çok keyifliydi.

 
princox 2026-02-20

Zaman tabanlı olarak üretmek, doğrusal bir şey olarak görülmeli herhalde..?
Galiba asıl metne biraz bakmam gerekecek. İlginç bir hikâye.

 
hmmhmmhm 2026-02-20

Çarpışırsa, bu kozmik ölçekte şanssız olmak mı demek...(?)

 
GN⁺ 2026-02-20
Hacker News görüşleri
  • Bu analiz tamamen adil değil. UUID tasarlanırken yerellik (locality), yani ışık hızı hesaba katılıyor ama çarpışma olasılığı hesaplanırken bu yok sayılıyor. Gerçekte bir çarpışmanın anlamlı olabilmesi için iki UUID'nin üretildikten sonra nedensel temas (causal contact) kurması gerekir. Bu yüzden basit doğum günü paradoksu (birthday paradox) uygulamak yanlış bir yaklaşım. Yerellik hesaba katılırsa gerekli UUID boyutunun yazıda söylenen 800 bitten çok daha küçük olması muhtemel. Matematiksel hesabını yapmadım ama 256 bitten fazla olacağını sanmıyorum. HN, bu tür ince eleyip sık dokuyan teknik tartışmaların ciddiyetle yürütüldüğü az sayıdaki yerden biri olduğu için gerçekten hoşuma gidiyor

    • Bir zamanlar, galaksiler uzaklaşırken birbirleriyle bilgi alışverişinin imkansız hale geldiği evrenin genişlemesi hipotezini okumuştum. O hipoteze göre zeki yaşam formları, hayatta kalmak için kütle yoğunluğunun en yüksek olduğu yerlere yakınsamak zorunda kalıyor. Sonunda evrenin ısıl ölümünden önce uzaylı uygarlıkların tek bir yerde toplandığı büyük bir buluşma yaşanabilir. O zamana kadar UUID çarpışmaları da görülebilir. Vogon'ların her XML etiketine UUID ekleyip istatistikleri mahvettiğini hayal ediyorum
    • Bir keresinde bir kutu Intel NIC almıştım ve hepsinin MAC adresi aynıydı. Sebebini bulmak için günlerce uğraştığımı hatırlıyorum
    • Aşırı düşük olasılıklardan söz ederken, acaba kozmolojiyi yanlış anlamış olma ihtimalimizi de hesaba katmak gerekir. Işık konisi (light cone) nedenselliğin gerçek sınırı olmayabilir
    • Hem zamanı hem de yerelliği birlikte hesaba katmak gerekir. Protonlar bozunup madde yok olana kadar geçen süre yalnızca yaklaşık 10^56 nanosaniyedir
    • Bu eleştiri isabetli. Asıl metin eğlenceli bir düşünce deneyi ama nedenselliği yok sayarak sorunu olduğundan büyük gösteriyor. Gerçekte UUID çarpışmaları yalnızca birbiriyle iletişim kuran sistemler içinde anlam taşır. Böyle sistemler de ışık konisiyle sınırlıdır. 128 bit, insanlığın bin yıl boyunca kuracağı sistemler için yeterli; 256 bit ise tüm evren için bile fazladır
  • Adreslenebilir nesne sayısını hesaplarken, her nesnenin adresinin en az bir kez bir yerde saklanması gerektiğini de hesaba katmak gerekir. Bir biti saklamak için Npb parçacığı gerekiyorsa, adres bit sayısı arttıkça adreslenebilir nesne sayısı azalır. Dolayısıyla en fazla adreslenebilir nesne sayısı, Nthg = Np / (Npb * f(Ntng)) biçiminde bir ilişkiyle bulunabilir

  • Bir zamanlar 256 bit rastgele ID'nin çarpışma kontrolü yapmadan kullanılmak için yeterli olduğunu savunmam gerekmişti. Ekip arkadaşlarım karmaşık çarpışma doğrulama mantığı eklemek istiyordu ama 2^256'nın gözlemlenebilir evrendeki atom sayısına yakın bir ölçek olduğunu anlattım. Çarpışma yaşanmadan önce veri merkezinin milyonlarca kez patlama ihtimalinin daha yüksek olduğunu söyleyerek onları ikna ettim. Sonunda 128 bitin bile yeterli olduğu sonucuna vardık

    • Ama dağıtık bir ortamda ID'ler güvenilmeyen aktörler tarafından üretiliyorsa, kötü niyetli çarpışma ihtimali nedeniyle doğrulama gerekir. Buna karşılık tek bir sistemde basit bir sayaç yeterlidir; birden fazla sunucu varsa aralıkları shard edilmiş sayaçlarla bölmek mümkündür
    • Aslında hesap daha da basit. Tüm insanlığın toplam veri miktarı hâlâ 1 yottabayttan az. Doğum günü paradoksuna göre %50 çarpışma olasılığı yaklaşık 2^128 öğe civarında ortaya çıkar. 256 bit ID 32 bayt olduğuna göre, 2^128 * 32 bayt = 10^16 yottabayt gerekir. Yani çarpışma olasılığı astronomik derecede düşüktür
  • Her atoma bir ID verildiğini varsayarsak yaklaşık 532 bit gerektiğine dair bir hesap var. Ama pratikte atom gruplarına da (ör. mikroçip, otomobil vb.) ID vermek isteyeceğimiz için bu sayı daha büyük olabilir

    • Aslında her parçacık için değil, parçacık türü başına tek bir ID yeterlidir. Çünkü fizik yasalarına göre özdeş parçacıklar ayırt edilemez
    • Atom gruplarını hesaba katsanız bile eklenecek bit sayısı neredeyse yok denecek kadar az olur
    • UUIDv∞ en az 536 bit mi olur? Grup ID'si ya da zaman damgası da eklenirse belki 1024 bit olabilir
    • Nötrinolar her salınım yaptığında yeni bir ID mi vermek gerekir? Neyse ki elektronlar için tek bir tane yeterli
  • Bir deste kartla ID ifade etme fikri var. 52 kartın her birini Unicode karakteriyle göstermek okunabilir oluyor, elle düzenlemeyi zorlaştırıyor ve desen tanımayı kolaylaştırıyor. Gerçek bir kart destesini karıştırıp kamerayla okutursanız rastgele tohum olarak da kullanılabilir. Benzer bir fikir olarak DiceKeys de var

    • Ama “gerçekten iyi karıştırmak” en büyük zayıf nokta
  • Harika bir görselleştirme ve içgörü. Ben veritabanlarını mümkün olduğunca küçük rastgele tanımlayıcılar etrafında tasarladım. Bu tür evrensel tanımlayıcıların aslında elimizdeki tek gerçek ‘altın plak’ olduğunu düşünüyorum. Bilimsel veri yönetimi ya da kütüphanecilik gibi alanlarda bu kavram yeterince takdir edilmiyor. Büyük ölçekli organizasyon sorunlarının çoğu daha iyi tanımlayıcı tasarımıyla çözülebilirdi.
    İlgili yazılar: Identifiers Deep Dive, Trible Structure

    • Varlığın kimliği içkin (intrinsic) olarak da tanımlanabilir. Neden bir tutarlılık sözleşmesi (consistency contract) olmasın?
  • Becky Chambers'ın The Galaxy, and the Ground Within kitabının yaklaşık 281. sayfasındayım.
    Kitaptaki mesaj örneği:

    Received Message
    Encryption: 0
    From: GC Transit Authority --- Gora System (path: 487-45411-479-4)
    To: Ooli Oht Ouloo (path: 5787-598-66)
    Subject: URGENT UPDATE
    

    Bu seriyi gerçekten seviyorum. Çok türlü bir evrenin merkezi olarak uzlaşılmış bir yol adresleme sistemi kullanması fikri ilginç

    • Benzer bir örnek olarak Vernor Vinge'ın A Fire Upon The Deep kitabını öneririm. Galaksiler arası iletişim etiketleme biçimi ilginç
    • Özellikle peynir kavramından korkulan sahne aklımda kalmıştı. Serinin ikinci kitabı A Closed and Common Orbit en iyisiydi
  • Kısa süre önce Snowflake ID ile tanıştım. Twitter, Discord, Instagram, Mastodon ve başkaları bunu kullanıyor. ID boyutunu küçültmek için zaman damgası + rastgelelik bileşimi kullanılıyor ama yazıda buna değinilmemesi üzücü.
    Snowflake ID wiki, Tom Scott videosu bkz.
    Snowflake zaman damgasındaki bitlerin bir kısmı rastgelelikle değiştirilirse saniyede 4 milyar ID üretmek mümkün olabilir

    • Aslında Snowflake, UUID v1 ile neredeyse aynı yapıda. Sadece yarı boyutta
    • Benzer bir fikir olarak DRUUID da var
    • Ama tüm evrenin tek bir saat üzerinde uzlaşması neredeyse imkansız
    • Bu yaklaşım BSON ID ile de benzerlik taşıyor
  • Gözlemlenebilir olgulara dayanarak ID üretmek mümkün mü diye merak ediyorum. Zaman ve mesafeyle ayrışan özellikler sayesinde tekillik garanti edilebilir belki. Örneğin belli bir andaki yıldız ışığı deseni yalnızca tek bir kişi tarafından görülebilir. Bu, lav lambası gibi gürültüyü entropi olarak kullanan yöntemlere benziyor. Eğer tüm evren için bir koordinat sistemi tanımlanabilirse, yerel zaman + x + y + z + salt birleşimiyle benzersiz bir ID üretilebilir gibi görünüyor

  • Rastgele UUID yaklaşımı ömür açısından çok daha üstün. Aynı anda çalışabilecek cihaz sayısı sınırlı ve ağaç tabanlı UUID'lerin aksine bir cihaz devre dışı kaldığında ID yeniden kullanılabiliyor. Gerçekçi olarak en pratik çözüm, konum tabanlı kök + rastgele alt bitler karışımını kullanan hibrit bir algoritma gibi görünüyor