Bitcoin 1.01ORION · SLH-DSA · √2

Bitcoin 1.01: sunucusuz, kuantuma dayanıklı imzalı, Bitcoin'e çıpalı bir eşler arası para

Teknik bildiri (whitepaper) · Lansman sürümü · 2026

Bu belge Bitcoin 1.01'in biçimini, iş kanıtını ve madencilik dışındaki güvenlik önlemlerini anlatır. Her sayı programın kaynak kodundaki bir sabitten gelir; dosya adları parantez içinde verilir. Tasarım kararlarının tam kaydı TASARIM.md'de, kullanım ise BENIOKU.md'dedir.


Özet

Bitcoin 1.01, Bitcoin'in fikrini koruyan bir eşler arası paradır: herkesin doğrulayabildiği bir blok zinciri, iş kanıtıyla seçilen en ağır zincir, sabit ve azalan bir arz. Üç noktada ayrılır:

  1. İmza ve hash kuantum bilgisayarlara karşı yenilendi. İşlemler, yalnızca hash fonksiyonlarına dayanan SLH-DSA-SHAKE-256s (NIST FIPS 205) ile imzalanır. Bloklar 1024 bitlik ORION hash'iyle (Keccak-f[1600], kapasite 1024 bit) mühürlenir.
  2. Hiçbir sunucuya ihtiyaç duymaz. Eşler aynı yerel ağda kendiliğinden, internette tohum adresleri ve adres paylaşımıyla birbirini bulur. Alan adı, barındırma, hesap ya da kimlik doğrulaması (KYC) yoktur.
  3. Güvenliğin bir kısmı madencilerden alınıp Bitcoin'e bağlanır. Düğümler zaman zaman bir bloğun özetini Bitcoin'e yazar (çıpa). Bitcoin'de 6 onay alan bir çıpa, o bloğu hesap gücü çoğunluğuna karşı bile korur. Çıpa atan kişi çıpaladığı bloğun ödülünün yarısını alır.

Lansman için zorluk bilerek yükseltildi: her blok, genesis dahil, en az 2^36 deneme (Bitcoin'in zorluk-1'inin 16 katı) gerektirir. Bloklar 15 dakikada bir gelir. Zorluk her blokta göreli ASERT kuralıyla ayarlanır; ilk 2016 blokta yarı ömür 1 saatten 12 saate çıkan bir lansman rampası, açılışta gelen büyük bir madencinin ucuz blok yağmurunu önler. Ağın açılışı önceden duyurulur ve ilk blok, açılıştan sonra kazılmış bir Bitcoin bloğuna bağlanır. Böylece açılıştan önce gizlice kazmak boşa gider.

Eşler arası bütün bağlantılar hibrit kuantum dirençli şifreyle (X25519 + ML-KEM-1024) korunur (Faz 6). Zincire yazılmayan özel mesajlar ve imzalı kamu ilanları eşler arasında saklanıp iletilir (Faz 7). Bitcoin 1.01 yanında çalışan Bitcoin 1.01 Protokolü (PROTOKOL.md), yakılan coin'i 1:1 karşılayan, hisse kanıtlı, Dor Sütunlarına bölünmüş ve saniyeler içinde kesinleşen ikinci bir katmandır; Bitcoin 1.01'in başlık zincirini kendi durumunun parçası olarak doğrular.


1. Neden Bitcoin 1.01

Bitcoin'in imzası (ECDSA, secp256k1), yeterince büyük bir kuantum bilgisayarında Shor algoritmasıyla kırılabilir. Bitcoin'i değiştirmek bütün ağın uzlaşmasını gerektirir. Bitcoin 1.01 bu değişikliği baştan yapılmış bir zincir olarak dener ve geri kalan her şeyde Bitcoin'e yakın kalır: UTXO modeli, en çok iş içeren zincir kuralı, 21 milyonu aşmayan arz, dört yılda bir yarılanan ödül.

İkinci hedef sunucusuzluktur. Program bir web sitesine, API'ye ya da merkezi bir hizmete bağlı değildir. bit101.org sitesi yalnızca belgeleri ve indirme bağlantısını taşır; kapansa bile ağ çalışır. Katılmak için bir programı çalıştırmak yeter. Kimlik, e-posta ya da telefon numarası istenmez.


2. Biçim

2.1 Hash: ORION ailesi

ORION kendi icadımız değildir. SHA-3'ün kalbi olan Keccak-f[1600] permütasyonunu kapasitesi 1024 bit, hızı 72 bayt olacak şekilde kullanır; bu SHA3-512'nin ayarıdır (src/orion.*).

AdÇıktıKullanımGenel güvenlik
ORION-10241024 bitBlok parmak izi, iş kanıtı, adres türetme512 bit
ORION-512512 bitİşlem kimliği, Merkle düğümleri, çıpa özetiçarpışma 256, ön görüntü 512 bit

Her çağrının önüne bir etiket eklenir: [uzunluk (1 bayt)] "orion-stars-up-my-sleeve/" + amaç. Amaçlar blok, islem, merkle-yaprak, adres gibidir. Böylece bir amaç için üretilen hash başka bir amaç için kullanılamaz.

Şeffaflık: ORION-512, aynı girdinin resmî SHA3-512 sonucuyla birebir aynıdır. ORION-1024'ün ilk 64 baytı da aynıdır. Herkes bir bloğun hash'inin ilk yarısını herhangi bir SHA3-512 aracıyla doğrulayabilir.

2.2 √2 ve 3x+1

