25 poin oleh GN⁺ 2026-02-20 | 4 komentar | Bagikan ke WhatsApp
  • Membahas cara memberikan ID yang benar-benar tidak duplikat untuk perangkat atau objek, dengan membandingkan pendekatan acak (random) dan deterministik
  • Pendekatan acak dapat membuat probabilitas tabrakan praktis menjadi 0 dengan memakai jumlah bit yang cukup besar, dengan berbagai tingkat mulai dari UUID (122 bit) hingga batas komputasi seluruh alam semesta (798 bit)
  • Untuk pendekatan deterministik, artikel ini mengusulkan beberapa skema seperti penghitung terpusat, hierarki delegatif (Dewey), pohon biner (Binary), dan token (Token), lalu menganalisis karakteristik pertumbuhan panjang ID tiap metode melalui simulasi
  • Juga disajikan pembuktian matematis bahwa semua skema deterministik tidak dapat menghindari pertumbuhan linear dalam kasus terburuk
  • Kesimpulannya, metode yang praktis dan efisien bahkan pada skala kosmik adalah pembuatan ID acak, sedangkan pendekatan deterministik terbukti tidak efisien

Kebutuhan akan ID unik dan perumusan masalah

  • Identifikasi objek adalah dasar semua sistem seperti manufaktur, logistik, komunikasi, dan keamanan, dan pada skala besar pemberian ID tanpa duplikasi menjadi tantangan utama
  • Bahkan jika umat manusia meluas hingga skala galaksi, tetap dibutuhkan sistem ID tanpa duplikasi
  • Masalahnya dirumuskan sebagai: “bagaimana membuat ID yang sama sekali tidak pernah bertabrakan?”

Pendekatan acak (Random)

  • Metode paling sederhana adalah memilih angka secara acak
    • Dapat dibuat di mana saja tanpa pengelolaan pusat atau sinkronisasi
  • Probabilitas tabrakan dapat dikendalikan dengan menambah jumlah bit, hingga bisa diatur mendekati 0 secara praktis
  • UUID (122 bit) diperkirakan mulai mengalami tabrakan saat menghasilkan sekitar $2^{61}$ ID
  • Jika mempertimbangkan batas komputasi seluruh alam semesta (10¹²⁰ kali), dibutuhkan 798 bit
    • Berdasarkan unit atom (10⁸⁰ buah) diperlukan 532 bit, sementara 1g nanobot (10⁵⁶ buah) memerlukan 372 bit
  • Menjamin keacakan yang sesungguhnya sangat penting, dan disarankan menggunakan CSPRNG atau sumber bilangan acak kuantum
    • Seed umum atau ID konstan (misalnya all-zero) perlu dilarang
    Iklan

Pendekatan deterministik (Deterministic)

  • Metode penghitung terpusat menerbitkan ID secara berurutan dari satu server
    • Karena ada masalah aksesibilitas, diusulkan struktur delegasi antar satelit/perangkat (Dewey)
  • Skema Dewey: ID hierarkis berbentuk A.B.C, direpresentasikan dengan pengodean Elias omega
    • Bergantung pada struktur pohon, pertumbuhannya bisa logaritmik atau linear
  • Skema Binary membagi ruang ID ke dalam pohon biner, dan dalam beberapa kasus lebih efisien daripada Dewey
  • 2-Adic Valuation menjamin keunikan secara matematis, sebagai bentuk variasi dari Binary
  • Skema Token menunjukkan pertumbuhan logaritmik pada struktur berantai, tetapi berubah menjadi linear saat lebar struktur membesar
Iklan

Pembuktian bahwa pertumbuhan linear tidak dapat dihindari

  • Dengan asumsi bahwa semua jalur pemberian ID harus unik, artikel ini menghitung jumlah jalur yang mungkin
  • Saat jumlah node adalah n, jumlah ID yang dibutuhkan meningkat menjadi $2^{n-1}$
  • Karena itu, panjang ID minimal adalah O(n), artinya pertumbuhan linear dalam kasus terburuk tak terhindarkan
  • Tidak ada algoritme yang dapat mempertahankan pertumbuhan logaritmik untuk semua kasus

