Bitcoin 1.01 Core — Faz 5c
En kısa yol
- Windows:
derle.batile derle, sonra Gezgin'debin\bitcoin101.exedosyasına çift tıkla. Çekirdek başlar ve cüzdan penceresi açılır. Siyah pencere programın motorudur: küçült ama kapatma. - Android:
ANDROID.md. - Başkasıyla paylaşmak:
paketle.bat(aşağıda "Programı paylaşmak"). Proje klasörünü olduğu gibi gönderme.
Veri nerede?
Zincir, cüzdan, eşler ve takas kayıtları program klasöründe değil, kullanıcı profilindedir:
| Sistem | Klasör |
|---|---|
| Windows | %LOCALAPPDATA%\Bitcoin101\ana (deneme ağı: ...\lab) |
| Android (Termux) / Linux | ~/.bitcoin101/ana |
- Faz 5b ve öncesi veriyi program klasöründeki
veri\altında tutuyordu. Yeni sürüm ilk açılışta onu buraya taşır (ekrana yazar). Eski sürüm açıkken taşıma yapılamaz; program bunu söyler ve durur. - Böylece program klasörü paylaşılsa bile cüzdan gitmez. Aynı bilgisayardaki diğer Windows kullanıcıları da profil klasörünü okuyamaz.
- Başka bir klasör kullanmak için:
--veri <klasör>(ya daBITCOIN101_KLASORortam değişkeni). - Uygulamada Ayarlar → Hakkında veri klasörünü ve programın SHA-256 özetini gösterir. Komut satırında:
bitcoin101 surum.
Programı paylaşmak
tohumlar.txtdosyasına kendi genel IP'ni yaz (TOHUM_KURULUMU.md). Yoksa karşı taraf sana bağlanamaz..\derle.bat, sonra.\paketle.bat imzali(imzasız için sadece.\paketle.bat).- Pakete sadece izin listesindeki dosyalar girer: program, kaynak kodu, belgeler, test vektörleri. Cüzdan, zincir, jeton ya da eş adresi içeren bir dosya bulunursa paketleme durur.
SHA256SUMS.txtpaketteki her dosyanın özetini içerir.imzaliile bu liste cüzdanının #0 adresiyle SLH-DSA imzalanır (SHA256SUMS.txt.imza).
dagitim\Bitcoin101-<sürüm>.zipdosyasını gönder. Betiğin yazdığı zip ve exe SHA-256 özetlerini ve imzalayan adresi zip'ten ayrı bir kanaldan duyur (web sayfası, sosyal medya, mesaj).- Karşı taraf PowerShell'de
Get-FileHash bitcoin101.exeile özeti karşılaştırır, programı açar ve kendi cüzdanını oluşturur. Senin cüzdanını ve sırrını göremez: onlar senin profil klasöründe.- İmzayı daha önce güvendiği bir Bitcoin 1.01 ile doğrulayabilir:
bitcoin101 imza-dogrula SHA256SUMS.txt --adres <duyurduğun adres>. (Aynı paketteki exe ile doğrulamak tek başına yeterli değildir: sahte bir paketin exe'si de "tamam" der. Asıl güvence, ayrı kanaldan duyurduğun özettir.)
- İmzayı daha önce güvendiği bir Bitcoin 1.01 ile doğrulayabilir:
Klasör izinleri (aynı bilgisayarı başkalarıyla paylaşıyorsan)
C:\ altında oluşturulan klasörlerde Windows varsayılan olarak bütün kullanıcılara değiştirme izni verir.
Başka bir kullanıcı bitcoin101.exe'yi sahtesiyle değiştirirse şifreni ele geçirebilir. Program bu durumu
algılar ve Güvenlik sayfasında uyarır. Çözüm (birini seç):
- Programı kendi kullanıcı klasörüne taşı (ör.
%LOCALAPPDATA%\Programs\Bitcoin101), ya da - Yönetici olmayan bir PowerShell'de klasör izinlerini daralt:
icacls C:\Bitcoin101 /inheritance:r /grant:r "${env:USERNAME}:(OI)(CI)F" "*S-1-5-18:(OI)(CI)F" "*S-1-5-32-544:(OI)(CI)F"(
S-1-5-18= SYSTEM,S-1-5-32-544= Yöneticiler; Türkçe Windows'ta grup adları farklı olduğu için kimlik numaraları kullanılır.)
Klasör düzeni
Bitcoin101\
src\
orion.* ORION-1024 / ORION-512 hash (Keccak)
kok2.* √2 bit üretici, dönem sabitleri, 3x+1
blok.* blok başlığı, zorluk hedefi, Merkle ağacı
genesis.* genesis bloğu
zorluk.* ağ ayarları, ASERT, blok ödülü
slhdsa.* SLH-DSA-SHAKE-256s imza (NIST FIPS 205)
rastgele.* işletim sisteminden gerçek rastgele sayı
adres.* 768 bitlik adres, Base58 metin biçimi
islem.* işlem biçimi
zincir.* blok/işlem kuralları, UTXO defteri, adres dizini, bekleyen havuz
cuzdan.* cüzdan (şifreli dosya biçimi, kontrol toplamlı yedek)
sifreleme.* Argon2id, BLAKE2b, ChaCha20-Poly1305
sifre_kurali.* NIST SP 800-63B-4 şifre kuralları, NFC normalleştirme
sistem.* veri klasörü, dosya izinleri, program özeti
sha256.* SHA-256, HMAC-SHA256 (köprü)
secp256k1.* Bitcoin'in imza eğrisi, ECDSA RFC 6979 (sadece köprünün BTC tarafı)
btc.* Bitcoin adresleri, HTLC betiği, segwit işlemleri, BIP 143
takas.* köprü: Bitcoin ile HTLC atomik takas (teklif/kabul kodları, durum makinesi)
http.* yerel HTTP/JSON çözümleyici, güvenlik başlıkları
uygulama_sayfa.hpp uygulama arayüzü (Windows 11 tarzı), PWA bildirimi
uygulama_simge.hpp uygulama simgeleri (gömülü PNG)
bitcoin101.rc / .ico / .manifest Windows simgesi, sürüm bilgisi, UTF-8 kod sayfası
surum.hpp program sürümü
madenci.* çok çekirdekli madenci
soket.* Windows / Linux soket katmanı (IPv4 + IPv6), adres süzme
dugum.* düğüm: eşler, senkron, çatallanma, yayın, keşif, cüzdan işçisi
web.* izleme ekranı ve JSON API (web_sayfa.hpp: sayfanın kendisi)
kilit.* zincire tek yazıcı kilidi
testler.* öz testler ve fuzz
main.cpp komutlar
testvektor\ NIST'in resmî SLH-DSA test vektörleri
araclar\ yardımcı Python betikleri (uygulama_testi.py: arayüzün uçtan uca testi,
kopru_testi.py: köprünün Bitcoin Core regtest'e karşı uçtan uca testi) ve
bilim katmanı laboratuvarları (tarayıcıda çift tıklayarak açılır, sunucu gerekmez):
kuvvet_laboratuvari.html (güçlü / elektromanyetik / zayıf kuvvet ve çekirdekler),
bilesik_laboratuvari.html (elementlerin bileşik oluşturma eşikleri ve bileşik özellikleri);
site_uret.py: bit101.org sitesini üretir (dagitim\site\ ve yüklemeye hazır dagitim\site.zip)
web\ bit101.org'un kaynakları (site ağın parçası değildir): tr\, en\, ja\ (her dilde elle yazılan
sayfalar), belgeler\<dil>\ (belge çevirileri; yoksa Türkçe aslı notla gösterilir), stil.css,
.htaccess, simge.png, yazitipi\ (Spectral ve IBM Plex, SIL OFL). Siteye eklenen her metin üç dilde yazılır.
BILIM_KATMANI.md bilim katmanı tasarımı (taslak): kampanyalar ve madencilik formülü
android\ Termux derleme betiği (bitcoin101-arm64: ESKİ hazır program, Faz 5c korumaları yok)
tohumlar.txt tohum düğüm adresleri
TOHUM_KURULUMU.md bu bilgisayarı tohum yapma rehberi
ANDROID.md telefonda çalıştırma rehberi
derle.bat Windows derleme betiği (sertleştirme bayraklarıyla)
paketle.bat paylaşım paketi (cüzdansız zip + SHA-256 + isteğe bağlı imza)
TASARIM.md bütün tasarım kararları
Komutlar
.\bin\bitcoin101.exe uygulama (cekirdek + cuzdan penceresi)
.\bin\bitcoin101.exe uygulama --kaz uygulama, madencilik acik baslar
.\bin\bitcoin101.exe yardim butun komutlar
.\bin\bitcoin101.exe surum surum, programin SHA-256 ozeti, veri klasoru
.\bin\bitcoin101.exe test oz testler
.\bin\bitcoin101.exe nist-test NIST'in butun SLH-DSA vektorleri
.\bin\bitcoin101.exe fuzz cozumleyicilere bozuk veri (cokme / tutarlilik testi)
.\bin\bitcoin101.exe cuzdan olustur yeni cuzdan
.\bin\bitcoin101.exe cuzdan adresler ve bakiye
.\bin\bitcoin101.exe cuzdan yedek ana sirri goster (72 karakter, KAGIDA YAZ)
.\bin\bitcoin101.exe cuzdan geri-yukle ana sirdan geri yukle (sir sorulur; komut satirina yazma)
.\bin\bitcoin101.exe cuzdan sifrele eski sifresiz cuzdani sifrele
.\bin\bitcoin101.exe cuzdan sifre-degistir sifreyi degistir
.\bin\bitcoin101.exe gonder <adres> <miktar> coin gonder
.\bin\bitcoin101.exe dugum aga katil, izleme ekranini ac
.\bin\bitcoin101.exe dugum --kaz aga katil ve kaz (bir esle eslesince baslar)
.\bin\bitcoin101.exe dugum --web-genel --kaz --tek-basina tohum bilgisayar (agin ilk dugumu)
.\bin\bitcoin101.exe davet bu bilgisayarin adresi
.\bin\bitcoin101.exe kaz --tek-basina agsiz, tek basina kaz (sadece agin ilk dugumu)
.\bin\bitcoin101.exe zincir zincir ozeti
.\bin\bitcoin101.exe blok 5 5. blok ve islemleri
.\bin\bitcoin101.exe imzala <dosya> dosyayi cuzdanin #0 adresiyle SLH-DSA imzala
.\bin\bitcoin101.exe imza-dogrula <dosya> --adres <orn...> imzayi dogrula
Herhangi bir komutun sonuna --lab eklersen ayrı bir deneme ağında çalışır.
Ana ağda madencilik neden bekliyor? Ağa bağlanmadan kazmaya başlayan bir bilgisayar, zorluk düşükken birkaç
saniyede 100'den fazla bloklu kendi zincirini kazar. Kesinlik kuralı yüzünden bu zincir ana zincirle bir daha
kendiliğinden birleşmez. Bu yüzden madencilik en az bir eşe bağlanıp eşitlenene kadar bekler. Ağın ilk / tek
düğümüysen --tek-basina (uygulamada Madencilik → "Eş olmadan da kaz").
Uygulama: **http://127.0.0.1:10104** (sadece bu bilgisayardan; deneme ağında 20104). Pencere programla birlikte
açılır; elle açarsan siyah pencerede yazan #jeton=… ile biten adresi kullan.
İzleme ekranı: http://127.0.0.1:10103** (deneme ağında 20103) ya da uygulamada Zincir** sayfası.
Köprü (Bitcoin ile atomik takas)
Uygulamada Köprüler sayfası: 1.01 verip BTC almak için teklif oluştur ya da karşı tarafın teklif kodunu yapıştırıp
BTC verip 1.01 al. Kasa ve aracı yoktur (HTLC). Ana ağda bu kural #150. blokta etkinleşir; ağdaki herkesin bu sürüme
güncellemesi gerekir. Deneysel: gerçek BTC ile bir takasta en fazla 0,01 BTC; ağ küçükken sadece güvendiğin
kişilerle. Ayrıntılar ve sınırlar: TASARIM.md bölüm 16.
python araclar\kopru_testi.py bin\bitcoin101.exe <bitcoind.exe klasoru> gercek Bitcoin Core (regtest) ile uctan uca test
Tasarım kararlarının hepsi TASARIM.md içinde (%51 önlemleri: bölüm 13, şifreleme: 14, uygulama: 15, köprüler: 16,
Faz 5c güvenlik sertleştirmesi: 17).