√2'nin ikili açılımı programın içinde, kütüphanesiz hesaplanır (src/kok2.*). İlk 64 biti 6a09e667f3bcc908'dir; bu, SHA-256'nın ilk başlangıç sabitiyle aynıdır.

  • Genesis: √2'nin ilk 2048 biti genesis kaydına, ilk 1024 biti genesis'in "önceki hash"ine yazılır ("zincirden önce √2 vardı").
  • Dönem sabiti: blok hash'i ORION-1024("blok", başlık || dönem sabiti) ile hesaplanır. Her yarılanma döneminde (140.000 blok) √2'nin sıradaki 1024 biti dönem sabiti olur. Oylama gerekmez; her cihaz aynı sonucu bulur.
  • 3x+1: her başlık, (yükseklik + 27) sayısının Collatz dizisinde 1'e inene kadar attığı adım sayısını taşır. Genesis'te bu sayı 27'dir: 111 adım, zirve 9.232. Güvenlikte rolü yoktur; zincirin imzası gibidir. Genesis madenciliği de nonce = 27'den başlar.

√2 gizli değildir. Hiçbir anahtar √2'den üretilmez.

2.3 Blok başlığı (228 bayt, küçük uç)

AlanBaytAçıklama
sürüm4101
yükseklik8
önceki hash128ORION-1024
Merkle kökü64ORION-512, imzalar dahil tam işlem kimlikleri
zaman8Unix saniyesi (UTC)
hedef_bits4sıkıştırılmış hedef (bölüm 3)
nonce8
collatz43x+1 adım sayısı

Blok = başlık + işlem sayısı (4 bayt) + işlemler. Gövde en fazla 4 MB'tır. Merkle ağacında yaprak ve iç düğüm farklı etiketlerle hash'lenir; tek kalan düğüm kopyalanmaz, bir üst seviyeye taşınır (Bitcoin'deki CVE-2012-2459 türü belirsizlik olmasın diye).

2.4 Anahtarlar, adresler, imza

  • İmza: SLH-DSA-SHAKE-256s (NIST FIPS 205, güvenlik kategorisi 5). Açık anahtar 64 bayt, imza 29.792 bayt. Kod sıfırdan yazıldı ve NIST'in resmî ACVP test vektörlerinin hepsini geçer (bitcoin101 nist-test). İmzalar "hedged" atılır: her imzada işletim sisteminden 32 bayt taze rastgelelik.
  • Hafif imza seçeneği: isteyen kullanıcı yeni adreslerini Schnorr (BIP 340, secp256k1) ile açabilir: imza 64 bayt, tipik işlem ~75 kat küçük, ücret ~30 kat az. Kuantuma dayanıklı değildir; açık anahtar yalnızca harcama anında görünür ve cüzdan para üstü için her seferinde yeni adres kullanır. Varsayılan SLH-DSA'dır. İşlem sürümü 3 her imza kaydına bir şema baytı ekler; Schnorr adresi farklı bir alan etiketiyle ("adres-schnorr") türetilir (TASARIM §7a).
  • Adres = ORION-1024("adres", açık anahtar) çıktısının 768 biti. Metin biçimi orn + Base58(adres + 4 baytlık kontrol), 140 karakter. Tek harf yanlış yazılan adres reddedilir.
  • Cüzdan: tek bir 256 bitlik ana sır. Bütün adresler ondan türetilir; tek bir 72 karakterlik yedek (64 hex + kontrol) hepsini geri getirir.

2.5 İşlemler

TürAdİçerik
0Ödül işlemiHer bloğun ilki. Girdisiz; madenci ödülünü ve ücretleri yazar. 100 blok olgunlaşmadan harcanamaz.
1Normal işlemHarcanmamış çıktıları (UTXO) harcar. Sürüm 1: adres çıktıları. Sürüm 2: HTLC çıktıları ve talep/iade yolları (Bitcoin ile atomik takas).
2Çıpa ödülüBir bloğu Bitcoin'e çıpalayanın payını öder. Girdisi ve imzası yoktur; Bitcoin kanıtı gövdenin içindedir (bölüm 5.3).
  • İşlem kimliği (txid) = ORION-512("islem", gövde); imzalar dahil değildir, bu yüzden kimlik imzayla değiştirilemez. Merkle ağacına ise imzalar dahil tam kimlik girer.
  • Aynı adresten gelen girdiler tek bir imzayı paylaşır; her imza yaklaşık 30 KB olduğu için bu önemlidir.
  • İşlemde en fazla 80 baytlık bir not alanı vardır.
  • Ücret politikası: 1.000 bayt başına 1.000 birim. Tek imzalı bir işlem ~30 KB, ücreti ~0,0003 coin. Bu bir uzlaşı kuralı değil, havuzun kabul kuralıdır.
  • 1 coin = 100.000.000 birim.

2.6 Bitcoin çıpası biçimi

Çıpa, Bitcoin'de tek bir OP_RETURN çıktısına yazılan 77 baytlık bir yüktür (Bitcoin'in standart 80 bayt sınırının içinde):