Simulasi model ekspansi

  • Eksperimen dilakukan memakai berbagai model pertumbuhan seperti Random Recursive Tree, Preferential Attachment, dan Fitness Model
    • Pada skala kecil (2.048 node), Binary unggul, sementara Dewey dan Token berbeda tergantung kondisi
    • Pada model Preferential, Dewey paling efisien
    • Pada model Fitness, Dewey dan Binary menunjukkan performa serupa
  • Dalam eksperimen skala satu juta node pun, Dewey dan Token tetap mempertahankan pertumbuhan logaritmik
    • Panjang ID dapat didekati dengan bentuk ≈ 6.55 × ln(n)

Model ekspansi skala galaksi dan alam semesta

  • Penyebaran antarplanet dimodelkan sebagai gelombang (front) dengan kecepatan tetap
    • Tiap planet menghasilkan sekitar 10⁹ ID sebelum menyebar ke planet berikutnya
    Iklan
  • Dengan radius galaksi sekitar 2.121 planet, panjang ID saat ekspansi penuh menjadi sekitar 288.048 bit
  • Jika ekspansi antargalaksi (sekitar 7.816 tahap) juga diperhitungkan, diperlukan sekitar 2,2 miliar bit (281MB)
  • Pendekatan deterministik tidak efisien, dan pendekatan acak (di bawah 798 bit) jauh lebih efisien

Keamanan dan pertimbangan tambahan

  • Untuk mencegah pemalsuan ID, dapat diterapkan sistem verifikasi berbasis tanda tangan
    • Pada ID acak, kunci publik dapat digunakan sebagai ID; pada skema deterministik, induk menandatangani kunci anak
  • Diperlukan pula kode koreksi kesalahan dan manajemen versi
  • Untuk objek yang tidak bisa menyimpan ID (misalnya planet), pengelolaan dilakukan dengan memetakan beberapa ID
  • Artikel ini juga membahas apakah ID harus tetap berlanjut saat komponen diganti, seperti pada paradoks Kapal Theseus
  • Konsep terkait: Decentralized Identifiers (DID), Ancestry Labeling Schemes

Kesimpulan

  • Skema deterministik menarik secara teoretis, tetapi rendah nilai praktisnya
  • Pembuatan ID acak tetap realistis dan efisien bahkan pada skala kosmik
  • Menjadikan probabilitas tabrakan ID “praktis 0” adalah pilihan yang paling aman dan paling praktis

4 komentar

 
mammal 2026-02-20

Pastikan membaca artikel aslinya. Penjelasannya sangat menarik karena memvisualisasikannya dengan rumus dan simulasi.

 
princox 2026-02-20

Kalau dibuat berbasis waktu, itu harus dianggap sebagai sesuatu yang linear, ya..?
Sepertinya saya perlu melihat naskah aslinya. Ini cerita yang menarik.

 
hmmhmmhm 2026-02-20

