Madenciler aslında matematiksel problem çözüyorlar. Ellerinde bir fonksiyon var. f(x,y)=30 sayısını bulacaklar diyelim ki. Madenciler burada doğru x ve doğru y’i bulmaya çalışıyorlar. Tek yönlü bir fonksiyon olduğu için 30 sayısından geriye gidip X ve Y değerini üretemiyorlar. Diyelim ki 30 sayısını üreten değerler x=16, y=15 olsun. X ve Y değerini madencilerin deneme sonucunda buluyor ve bunu imzalayıp diğer network’deki herkese iletiyor. Network’deki herkes bu değerleri mevcut oluyor ve onlarda bulunan bloğun doğruluğunu onaylıyor. Buna da kısaca “Proof of Work” denir. POW madencilerin doğru bloğu bulup bulmadığının ıspatını sağlamış oluyor. Oluşan her blok kendisinin Hash değerini, kendisinden öncekinin Hash değerini ve transaction’ını biliyor.
Diyelim ki sistemdeki son bloğun ismi A olsun. B ve C bloklarıda A dan sonraki bloğu bulsun. O zaman system A dan sonra hangi bloğu Kabul edecek? B bloğunu mu? C bloğunu mu? Burada sistem şöyle işliyor. B ve C bloklarından hangisi en ağır zincire sahip ise , yani en uzun zincire sahip ise system onu Kabul ediyor. Yani yukarıdaki örnekte C bloğunun sahip olduğu zincir daha fazla olduğu için C bloğunu kabul eder. Bir blok en fazla 2MB kadar transaction tutuyor. Bunu 2MB’dan 4MB’a yükseltilmesi ile ilgili çalışmalar yapılmaktadır.