"B101" | ağ (1 bayt: 0 ana, 1 deneme) | yükseklik (8, küçük uç) | özet (32) | ödül (32)
özet = ORION-512("bitcoin-capasi", 1.01 blok hash'i) ilk 32 bayt
ödül = ORION-512("capa-odul-adresi", 1.01 ödül adresi) ilk 32 bayt

Çıpa işlemi, cüzdanın ana sırrından türetilen tek anahtarlı bir P2WSH adresinden harcanır ve yaklaşık 211 vB tutar (2 sat/vB ile ~420 sat). Çıpa ödülü işleminin (tür 2) kanıtı şu biçimdedir:

kanıt uzunluğu (4) | Bitcoin işlemi + Merkle dalı + Bitcoin blok kimliği | başlık sayısı (1) = 6 | 6 × 80 bayt başlık

3. İş kanıtı ve zorluk: neden kazmayı zorlaştırdık

3.1 Kurallar

Hedef 1024 bitlik bir sayıdır ve Bitcoin'in sıkıştırılmış biçimiyle yazılır: T = c × 256^(e−3), bits = e<<24 | c. Bir blok, hash'i (büyük uçlu bir sayı olarak) T'den küçükse geçerlidir. Beklenen deneme sayısı 2^1024 / T'dir. Genesis dahil bütün bloklar aynı kurallarla doğrulanır (src/zorluk.*):

ParametreDeğerAnlamı
POW_LIMIT0x7C0FFFFFTaban: her blok en az ~2^36 deneme (~68,7 milyar), Bitcoin zorluk-1'in 16 katı
GENESIS_HEDEF0x7C0FFFFF (= POW_LIMIT)Genesis: tabanla aynı, ~2^36 deneme (~68,7 milyar), Bitcoin genesis'inin 16 katı
BLOK1_HEDEFPOW_LIMITAğ tabandan başlar; hesap gücü geldikçe zorluk yükselir
HEDEF_BLOK_SURESI900 sn15 dakikalık bloklar
ASERT_YARI_OMUR12 saatBloklar toplamda 12 saat gecikirse zorluk yarıya iner, 12 saat erken gelirse iki katına çıkar
RAMPA_YARI_OMUR / RAMPA_BLOK1 saat / 2016 blokLansman rampası: blok h'nin yarı ömrü 1 sa + 11 sa × min(h, 2016) / 2016
MAX_GELECEK3.600 snZaman damgası cihaz saatinden en fazla 1 saat ileride olabilir (Bitcoin'de 2 saat)
MTP_PENCERE11 blokZaman damgası son 11 bloğun medyanından büyük olmalı
AG_ACILIS_ZAMANIlansmanda duyurulacak (kodda tek sabit)Blok #1 bundan önce olamaz
MIN_HEDEF_BIT921Hedef en az 2^920; iş miktarı 128 bite sığar

Kanonik kodlama zorunludur: aynı hedefin tek bir yazımı kabul edilir; işaret biti ya da tabandan kolay bir hedef reddedilir. Zincir seçimi blok sayısına göre değil toplam işe göre yapılır: bir bloğun işi 2^1024 / T'dir, tamsayı olarak hesaplanır ve her bilgisayarda aynıdır.

3.1b Lansman rampası (göreli ASERT'in ilk 2016 bloğu)

12 saatlik yarı ömür, yerleşik bir ağda zaman damgası hilelerini etkisiz kılar ama ağın ilk saatlerinde çok yavaş tepki verir. Açılışta tabanda bekleyen ağa 20 GH/s'lik bir GPU çiftliği gelirse, her blok zorluğu yalnızca 2^(899/43200) ≈ %1,45 artırır; çiftlik zorluk yetişene kadar yüzlerce bloğu dakikalar içinde kazar. Bu yüzden ilk 2016 blokta (~3 hafta) yarı ömür 1 saatten başlar ve her blokta doğrusal olarak 12 saate çıkar (tamsayı aritmetiği; bütün düğümlerde aynı). Benzetimde aynı çiftlik ilk 6 saatte rampayla 59, rampasız 328 blok kazdı (hedef 24). Bedeli: rampa başında 1 saatlik bir zaman damgası hilesi zorluğu geçici olarak yarıya indirebilir; göreli ASERT'te bir sonraki dürüst blok bunu geri alır.

3.2 Göreli ASERT

Her bloğun hedefi bir önceki bloğun hedefinden ve aralığından hesaplanır:

T_yeni = T_önceki × 2^((aralık − 900) / 43.200)
  • Çarpanlar zincir boyunca birbirini götürür: N blok sonra sonuç yalnızca toplam süreye bağlıdır. Taban sınırına takılmadıkça mutlak ASERT ile aynıdır (2.000 rastgele aralıkla ölçüldü: fark %0,01).
  • Fark taban sınırında ortaya çıkar. Mutlak ASERT, ağ tabanda beklerken bir "program borcu" biriktirir; güçlü bir madenci geldiğinde zorluk o borcu kapatana kadar düşük kalır ve ucuz blok yağmuru olur. Göreli ASERT'te borç birikmez.
  • Hesap tamamen tamsayıdır: 2^x için 2^(2^−i) değerlerinin Q62 tablosu kullanılır, sonuç en yakına yuvarlanır. Bütün cihazlarda bit bit aynı sonucu verir; 65.536 kesir değerinin hepsinde taşma yoktur.
  • Zaman damgası hilesinin etkisi sınırlıdır: zaman damgasını izin verilen en ileri noktaya (1 saat) itmek zorluğu en fazla ×0,944 kadar düşürür.
  • Blok #1 ve #2 sabit hedefle (taban) kazılır: blok #1'in aralığı genesis'ten açılışa kadar geçen süredir ve anlamsızdır.

3.3 Neden zorlaştırdık

Lansman öncesi deneme ağında taban 2^16 denemeydi. Sıradan bir dizüstü saniyeler içinde yüzlerce blok kazabiliyordu ve zincir takvimin çok gerisine düşmüştü. Yükseltilmiş taban ve genesis şu sorunları çözer:

  1. Ucuz sahte zincirler ve başlık spam'i. Bir düğüm, kendisine gönderilen her başlığın iş kanıtını doğrular. Taban düşükken sahte bir başlık zinciri kurmak bedavadır. Tabanla her başlık en az 2^36 deneme ister; sahte bir dal, gerçek işi kadar pahalıdır.
  2. İş tabanlı kuralların anlamı. Derin çatal cezası, kesinlik ve Bitcoin çıpası gibi önlemler (bölüm 5) bir bloğun belli bir işi temsil ettiği varsayımına dayanır. Saniyede yüz blok kazılabilen bir ağda "100 blok derinlik" hiçbir şey ifade etmez. Ağa bağlanmadan kazmaya başlayan bir düğüm de saniyeler içinde kesinlik derinliğini aşan bir zincir kurup ana zincirden kopardı.
  3. Adil başlangıç. Taban, ilk saatlerde blokları ucuza toplamayı zorlaştırır. Açılış kuralları (bölüm 6) ile birlikte kimse ağ açılmadan önce avantaj elde edemez.
  4. Kural tutarlılığı. Genesis, sonraki bloklarla aynı kurallarla doğrulanır; tabandan kolay bir genesis, ağın kendi kuralını çiğneyen tek blok olurdu. Genesis tabanla aynı zorluktadır; zorluğu güvenliğe katkı yapmaz; asıl anlamı, herkesin yeniden üretebildiği ama kimsenin seçemediği bir başlangıçtır: nonce, 27'den büyük ya da eşit en küçük geçerli değerdir.
  5. 15 dakikalık bloklar. SLH-DSA imzaları büyüktür (işlem başına ~30 KB). Ev bağlantıları ve sunucusuz yayılım için daha seyrek bloklar yetim blok oranını düşürür. Aynı hesap gücünde her onay, 2 dakikalık bloklara göre 7,5 kat fazla iş taşır. Bedeli yavaş onaydır; çıpa kesinliği (bölüm 5.2) bu bedeli büyük ödemeler için azaltır.

3.4 Benzetim ve dürüst bedel

araclar/zorluk_test.cpp (ve bitcoin101 test bölüm 7) hesap gücünün değiştiği bir senaryoyu kuralların kendisiyle benzetir. Blok aralıkları üstel dağılımla çekilir:

Evreİlk 100 blok ortalamasıYerleşik ortalamaZorluk (Bitcoin genesis'inin katı)
8 çekirdekli işlemci, 8 MH/s7.924 sn8.709 sn16 (taban)
Tek GPU, 500 MH/s232 sn900 sn114
GPU çiftliği, 20 GH/s52 sn907 sn4.211
Çiftlik ayrıldı, 500 MH/s3.090 sn892 sn97
Uzun dönem, 500 MH/s1.056 sn900 sn106
  • Taban bir bedeldir. Yalnızca işlemcilerden oluşan küçük bir ağda bloklar 15 dakikadan yavaş gelir: saniyede 8 milyon deneme yapan bir işlemci tabanda ortalama ~2,4 saatte bir blok bulur. Ağın 15 dakikaya oturması için toplam hesap gücünün en az ~76 MH/s olması gerekir (2^36 / 900 sn).
  • Genesis bir kez kazılır. Saniyede 8 milyon denemeyle ortalama ~45 saat sürer. Şans payı büyüktür: yarı yarıya olasılıkla 31 saatten kısa, %5 olasılıkla 134 saatten uzun sürer. Kazım kaldığı yerden devam eder; sonuç kesintiden ve çekirdek sayısından bağımsızdır.
  • GPU ve özel donanım. ORION bellek gerektiren bir hash değildir; GPU'lar ve ileride özel devreler işlemcilerden hızlı olacaktır. Bu bilerek kabul edildi: herkes istediği donanımla kazabilir ve ASERT her hesap gücü düzeyinde 15 dakikaya oturur. Program bugün yalnızca işlemci madencisi içerir.

4. Para politikası

KuralDeğer
Blok ödülü75 coin
Yarılanmaher 140.000 blokta (~4 yıl), √2 dönem sabitinin değiştiği anla aynı
En fazla arz20.999.924,979 coin (genesis'in ödülü yoktur)
Çıpa payı4'ün katı olan her bloğun ödülünün yarısı, o bloğu Bitcoin'e çıpalayana
Çıpa paylarının toplamıen fazla 2.624.962,49475 coin (arzın 1/8'i)
Olgunlaşmamadencilik ve çıpa ödülü 100 blok harcanamaz

Çıpa payı arzı artırmaz, madencinin ödülünden ayrılır. 4'ün katı olan bir bloğun madencisi 37,5 coin, o bloğu çıpalayan 37,5 coin alır; diğer bloklarda madenci 75 coinin tamamını alır. Bir hafta (672 blok) içinde talep edilmeyen pay hiç basılmaz; arz 21 milyonun altında kalır. Ödül işlemi en fazla madenci ödülü + ücretler yazabilir.


5. Kazma dışındaki güvenlik

İş kanıtı kullanan hiçbir zincir, hesap gücünün çoğunluğunu ele geçiren birine karşı tamamen korunamaz; Bitcoin de korunamaz. Bitcoin 1.01'in önlemleri saldırıyı pahalılaştırır, zararını sınırlar, kullanıcıyı zamanında uyarır ve güvenliğin bir kısmını Bitcoin'in iş kanıtına bağlar.

5.1 Güvenlik katsayıları

Uzlaşı kuralları (her düğüm aynı şekilde uygular; çiğneyen blok geçersizdir):

KatsayıDeğerNeye karşı
Zorluk tabanı~2^36 denemeUcuz sahte zincir ve başlık spam'i
Zaman damgası> son 11 bloğun medyanı, ≤ şimdi + 1 saatZamanla oynayarak zorluğu düşürme
Ödül olgunlaşması100 blok (~25 saat)Saldırganın kazandığını hemen kaçırması
Çıpa ödülü kanıtıBitcoin'de 6 başlık, her biri hedef ≤ 2^182Sahte çıpa ödülü talebi
Çıpa ödülü süresiçıpalanan bloktan sonra en fazla 672 blok; Bitcoin bloğu en fazla 12 saat geçGeç ve fırsatçı talepler
Açılış çıpasıblok #1'in notu bir Bitcoin bloğunun kimliğiÖn kazım (bölüm 6)
Blok gövdesien fazla 4 MB, işlem notu en fazla 80 baytŞişirilmiş bloklar

Düğüm politikaları (her düğümün kendi kararı; gizlice kazılıp birden yayınlanan zincirlere karşı):

KatsayıDeğerAnlamı
Kısa çatal≤ 6 blokNormal kural: toplam işi kesin fazla olan zincir kazanır
Derin çatal cezası6 < d ≤ 100Yeni dal, geri alınacak kısmın en az d/6 katı iş içermeli
Kesinlik100 blok (~25 saat)Daha derin bir çatallanma otomatik kabul edilmez
Bitcoin çıpası vetosu6 Bitcoin onayıÇıpalı bloklarımızı geri alacak, bizden önce çıpalanmamış dal reddedilir
Çatışan çıpa—Zincirimizde olmayan bir bloğun çıpası uyarı verir ve çıpa kesinliğini durdurur
Madenci dağılımıson 100 bloğun yarısından fazlasıTek bir adres çoğunluktaysa uyarı
Saat farkı20 dakikaEşin saati farklıysa uyarı
Eş olmadan madencilikana ağda beklerAğa bağlanmamış bir düğüm kendi zincirine kilitlenmesin (--tek-basina hariç)

Derin çatal cezasının anlamı: saldırganın hesap gücü payı q ise, d blokluk bir geri alma için q/(1−q) ≥ d/6 gerekir. 12 blok için %67, 30 blok için %83, 60 blok için %91; 100 bloktan derini otomatik olarak imkânsızdır.

Kriptografi:

ÖğeSeçimGüvenlik
İmzaSLH-DSA-SHAKE-256sNIST kategori 5; yalnızca hash'e dayanır, Shor algoritmasının hedefi yoktur
Blok hash'iORION-1024512 bit genel güvenlik
Adres768 bitAdresten açık anahtara gitmek 768 bitlik ön görüntü ister
İşlem kimliğiORION-512256 bit çarpışma direnci
Cüzdan dosyasıArgon2id (64 MiB, 3 geçiş, 4 şerit) + ChaCha20-Poly1305Şifre en az 15 karakter (NIST SP 800-63B-4); 3 yanlış denemeden sonra iki katına çıkan bekleme
Rastgelelikişletim sistemi (BCryptGenRandom / getrandom)Başarısız olursa program durur; zayıf rastgeleye düşmez

Ağ: en fazla 8 giden ve 64 gelen bağlantı, aynı IP'den en fazla 4; mesaj en fazla 6 MB; 180 saniye sessiz kalan eş kapatılır; geçersiz blok, başlık ya da işlem gönderen eş bir saat yasaklanır; bir eşten dakikada en fazla 120 işlem doğrulanır; eşlerden öğrenilen adreslerle kurulan giden bağlantılar her /16 ağ grubundan en fazla bir eş seçer (eclipse saldırısına karşı). Durumdan bağımsız hatalar (bozuk imza, başkasının çıktısı, bozuk Bitcoin kanıtı) ihlaldir. Durumdan doğan hatalar (çıktı yok, henüz olgunlaşmamış, başka bir dal) ihlal sayılmaz.

5.2 Bitcoin çıpası

Bir düğüm, zincirindeki bir bloğun özetini Bitcoin'e yazar. Bitcoin bloğu onaylanınca bu, "1.01 zincirinde #h bloğu en geç Bitcoin #X anında vardı" demenin Bitcoin'in iş kanıtıyla korunan kanıtıdır. Kanıt (ham işlem + Merkle dalı + Bitcoin bloğu) eşlere yayılır. Her düğüm onu kendi Bitcoin başlık zinciriyle doğrular; bu zincir programa gömülü gerçek bir Bitcoin bloğundan (denetim noktası) başlar ve Bitcoin'in bütün başlık kurallarını uygular. Kimseye güvenmek gerekmez.

  • Veto: bir çatallanma, zincirimizde Bitcoin'de 6 onaylı çıpası olan bir bloğu geri alacaksa ve yeni dal bizden önce çıpalanmamışsa dal reddedilir; iş miktarı ne olursa olsun. Veto hiçbir zaman daha az iş içeren bir zincire geçirmez, yalnızca reddeder.
  • Çıpa kesinliği: çıpalı bir bloğun altındaki işlemler uygulamada "Kesin · çıpa" görünür. Önerilen sıklıkla (her 4 blokta bir, uçtan en az 6 blok geride, Bitcoin'de 6 onay) bir işlem yaklaşık 2,5–3,5 saatte bu duruma gelir. Saf iş kuralıyla buna 100 blok (~25 saat) gerekirdi.
  • Dürüst sınır: kendi gizli dalını da erken çıpalayan bir saldırganı veto durdurmaz; iş kuralları geçerli kalır. Ama çıpası Bitcoin'de herkesin görebileceği bir iz bırakır: gözcüler (araclar/capa_gozcu.py) onu bulur, ağ "çatışan çıpa" uyarısı verir ve kesinlik durur.

Değerlendirilen diğer yöntemler: birleşik kazım (uygulanamaz: iş kanıtı farklı), pay sahibi doğrulayıcılarla kesinlik (pay kilitleme, ceza ve ~30 KB'lık oy işlemleri gerekir; lansmanda pay birkaç kişide toplanır, bu yüzden sonraya bırakıldı), sürüm denetim noktaları (lansmandan sonra eklenir).

5.3 Çıpa ödülü

Çıpa ucuzdur (~420 sat), ama bir kişinin onu sürekli atması gerekir. Ödül bu işi bir kişinin iyi niyetinden alıp ağın kuralına bağlar:

  1. 4'ün katı olan #h bloğunun ödülünün yarısı madenciye değil, #h'yi Bitcoin'e çıpalayana ayrılır. Çıpa yükü, ödülün gideceği 1.01 adresinin özetini taşır. Çıpayı atan program, cüzdanın ilk adresini yazar.
  2. Çıpa Bitcoin'de 6 onay alınca çıpalayanın programı bir çıpa ödülü işlemi (tür 2) kurup yayınlar. İçinde çıpa işlemi, Merkle dalı ve Bitcoin'den 6 başlık (çıpa bloğu ve ardından gelen 5 blok) vardır.
  3. Her düğüm bu işlemi zincirden bağımsız olarak doğrular. Başlıklar ardışık olmalı, her birinin iş kanıtı geçerli olmalı ve her biri ağın Bitcoin zorluk tabanını sağlamalıdır (hedef ≤ 2^182, yani Bitcoin zorluğu ≥ ~4,4 trilyon; 2026'daki zorluğun ~1/32'si). Merkle dalı ilk başlığa ulaşmalı, yük #h bloğunun özetini ve çıktı adresinin özetini taşımalı, miktar tam payın kendisi olmalıdır.
  4. Madenciler ayrıca talebin Bitcoin bloğunun kendi Bitcoin başlık zincirlerinde 6 onaylı olduğunu denetler (politika).
  5. Her blok için zincirde en fazla bir ödül ödenir; ilk giren alır. Talep #h'den sonra en geç 672 blok (~1 hafta) içinde zincire girmeli; Bitcoin bloğu #h'nin zamanından en fazla 12 saat sonra olmalıdır.

Sahte talebin bedeli: Bitcoin başlık zincirinde olmayan bir çıpa için 6 başlığı tabandaki zorlukta kazmak gerekir. Bu, bugünkü bir Bitcoin bloğunun işinin ~%19'u, yani ~0,6 BTC'lik madencilik gelirine denk bir iştir. Gerçek bir çıpa ise ~420 sat tutar. Sahte talep her zaman dürüst çıpadan pahalıdır. 1.01'in değeri yükselirse taban, eski blokları geçersiz kılmadan yükseltilebilir (yumuşak çatal).

Neden yarısı: madenci her blokta iş kanıtı üretir, çıpalayan ise saatte bir Bitcoin'e kanıt yazar. Ödülün yarısı, çıpa işlemini yüksek Bitcoin ücretlerinde bile kârlı tutar. Toplam maliyet arzın 1/8'iyle sınırlıdır. Kimse çıpalamazsa madenciye bir şey geçmez ve o pay hiç basılmaz. Böylece madencilerin çıpasız zinciri tercih etmesi için bir neden doğmaz.

5.4 Köprü

Bitcoin ile takas HTLC atomik takasıyla yapılır: kasa, aracı ve sunucu yoktur. İki tarafın da karşılığını alması ya da ikisinin de kendi parasını geri alması garanti edilir. Ağ küçükken bir takasın güvenliği 1.01'deki hesap gücü kadar olduğu için, gerçek BTC ile bir takasta en fazla 0,01 BTC'ye izin verilir.


6. Ağın açılışı ve genesis

Genesis tamamen sabitlerden üretilir ve herkes aynı sonucu bulur:

AlanDeğer
Önceki hash√2'nin ilk 1024 biti
Kayıt"orion-stars-up-my-sleeve" + √2'nin ilk 2048 biti (harcanabilir çıktı yok)
Zaman2026-10-23 20:12:00 İstanbul (1792775520)
Hedef0x7C0FFFFF (taban)
3x+1111
Nonce27'den büyük ya da eşit, hedefi sağlayan en küçük değer

Genesis'in zorluğu güvenliğe katkı yapmaz: nonce deterministiktir, kim hangi donanımla kazarsa kazsın aynı sonucu bulur ve herkes onu tek bir hash ile doğrular. Önceki değer (0x7C00DA73, ~1,29 trilyon deneme) bir ev bilgisayarında haftalar sürebiliyordu; genesis bu yüzden ağın tabanına, sonraki her bloğun asgari işine indirildi.

Nonce'u kimse seçemez: arama 27'den başlar ve ilk geçerli değerde biter. Kazım çok çekirdeklidir ama parçalar sırayla dağıtılır ve daha küçük bir parça bitmeden durulmaz. Sonuç çekirdek sayısından ve kesintilerden bağımsızdır; isteyen herkes yeniden kazıp aynı nonce'u bulabilir. Bulunan değer, C++ kodundan bağımsız saf Python bir Keccak uygulamasıyla yeniden doğrulanır (araclar/genesis_dogrula.py). Hash'in ilk yarısı ayrıca herhangi bir SHA3-512 aracıyla karşılaştırılabilir. Nonce ve hash'i program gösterir: bitcoin101 genesis.

Açılış: ağın açılış zamanı önceden duyurulur ve blok #1'in zamanı bundan önce olamaz. Zaman damgası tek başına ön kazımı engellemez: biri açılıştan önce gizlice iş biriktirip zaman damgalarını açılıştan sonraya koyabilir ve zinciri açılışta yayınlayabilir. Bunu kapatan kural açılış çıpasıdır: blok #1'in ödül işleminin notu btc:<Bitcoin blok kimliği> olmalıdır ve düğümler o Bitcoin bloğunun gerçekten var olduğunu, zamanının açılıştan sonra olduğunu kendi Bitcoin başlık zinciriyle denetler. O blok açılıştan önce bilinemez; açılıştan önce yapılan iş boşa gider. Madenci programı notu kendisi yazar: açılıştan sonra kazılan ilk Bitcoin bloğunu bekler.

Ön kazım yok, geliştirici payı yok. Genesis'in harcanabilir çıktısı yoktur; ilk coinler blok #1'den itibaren, herkesle aynı kurallarla kazılır.

7. Şifreli ağ (Faz 6)

Her TCP bağlantısı, ilk O101 mesajından önce üç mesajlık bir el sıkışmayla şifrelenir (src/sifreli_kanal.*). Oturum anahtarı dört ortak sırdan türetilir; biri kırılsa bile diğerleri korur:

SırKaynakSağladığı
ss_eeX25519(geçici, geçici)ileri gizlilik (bugünkü saldırgana karşı)
ss_keML-KEM-1024(geçici anahtar)ileri gizlilik (kuantum saldırgana karşı)
ss_esX25519(geçici, dinleyenin statik anahtarı)dinleyenin kimliği (bugün)
ss_ksML-KEM-1024(dinleyenin statik anahtarı)dinleyenin kimliği (kuantum)

Kapsülleme mekanizması imza gerektirmeden kimlik doğrular: statik çözme anahtarı olmayan biri ss_ks'yi bulamaz ve ilk şifreli kayıt çözülmez. Kayıtlar ChaCha20-Poly1305 ile şifrelenir (uzunluk ek veri olarak doğrulanır, her yön için ayrı anahtar, 2^20 kayıtta bir anahtar yenilenir). Dinleyen düğümün kimliği veri klasöründeki dugum_kimligi.dat dosyasıdır; parmak izi bitcoin101 davet ile görülür ve tohumlar.txt'de IP:port#iz=<64 hex> olarak sabitlenir. Sabitlenmiş bir tohum başka bir izle cevap verirse bağlanılmaz; sabitlenmemiş adreslerde ilk görülen iz hatırlanır ve değişirse uyarı verilir. Eş protokolü 4'e çıktı; şifresiz bağlantı kabul edilmez.

X25519 (RFC 7748) ve ML-KEM-1024 (FIPS 203) sıfırdan yazıldı. ML-KEM, NIST'in resmi ACVP vektörlerinin 80'inin tamamıyla (anahtar üretimi, kapsülleme, örtük ret dahil çözme, anahtar kontrolleri), X25519 RFC 7748 vektörleri ve bağımsız bir kütüphaneyle doğrulanır. Ölçüm: bir el sıkışma (iki kapsülleme, iki çözme, üç X25519) ~1 ms.

8. Mesajlaşma ve arşiv (Faz 7)

Üç tür nesne eşler arasında yayılır (src/mesaj.*). Hiçbiri zincire yazılmaz, ücret ödemez, uzlaşı kuralı değildir.

  • Kart (mesaj kimliği): cüzdanın ana sırrından türetilen ML-KEM-1024 anahtarı. Mesaj adresi bu anahtarın 32 baytlık izidir (omj + Base58). Kart isteğe bağlı olarak cüzdan adresiyle SLH-DSA imzalanır. Yedek değişmez.
  • Zarf (özel mesaj): alıcının anahtarına kapsüllenmiş sır → ORION-512 → ChaCha20-Poly1305. İçerik, gönderen ve imza şifrelidir. Dışarıdan görünen: kova (alıcı izinin ilk baytı; 256 kovadan biri), zaman, yaşam süresi (en fazla 7 gün) ve 256 bayta yuvarlanmış boyut. Gönderen isteğe bağlı SLH-DSA imzası koyar; alıcı gönderenin Bitcoin 1.01 adresini doğrular. Alıcı çevrimdışıyken mesaj eşlerde saklanır (sakla-ilet).
  • İlan (arşiv): yazarın cüzdan anahtarıyla SLH-DSA imzalı, herkese açık yazı (en fazla 16 KB). Normal düğümler 30 gün, arşiv düğümleri (--arsiv) süresiz saklar. İsteğe bağlı √2 sözlüğü kodlaması: her 18 bitlik parça √2'nin ilk 2^21 bitinde ilk görüldüğü konumla yazılır (2 bit tür + 21 bit konum). Bu sıkıştırma değildir (~%28 uzar) ve şifreleme değildir; zincirin √2 imzasını taşıyan sembolik bir biçimdir. Sözlük dosyası programla gelir, ORION-512 özeti koda gömülüdür.

Spam koruması: her nesne ORION-512 iş kanıtı taşır (20 sıfır bit, 4 KB'ın üstünde her iki katında +1 bit); bir eşten dakikada en fazla 200 nesne kabul edilir; depo kotası (varsayılan 256 MB, arşivde 4 GB) aşılınca süresi en erken dolan silinir. Yayılım envanterle yapılır (NESNE_ENV / NESNE_ISTE / NESNE): aynı nesne bir bağlantıdan bir kez iner. Komutlar: mesaj adres | gonder | oku, ilan yaz | liste | oku.

9. Bitcoin 1.01 Protokolü ile bağ

Bitcoin 1.01 Protokolü (PROTOKOL.md, ayrı program protokol101) aynı kriptografiyi ve aynı cüzdanı kullanan ikinci bir katmandır: hisse kanıtı ve BFT kesinliği, 16 Dor Sütunu, 4 saniyelik slotlar, tek kullanımlık hash tabanlı anahtarlar ve anahtar ön-taahhüdü. İki zincir şöyle bağlanır:

  • Yakma köprüsü (tek yönlü, 1:1): bitcoin101 protokole-yak <p101 hesabı> <miktar>, coin'i kanıtlanabilir biçimde harcanamaz bir adrese (ORION-1024("adres", 38 baytlık sabit metin); SLH-DSA açık anahtarı 64 bayt olduğundan hiçbir gizli anahtar harcayamaz) gönderir ve notuna P101:<hesap> yazar. Protokol aynı miktarı basar. Protokolün arzı Bitcoin 1.01'den yakılan miktarı asla aşamaz; ön kazım yoktur.
  • Başlık zinciri: protokol doğrulayıcıları Bitcoin 1.01 başlıklarını protokol bloklarına koyar; protokol bunları Bitcoin 1.01'in kendi kurallarıyla (iş kanıtı, göreli ASERT ve rampa, MTP, 3x+1) doğrular. Yakma talebi ancak 100 onaydan sonra geçerlidir.
  • Kalp Atışı: protokolün epoch tohumu, doğrulayıcıların RANDAO açılımlarına Bitcoin 1.01'in iş kanıtlı uç hash'ini karıştırır.
  • Tek yedek: protokol anahtarları Bitcoin 1.01 cüzdanının ana sırrından türetilir; aynı kâğıt yedek ikisini de kurtarır.

Kullanıcı ikisini birlikte ya da herhangi birini tek başına kullanabilir. Bitcoin 1.01'in uzlaşı kuralları protokolden bağımsızdır: protokol durursa Bitcoin 1.01 etkilenmez.


10. Dürüst sınırlar

  • Hesap gücünün çoğunluğunu ele geçiren biri yeni işlemleri sansürleyebilir; bölüm 5'teki önlemler yalnızca geçmişin yeniden yazılmasını zorlaştırır.
  • Önlemlerin çoğu düğüm politikasıdır. 100 bloktan uzun süre ağdan kopuk kalan bir düğüm ana zincire kendiliğinden dönmez; elle karar gerekir. Sıfırdan eşitlenen bir düğüm ilk gördüğü geçerli zinciri alır.
  • Çıpa ödülünde ilk giren alır. Bir madenci, başkalarının taleplerini dışarıda bırakıp kendi (gerçek) çıpasının talebini koyabilir. Bu güvenliği bozmaz (her iki durumda da blok çıpalanmıştır), ama ödülün kime gittiğini etkiler.
  • Lansmanda ağ küçüktür; işlemcilerden oluşan bir ağda bloklar 15 dakikadan yavaş gelir.
  • Faz 6–7'nin kriptografisi (X25519, ML-KEM-1024, mesaj zarfı) resmi test vektörlerinden geçer ama bağımsız bir denetimden geçmedi. Mesajların meta verisi (kova, zaman, boyut, hangi düğümden yayıldığı) gizli değildir; sabitlenmemiş eşlerde ilk bağlantıda araya girme mümkündür (ilk kullanımda güven). Mesajlaşma şimdilik komut satırındadır; uygulama penceresine eklenmesi sonraki adımdır.
  • Android için gerçek bir uygulama paketi yoktur. Program kod imzası (Authenticode) taşımaz; dağıtım SHA-256 özetleri ve SLH-DSA dosya imzasıyla doğrulanır.
  • Köprünün Bitcoin tarafı ECDSA'dır ve kuantuma dayanıklı değildir. Anahtarlar her takas için yenidir ve birkaç saat kullanılır.
  • Bilim katmanı (BILIM_KATMANI.md) bir taslaktır, uzlaşı kurallarında yoktur.

Ek: parametre özeti

ParametreAna ağDeneme ağı (--lab)
Genesis hedefi0x7C0FFFFF (taban)0x807FFFFF (nonce 27)
Taban (POW_LIMIT)0x7C0FFFFF0x807FFFFF
Blok süresi / ASERT yarı ömrü900 sn / 12 saat120 sn / 2 saat
Lansman rampası1 → 12 saat, 2016 blok10 dk → 2 saat, 2016 blok
Açılış zamanılansmanda duyurulacakyok
Blok ödülü / yarılanma75 coin / 140.000 blok10 coin / 140.000 blok
Çıpa aralığı4 blok10 blok
Bitcoin ağı / çıpa tabanıBitcoin ana ağı / 2^182testnet4 ya da regtest / 0x207FFFFF
Bitcoin denetim noktası#971.712testnet4 #157.248, regtest genesis
Eş protokolü4 (şifreli kanal zorunlu)4
Mesaj deposu kotası256 MB (arşiv düğümü 4 GB)aynı

Doğrulama: bitcoin101 test (278 kontrol; Faz 6–7 dahil), bitcoin101 nist-test, bitcoin101 fuzz, araclar/zorluk_test.cpp, araclar/genesis_dogrula.py; uçtan uca, gerçek Bitcoin Core 31.1 regtest'e karşı araclar/capa_testi.py (44/44) ve araclar/kopru_testi.py (41/41), uygulama için araclar/uygulama_testi.py (44/44).

Bu sayfa projedeki WHITEPAPER.md dosyasından üretildi.