Kalau sampai bertabrakan, berarti sialnya sudah seukuran kosmik... (?)

 
GN⁺ 2026-02-20
Komentar Hacker News
  • Analisis ini sama sekali tidak sepenuhnya adil. Saat merancang UUID, lokalitas (locality), yaitu kecepatan cahaya, diperhitungkan, tetapi dalam perhitungan probabilitas tabrakan hal itu diabaikan. Secara nyata, agar tabrakan menjadi bermakna, dua UUID harus berada dalam kontak kausal (causal contact) setelah dibuat. Karena itu, menerapkan paradoks ulang tahun (birthday paradox) secara sederhana adalah pendekatan yang keliru. Jika lokalitas diperhitungkan, ukuran UUID yang dibutuhkan tampaknya akan jauh lebih kecil daripada 800 bit yang disebut di artikel. Saya belum menghitung secara matematis, tetapi rasanya tidak akan lebih dari 256 bit. Saya sangat suka HN karena ini salah satu dari sedikit tempat di mana diskusi teknis yang sangat teliti seperti ini benar-benar berlangsung serius

    • Dulu saya pernah membaca hipotesis ekspansi kosmik bahwa galaksi-galaksi saling menjauh hingga tidak mungkin lagi bertukar informasi. Menurut hipotesis itu, demi bertahan hidup, makhluk cerdas akan berkumpul menuju tempat dengan kerapatan massa tertinggi. Pada akhirnya, sebelum kematian panas alam semesta, mungkin akan terjadi semacam “pertemuan besar” tempat peradaban alien berkumpul di satu lokasi. Mungkin pada saat itulah tabrakan UUID bisa terjadi. Saya membayangkan statistik jadi kacau karena para Vogon menempelkan UUID pada setiap tag XML
    • Saya pernah menerima satu dus Intel NIC, dan semuanya memiliki alamat MAC yang sama. Saya ingat harus menderita beberapa hari untuk mencari penyebabnya
    • Saat membahas probabilitas yang sangat kecil, kita juga perlu mempertimbangkan kemungkinan bahwa pemahaman kita tentang kosmologi itu salah. Kerucut cahaya (light cone) mungkin bukan batas kausal yang sesungguhnya
    • Waktu dan lokalitas keduanya harus dipertimbangkan. Sampai proton meluruh dan materi menghilang, waktunya hanya sekitar 10^56 nanodetik
    • Kritik ini tepat. Artikel aslinya adalah eksperimen pemikiran yang menarik, tetapi mengabaikan kausalitas sehingga membesar-besarkan masalah. Dalam praktiknya, tabrakan UUID hanya bermakna di dalam sistem yang saling berkomunikasi. Sistem seperti itu dibatasi oleh kerucut cahaya. 128 bit cukup untuk sistem yang akan dibangun umat manusia selama seribu tahun, dan 256 bit berlebihan bahkan untuk seluruh alam semesta
  • Saat menghitung jumlah objek yang dapat diberi alamat, perlu dipertimbangkan bahwa alamat tiap objek setidaknya harus disimpan sekali di suatu tempat. Jika untuk menyimpan satu bit dibutuhkan partikel Npb, maka semakin banyak bit alamat, semakin sedikit jumlah objek yang bisa diberi alamat. Karena itu, jumlah maksimum objek yang dapat dialamati bisa dicari dengan relasi berbentuk Nthg = Np / (Npb * f(Ntng))

  • Saya pernah harus berargumen bahwa ID acak 256 bit sudah cukup sehingga tidak perlu pemeriksaan tabrakan. Rekan-rekan saya ingin menambahkan logika verifikasi tabrakan yang rumit, tetapi saya menjelaskan bahwa 2^256 setara dengan skala jumlah atom di alam semesta teramati. Saya meyakinkan mereka bahwa sebelum tabrakan terjadi, kemungkinan pusat data meledak jutaan kali justru lebih tinggi. Pada akhirnya kami sampai pada kesimpulan bahwa 128 bit saja juga sudah cukup

    • Tetapi jika dalam lingkungan terdistribusi ada pihak yang tidak tepercaya yang menghasilkan ID, maka verifikasi diperlukan karena ada kemungkinan tabrakan yang disengaja. Sebaliknya, untuk sistem tunggal, penghitung sederhana sudah cukup, dan jika ada beberapa server maka rentangnya bisa dibagi dengan penghitung yang di-shard
    • Sebenarnya perhitungannya lebih sederhana. Total volume data seluruh umat manusia masih belum mencapai 1 yottabyte. Menurut paradoks ulang tahun, probabilitas tabrakan 50% terjadi di tingkat sekitar 2^128 entri. Karena ID 256 bit berukuran 32 byte, maka 2^128 * 32 byte = 10^16 yottabyte diperlukan. Artinya, probabilitas tabrakan sangat amat kecil
  • Ada perhitungan bahwa jika setiap atom diberi ID, dibutuhkan sekitar 532 bit. Tetapi dalam kenyataannya, kita mungkin juga ingin memberi ID pada kelompok atom, misalnya mikrocip, mobil, dan sebagainya, sehingga ukurannya bisa lebih besar

    • Sebenarnya bukan setiap partikel, melainkan hanya perlu satu ID untuk tiap jenis partikel. Menurut hukum fisika, partikel yang identik tidak dapat dibedakan
    • Bahkan jika kelompok atom diperhitungkan, bit tambahan yang dibutuhkan kemungkinan hampir tidak ada
    • Apakah UUIDv∞ akan minimal sekitar 536 bit? Jika ditambah ID grup atau timestamp, mungkin bisa menjadi sekitar 1024 bit
    • Apakah neutrino harus diberi ID baru setiap kali berosilasi? Untungnya, untuk elektron cukup satu saja
  • Ada ide untuk merepresentasikan ID dengan setumpuk kartu. Jika masing-masing dari 52 kartu direpresentasikan sebagai karakter Unicode, hasilnya mudah dibaca, sulit diedit manual, dan bagus untuk pengenalan pola. Jika set kartu sungguhan dikocok lalu dibaca kamera, itu juga bisa dipakai sebagai seed acak. Ada ide serupa di DiceKeys

    • Tetapi kelemahan terbesarnya adalah “mengocok dengan benar”
  • Visualisasi dan wawasannya keren. Saya merancang basis data dengan mengutamakan pengenal acak sekecil mungkin. Saya menganggap pengenal universal semacam ini pada dasarnya adalah satu-satunya ‘golden disk’. Dalam bidang pengelolaan data ilmiah maupun ilmu perpustakaan, konsep seperti ini diremehkan. Banyak masalah organisasi skala besar sebetulnya bisa diselesaikan dengan desain pengenal yang lebih baik.
    Tulisan terkait: Identifiers Deep Dive, Trible Structure

    • Identitas entitas juga bisa didefinisikan secara intrinsik (intrinsic). Mengapa kontrak konsistensi (consistency contract) tidak bisa digunakan?
  • Saya sedang membaca sekitar halaman 281 dari The Galaxy, and the Ground Within karya Becky Chambers.
    Contoh pesan dalam buku:

    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
    

    Saya sangat menyukai seri ini. Menarik bahwa dalam setting semesta multi-spesies itu digunakan sistem alamat jalur yang disepakati secara terpusat

    • Untuk contoh serupa, saya merekomendasikan A Fire Upon The Deep karya Vernor Vinge. Cara pelabelan komunikasi antargalaksinya menarik
    • Saya sangat terkesan dengan adegan yang takut pada konsep keju. Dari seri itu, buku kedua, A Closed and Common Orbit, adalah yang terbaik
  • Saya baru-baru ini mengetahui Snowflake ID. Ini digunakan di Twitter, Discord, Instagram, Mastodon, dan lain-lain. Metode ini mengurangi ukuran ID dengan kombinasi timestamp + acak, dan sayang sekali artikel itu tidak membahasnya.
    Lihat wiki Snowflake ID dan video Tom Scott.
    Jika sebagian bit timestamp Snowflake diganti dengan bit acak, tampaknya bisa menghasilkan 4 miliar ID per detik

    • Sebenarnya Snowflake hampir sama strukturnya dengan UUID v1. Hanya ukurannya setengahnya saja
    • Sebagai ide serupa, ada juga DRUUID
    • Tetapi hampir mustahil membuat seluruh alam semesta sepakat pada satu jam
    • Pendekatan ini juga mirip dengan BSON ID
  • Saya penasaran apakah ID bisa dibuat berdasarkan fenomena yang dapat diamati. Mungkin keunikannya bisa dijamin berkat karakteristik yang dibedakan oleh waktu dan jarak. Misalnya, pola cahaya bintang pada saat tertentu hanya bisa dilihat oleh satu orang. Ini mirip dengan pemanfaatan noise sebagai entropi seperti pada lava lamp. Jika sistem koordinat seluruh alam semesta bisa didefinisikan, rasanya kombinasi waktu lokal + x + y + z + salt dapat menghasilkan ID yang unik

  • Metode UUID acak jauh lebih unggul dari sisi umur pakai. Jumlah perangkat yang bisa aktif bersamaan itu terbatas, dan berbeda dengan UUID berbasis pohon, saat perangkat dibuang, ID-nya bisa digunakan kembali. Secara realistis, algoritma campuran yang menggabungkan root berbasis lokasi + bit acak turunan tampaknya paling praktis