şükela:  tümü | bugün sorunsallar (5)
15224 entry daha
  • bitcoin hakkında uzun ve biraz teknik bir yazı olacak.sözlükte bitcoin başlığında, üçe indi, beşe çıktı gibi girdiler dışında bilgi veren girdilere rastlamak zor olduğu için, bu bitcoin nedir, nasıl çalışır anlatmaya çalıştım. biraz teknik yazacağım ama her kavramı ve temelini basitçe anlatmaya da gayret edeceğim.

    yazılım kökenli birisi olarak bitcoini uzun senelerdir takip ediyorum. whitepaper denen makale başta olmak üzere, birçok teknik makale okudum. bitcoin kaynak kodlarını açıp inceledim. kendim geliştirmeler yaptım. bu bilgileri çok basitleştirerek anlatacağım. anlamak için çok az bilgisayar teknolojileri hakkında bilginiz olması yeterli olacaktır diye düşünüyorum.

    bitcoin nedir nasıl çalışır anlayabilmek için öncesinde 2 ayrı teknolojiyi anlamamız gerekiyor. bunlar
    1- blockchain
    2- asymmetric cryptography veya public-key cryptography

    blockchaini anlatmak için de hash dediğimiz kavramı bilmemiz gerekiyor ilk. dolayısı ile hash kodu ne demek onunla başlayalım.
    bu arada parça parça bir sürü şey anlatacağım, sonra bunları birleştirip bitcoinin nasıl çalıştığını izah etmeye çalışacağım, merak etmeyin.

    hash

    hash dediğimiz, girdi olarak bir dizi (siz metin diye düşünün) verdiğimizde, sabit uzunluklu bir kod çıkaran matematik fonksiyonu diye düşünebilirsiniz.
    örneğin bu fonksiyona
    "keynor" metnini verirsek "394a8231" gibi 8 karakter verir bize.
    "merhaba ben keynora 100tl verdim" metnini verirsek "873c98e7" kodunu oluşturur.
    girdi olarak 1000 sayfalık ansiklopedi verirsek "9384f7a3" oluşturur.

    hash fonksiyonunun matematiksel olarak 3 temel özelliği içermesi beklenir.
    bir, bu fonksiyon tek yönlüdür. yani "merhaba ben keynora 100tl verdim" metnini verdiğimizde hesaplamalar sonucu "873c98e7" kodunu alırız ama "873c98e7" kodunu verdiğimizde "merhaba ben keynora 100tl verdim" metnine ulaşmamızı sağlayacak başka bir matematik fonksiyonu yazılamamalıdır. bir hash fonksiyonunun tersi olacak bir fonksiyon matematiksel olarak olmamalıdır.bir hash fonksiyonun tersi olan fonksiyon birgün yazılırsa, o hash fonksiyonu artık kullanılmaz.
    iki, metin içerisinde en ufak bir değişiklik, hash kodunu komple değiştirmelidir. hash kodunda , ana ilk metne hiçbir ipucu yakalayamamaız gerekir. yani "keynor" girdiğimizde bu fonksiyona "394a8231" alıyorsak, "keynor." (sonuna nokta koydum) girdiğimizde "83aa9e2a" gibi tamemen ilki ile alakasız bir sonuç almamız gerekir.
    üç, matematiksel olarak iki metnin hash kodu çok büyük olasılıkla farklıdır. iki farklı girdi metninin hash kodu aynı olamaz.

    bu hash kavramı, bilgi işlem dünyasında çok önemlidir ve çok kullanılır. birkaç örnekle açıklamaya çalışayım.
    örneğin 1000 sayfalık bir metni resmi olarak noterde onaylatmak istiyorsunuz elinizde olduğuna dair. noter 1000 sayfanın kopyasını alıp onaylayabilir veya hash kodu şu olan metni onayladım diyebilir. böylece 1000 sayfa metni kopyalamakla uğraşmazsınız.elektronik imzalar böyle çalışır. siz 1000 sayfalık metni imzaladığınızda elektronik olarak, arka tarafta saklanan şu hash kodlu metin imzalanmıştır bilgisidir. daha gerçekçi bir kullanım örneği verelim. örneğin bir web sitesi yaptınız ve kullanıcıların kullanıcı adı ve şifresini veritabanınızda tutuyorsunuz. kullanıcı adı :keynor şifre:keynor1234 diyelim. bir kişi siteye girip kullanıcı adı keynor yazdı ve şifresini de keynor1234 yazdı. veritabanındaki şifre ile kullanıcının yazdığı şifre aynı ise onu sisteme aldınız. bu senaryoda birçok problem var. ilk olarak şifreleri açık açık tuttuğunuzda veritabanınınız çalınırsa tüm kullanıcı adı ve şifrelriniz çalınır. hadi dışarıdan bir atak gelmese bile şirket içerisinde çalışan ve veri tabanına ulaşma izni olan herkes kullanıcı adı ve şifreleri görebilir ve bunu kötüye kullanabilir. bir çözüm şifrelerin hash kodlarını saklamaktır.şifremiz olan kkeynor1234 ün hash kodu "73aa2982" diyelim. veri tabanında kullanıcı adı:keynor şifre:keynor1234 şeklinde veriyi tutacağımıza, şifreyi ilk kaydederken hashleriz ve veri tabanında kullanıcı adı:keynor şifrenin hashi:73aa2982 şeklinde tutarız. bir kullanıcı girdi. kullanıcı adı keynor yazdı ve şifreyi girdi. girdiği şifrenin hash kodunu alırız, eğer bu hash kodu veri tabanımızda yazan "73aa2982" olarak hesaplanırsa bu kullanıcı doğru şifreyi girmiştir deriz ve sisteme girişine izin veririz. gördüğünüz gibi şifrenin kendisini tutmadan sisteme şifre ile girmeyi sağladık. kötü niyetli bir kişi bu veritabanını ele geçirse bile insanların şifrelerine ulaşamaz çünkü ne demiştik hash fonksiyonu özelliklerinde , hash fonksiyonu tek yönlü çalışır. hash kodundan , ilk metne ulaşamazsınız. ( konuyu bilen arkadaşlara not: çok basit anlattığımın, brute force vs tekniklerin farkındayım. basit tutmaya çalışıyorum)

    peki bu hash bizim ne işimize yarayacak. blockchain'in ne olduğunu ve nasıl çalıştığını anlamamızı sağlayacak.
    bitcoin oluşturulurken merkezi bir veri tabanının olmaması istendi.tek bir kişi,kurum,devlet müdahale edememeliydi. örneğin sizin garanti bankasında ne kadar paranız olduğu garanti bankasının veri tabanlarında tutulur. bitcoinde ise bu bilgiye kimse sahip değildir. daha doğrusu herkes sahiptir. merkezi bir banka veya otorite veya devlet sizin ne kadar bitcoininiz olduğu bilgisini değiştiremez. oysa ki banka hesabp bilgileriniz bilgisayardan banka tarafından değiştirilebilir. merkezi olmayan bir veri tabanı oluşturabilmek için blockchain teknolojisi ortaya çıktı.
    blockchaini anlatmadan bir ek bilgi daha vereyim. normal finansal sistemlerde sizin ne kadar paranız olduğu tutulur. keynorun hesabında 100tl var diye. 5 tl harcaram bu bilgiyi banka günceller keynorun hesabında 95tl kaldı diye. blockchainde ise transactionlar yani işlemler tutulur. a kullanıcısı diyelim ki 3 bitcoin harcamak istiyor. bu kadar bitcoin var mı bu kullanıcıda diye, bitcoinin yaratıldığı ilk tarihten bugune kadar geçmiş transactionlar hesaplanır.
    a kullanıcısına 10 bitcoin geldi
    a kullanıcısına 3 bitcoin geldi
    a kullanıcısı 4 bitcoin harcadı
    a kullanıcına 2 bitcoin geldi
    gibi. tüm bu transactionlar toplandığında 10+3-1+2 =14. a kullanıcısının hesabında 14 bitcoin olduğu ve 3 bitcoin harcayabileceğine izin verir sistem. dolayısı ile blockchain içinde a kullanıcısının 14 bitcoini var bilgisi tutulmaz.işlemler sırası ile tutulur.
    blockchain dediğimiz yapı da bu transaction bilgilerinin tutulduğu bir veri tabanıdır. merkezi değildir. yani bitcoin ağına bağlı herkes tarafından bu bilgi tutulur ve değiştirilemez.
    peki teknik olarak blockchain nedir nasıl çalışır?
    blockchain , turkcesi bloklar zinciri demek. blok dediğimiz yapılar içerisinde transactionların tutulduğu yapılar. yani a kullanıcısı b e 10 bitcion gönderdi. d kullanıcısı e kullanıcısına 20 bitcoin gönderdi gibi. her bir blok da bir önceki bağlı.blockchaini kitaba, blockları da sayfalara benzetebiliriz.

    1000 sayfalık bir kitap düşünün. her sayfasını farklı farklı insanlar saklıyor ama hiçkimsenin herhangi bir sayfayı değiştirememesini istiyorsunuz. ne yaparsınız?
    çözüm hash kodlarında. her sayfanın başına sayfa numarasını ve bir önceki sayfanın hash kodunu yazarsınız.
    14. sayfa şöyle birşekilde başlar.
    sayfa no:14
    önceki sayfanın hash kodu : 483ae842

    15. sayfa için
    sayfa no:15
    önceki sayfanın hash kodu: 8475ee9a

    gibi. dolayısı ile aradan birisi 18. sayfayı değiştirse bile 19. sayfada yazan 18. sayfanın hash kodu tutmayacağından 18. sayfada bir problem olduğu , değiştirildiği herkes tarafından anlaşılır.gidip 19. sayfayı da değiştirirseniz, bu sefer 20. sayfada yazan ,19. sayfanın hash kodu tutmayacaktır.böylece blocklar bir zincir oluşturur. kitapta 1000 sayfa var ve siz 923. sayfayı değiştirmek istiyorsunuz. bunu teknik olarak yapmanın tek yolu gidip 1000,999,998,997... 924. sayfaların hepsini değiştirmektir.blockların içine böylece tranactionlar kaydedilir.
    şimdilik minig/madencilik kavramını anlatmadım ama blockshainin nasıl çalıştığı konusunda bir fikriniz oldu sanırım. basitçe her bir sayfa veya blok içerisinde önce sayfa numarası, sonra önceki sayfanın hash kodu sonra da o sayfa hazırlandığı zaman aralığında kimin kime ne kadar para gönderdiğinin kaydı olan transactionlar tutulur.

    hash ne demek anladık gelelim asymmetric cryptographyye

    asymmetric cryptography veya public-key cryptography

    simdi a kişisi b kişisine bir mesaj göndermek istesin.bie email olarak düşünebilirsiniz veya bankaya gönderilen bir ödeme emri. iki tarafta arada kimsenin mesajı okuyamamasını istiyor dolayısı ile mesajı şifrelememiz gerekecek. bir de b kişisi istiyor ki mesasjı a nın gönderdiğine emin olayım.önümüzde 2 problem var
    bir, mesaj sifrelenmeli ve a ve b dışında kimse okuyamamalı.
    iki, mesajın a dan gönderildiği kesin olmalı.
    bunu yapabilmek için bilgisayar bilimciler asimetrik şifreleme denen genel bir kavramı kullanırlar. önce tek bir algoritma ve şifre kullandımız yetersiz örneğini verelim.
    a ve b anlaştı dediler ki bir şu şifreleme algoritmasını kullanacağız. şifre olarak da ikisi de bir kelime belirledi diyelim. mesaj eline ulaşan , şifre kelimesini yazıyor. algoritma da matematik fonksiyonlarını kullanarak sifreli mesajı açıp gösteriyor. burada en temel problem ilk şifre kelimesini karşı tarafa iletmekte. şifre şu olsun diye belirteceğiniz kelimeyi internetten nasıl göndereceksiniz? şifrenin kendisini, şifreli bir mesajla göndermezseniz arada herkes okuyabilir. şifreleseniz karşı taraf nasıl okuyacak. bir de bitcoin gibi yüzbinlerce birbirine güvenmeyen kişinin para alışverişinde olduğunu düşünün a kişisinden gelen hesabımdan 3 bitcoini b kişisine gönderin mesajının , a kişisinden geldiğinden nasıl emin olacağız.

    public-private key veya türkçeye çevirmek gerekirse açık-kapalı anahtarlı şifreleme algoritmaları burada devreye giriyor.sistemdeki herkesin matematik fonksiyonları ile oluşturulmuş bir değil 2 tane şifresi var. bu şifre dediklerim sayı esasında. a kişisinin public (açık) ve private(kapalı,özel) key (anahtar) olmak üzere iki şifresi var.
    şifreleme için kullanılan matematik fonksiyonlar şu şekilde çalışıyor: eğer siz bir metni şifrelemek için public anahtarı kullanırsanız, bu mesajı geri açmak için private anahtarı kullanmanız gerekiyor. public anahtar kendi şifrelediği mesajı açamıyor matematiksel olarak. tersi de geçerli, eğer bir mesajı private key ile şifrelediyseniz, public key ile açabiliyorsunuz. elimizde bunu sağlayan bir fonksiyon var.özetle, private key ile şifrenene bir mesaj public key kullanılarak açılabiliyor bu matematik fonksiyonunda.

    şimdi a ile b kişisi nasıl şifreli yazışacak? a kişisi diyor ki bütün dünyaya açık açık ilan ediyor, gönderiyor , sisteme giriyor ki benim public key'im şudur diye. public key dediğim çok büyük bir numara esasında. a kişisi diyor ki benim public keyim bu. benden bir mesaj gelirse, ben elimde olan ve kimsenin bilmediği private key ile bunu şifrelemişimdir. public key ile şifreyi açmayı deneyin. açarsanız mesaj benden gelmiştir. güzel, bir problemi çözdük , mesajı şifreledik ve mesajın a dan geldiğine emin oldu açan kişi. ama mesajı bir tek b ye gönderdi ise problem var çünkü a kişisinin public keyini herkes bildiğinden, b dahil herkes mesajın şifresini çözebilir. bunu çözmek için şöyle ilerliyoruz. a kişisinin yaptığı gibi tüm kullanıcılar, b de dahil public keylerini ilan ediyorlar. veya a, b ye , b de a ya public keylerini açık açık gönderiyor internetten. hiç şifrelemeye vs gerek kalmadan. şimdi a kişisi b ye mesaj göndermek istediğinde mesajı önce elinde tuttuğu ve kimsenin bilmediği a kişisinin private keyini kullanarak şifreliyor. sonra da bu şifrelenmiş mesajı bu sefer b kişinin kendisine gönderdiği b kişisinin public keyi ile şifreliyor ve internetten mesajı gönderiyor. b mesajı aldığında ilk olarak b nin public keyi ile şifrelenmiş bir mesaj ile karşılaşıyor. bunu açabilecek tek key de matematiksel olarak b nin private keyi idi. b zaten bu keye sahip tek kişi ve mesajı açıyor. içinden çıkan mesaj a nın private keyi ile şifreli bir mesaj bu sefer. b bu sefer a nın public keyini kullanarak bu mesajı da açıyor ve orjinal şifrelenmemiş mesaja ulaşıyor. gördüğünüz gibi b mesajın a dan geldiğine emin çünkü a nın public keyini kullanarak şifreyi açtı. a da mesajı bir tek b nin okudundan emin, çünkü mesajı b nin public keyini kullanarak şifrelemişti. onu açabilecek tek şey matematiksel olarak b nin private keyi.

    şimdi bu öğrendiklerimizi kullanarak, sanal , merkezi olmayan bir para oluşturalım. hemen sevinmeyin bitcoini oluşturabilmek için mining (madencilik) ne demek onu da anlatmam gerekecek.
    bir para varsa, para alıp göndereceğimiz bir hesaba ihtiyacımız olacak. bitcoinde hesap oluşturmak matematik bir fonksiyon kullanarak yukarıda anlattığım rastgele bir public key-private key ikilisi oluşturmak şeklinde oluyor. garanti bankasına gidip bir hesap açmıyoruz. bilgisayarımızda bu matematik fonksiyonu otomatik hesaplayan bir yazılım kullanarak bir public-private key ikilisi oluşturuyoruz. burada oluşan public key işte hesap numaramız oluyor. istediğimiz herkese bu public key i, benim bitcoin hesap numaram bu deyip gönderebiliriz. web sitesine koyabilirsiniz.
    örneğin, a kişisi matematik fonksiyonları kullanarak public key olarak 65423443 , private key olarak 83747363 i oluşturdu. ( bu sayılar normalde çok daha büyük)
    herkese benim bitcoin adresim 65423443 derken, private keyi kendine saklar.

    peki para nasıl gönderilir? a kişisi der ki ben 65423443 numaralı hesabın sahibi olarak hesabımdan 10 bitcoini şu hesap numarasına gönderiyorum. bu mesajı belli bir standart formatta yazar, sonra kendi private keyini kullanarak bu mesajı şifreler. şifreli bu mesajı da tüm bitcoin kullanıcılarına gönderirir. bitcoin protokolu gereği bitcoin kullanıcıları bu mesajı aldıklarında a kullanıcısın public keyine sahiptir. yani hesap numarasına.zaten gelen mesajda yazıyor. ben 65423443 numaralı hesabın sahibiyim diye. bu public keyi kullanarak şifreli mesajı çözerler ve içeriğindeki mesajda 65423443 numaralı hesaptan başka bir hesaba 10 bitcoin gönderildiğini görürler. bu mesajı gerçekten 65423443 hesabını kullanan kişi göndermiştir , aksi taktirde bu public keyi kullanıp bu mesajı çözemezlerdi. 65423443 numarasına bağlı private key i kim biliyorsa, bu ödeme emrini o şifrelemiştir matematiksel olarak. dolayısı ile bir transaction ortaya çıkar bir hesaptan bir hesaba 10 bitcoin transfer edilmiştir kaydı oluşur. bu kayıtta sonradan kim kime ne kadar göndermiş hesaplayabilmek için blockchain içinde sıradakı block içerisine yazılır ve blockchain veritabanına saklanır. blocka nasıl eklenir onu mining kısmında anlatacağım. bir hesabı nasıl yönettiğimizi sanırım private-public key mantığından anlamışsınızdır. bir transfer emri yaratıyoruz, private key ile şifreliyoruz bu emri. herkes de bu emrin bizden geldiğinden emin oluyor, public key ile şifreyi çözerek.

    şimdi tüm işlemler blockchain içerisinde tutulur dedik. block nedir nasıl oluşur? mining yani madencilik nedir ona bakalım.
    bitcoin, tüm kullanıcıların mutabık olduğu bir protokoldür esasında. nasıl çalışacağı, para nasıl gönderilir, para nasıl oluşturulur, mining/madencilik nasıl yapılır, satoshi nakamoto sahte isimli birisi tarafından 2008 yılında yazılan makaleye dayanır. yukarıda anlattığım şekilde bir bitcoin hesabı oluşturmak için mesela hangi matematik fonksiyonlarını nasıl kullanacağınız burada yazar.blockchain de bu makalede anlatılmıştır. blockchain içerisindeki kayıtlarda sizin bitcoininiz var gözüküyorsa, sizin bitcioniniz var demektir.

    şimdi blokları , her bir işlemin kaydedildiği sayfalar olarak düşünebiliriz. peki yeni bir sayfa yazma yetkisi kimde? ben bir sayfa yazar bitcoin blockchaine eklersem başkası da eklerse ne olur, nasıl olur? bu problemi çözmek için satoshi abi demişki , blockchaine her bir block eklendiğinde, yani kitaba sayfa eklendiğinde, bir matematik problemin çözülmesi gerekir. yukarıda "her sayfanın başına sayfa numarasını ve bir önceki sayfanın hash kodunu yazarsınız." demiştim ya. o eksik bir bilgiydi. esasında her sayfanın başında sayfa numarası, bir önceki sayfanın hash kodu veeee çözülmesi gereken matematik probleminin cevabı yazar.altta da son transactionların listesi yer alır. bitcoin protokolü gereği bir blok oluşturacak matematik problemini ilk siz çözerseniz o blockun ödülü olarak 50 bitcoin (artık azaldı) sahibi olursunuz.sıradaki blockun matematik probleminin çözülmesi işlemine de mining/madencilik adı verilir. tıpkı altın madenciliği gibi. işte insanlar bu yüzden binlerce bilgisayar, özel donanımlar vs ile bitcoin mining yaparlar. sıradaki blockun matematik problemini çözmeye çalışırlar. eğer bu matematik problemini çözerseniz,yeni bir block oluşturmuş olursunuz. yeni oluşturduğunuz blocku tüm diğer bitcoin kullanıcılarına gönderirsiniz. böylece block ,blockchaine eklenmiş olur.

    dolayısı ile bir block içerisinde:
    block numarası
    önceki sayfanın hash kodu
    bu sayfada çözülen matematik probleminin cevabı
    transactionlar/ işlemler
    yer alır.

    peki bir soru. block problemini çözen kişi transactionları eklemezse ne olur. zaten matematik problemini çözüp 50 bitcoin kazandım diyebilir. bir de blockun altına transactionları yazmayabilir. bunu önlemek için bir transaction fee/işlem ücreti tanımlanmıştır. a kullanıcısı b kullanıcına bitcoin gönderdiğinde bir transaction oluşur demiştik. bu işlemin geçerli olup saklanması için blockchaine yazılması gerekir. işte a kullanıcısı para gönderirken hesabından bir miktarı da işlem ücreti olarak göndermek zorundadır.bu işlem ücreti, sıradaki matematik problemini ilk çözen ve sıradaki blocku oluşturan kişiye aktarılır. dolayısı ile sıradaki blocku çözen kişi , sırf block ödülü olan 50 bitcoini almaz, aynı zamanda block içerisine yazdığı transactionların işlem ücretini de alır.
    blockchain dediğimiz yapı,bitcoin kullanan herkesin bilgisayarında tutulur. bilgisayarlar yeni bir block oluşturuldu mesajı aldıklarında, yeni bloğu kontrol eder. hash kodu doğru mu, matematik probleminin cevabı doğru mu diye. doğru ise yeni blocku kendi kayıtlarındaki blockchaine ekler.

    bu matematik problemi çözmesi zor ve uzun bir problemdir. şimdi akla şu gelebilir. ben yeni blockun matematik problemini çözemeden başkası çözdü ve mesaj gönderdi. ben bilgisayarımda bu mesajı almayacak şekilde ayar yaparım ve yeni blocku ben çözene kadar bekler, çözünce de blockchaine eklerim. evet bu doğru ama şu var. bitcoin blockchaini dünyada dağınık olarak herkesin bilgisayarında tutulur. siz örneğin 75. blocku hesaplarken , başka birisi çözdü. siz bunu engelleyip kendiniz çözünce kendi blockchaininize kendi çözdüğünüz blocku eklediniz. ama bütün dünya çoktan o 75 numaralı blocku blockchaine ekleyip 76. blocku hesaplamaya başlamıştı bile. hatta siz daha 75.i hesaplamadan, dünyadaki milyonlarca makina, 75,76,77,78... vs diye diğer blockları hesaplamışlardı. o yüzden siz 75.blocku çözüp cevabı diğer bitcoin kullanıcılarına gnderdiğinizde, oradaki yazılımlar bunu kabul etmez. bize 75. block çok önce gönderildi kusura bakma derler. 75.blogu sizin çözdüğünüz blockchain yalnızca dünyada sizin bilgisayarınızda kayıtlı olur. başka hiçbir bitcoin kullanıcısı bunu kabul etmez.bitcoin protokolünde eğer iki blockchain varsa uzun olan kabul edilir der. dolayısı ile sizin oluşturdunuzun chain, dünyada kalan tüm bilgisayarların hesabından uzun olamayacağı için kabul görmez.

    özet:
    bitcoin esasında herkesin kabul ettiği bir protokoldür.bitcoinde paranızın olması demek, blockchain içerisinde sizin hesabınıza para gönderildi şeklinde bir işlem kaydının olması demektir. blockchain bitcoin ile yapılan bütün işlemlerin tutulduğu yerdir. kim kime ne kadar para gönderdi.ilk bitcoinin oluştuğu zamandan bu zamana tüm işlemler blockchain içerisinde tutulur.benim 3 bitcionim var derseniz, blockchain içerisindeki bir blockda size 3 bitcoin gönderildiğini göstermeniz gerekir. birisine 3 bitcoin göndermek demek de, bir sonraki block içerisine , o işlemin bilgilerini yazmak demektir.

    hesap numarası dediğimiz matematik bir fonksiyonla oluşturduğumuz bir sayıdır. bu sayıya bağlı bir de private key vardır ve bu private key ile ilgili hesaba ait emirler verme hakkını elde edersiniz. bitcoinin gizliliği burada yatar. bir bitcoin hesabı açabilmek için nufüs cüzdanına, tck ya ihtiyacınız yoktur. bilgisayarda bir hesap yaparak oluşturabilirsiniz.

    madencilik, blockchain içerisinde bir sonraki block için gerekli hesabı yapma işlemidir.
    blockchaini değiştirme çok zordur. bütün dünya bilgisayarlarının işlem gücünün hepsinden daha hızlı hesaplama yapmanızı gerektirir.

    çok çok basitleştirerek bitcoinin nasıl çalıştığını anlatmaya çalıştım. eğer eksik anlattığım kısımlar varsa veya yeterince iyi anlatamadı isem, mesaj ile uyarırsanız düzeltirim.
    detaylı bilgi almak isterseniz bitcoin whitepaperi okuyarak başlayabilirsiniz:
    https://bitcoin.org/bitcoin.pdf

    referance adresi:
    https://developer.bitcoin.org/reference/
198 entry daha