Madencilerin her iki dakikada yeni bir blok üretmelerini sağlamak için onları eş güdümlü yapacak bir çalışma sistemine ihtiyacımız var. Bunu yaparken herhangi bir merkezi saatin bize zamanı söylemesine güvenemeyiz. O halde ne yapmalı? Hatırla: hangi madencinin bir sonraki bloğu üretip blok ödülünü kazanmasına karar vermemizi sağlayan şey, onları diğer herkesten önce oldukça zor bir matematik işlemini gerçekleştirmek zorunda bırakmaktı. O matematik işlemini farklı madenciler farklı makinelerde farklı sürelerde çözebilecekleri için, blokların eklenme süresi de büyük değişiklik içerecek. Bunu istemiyoruz.
Yapabileceğimiz şey madencilerin gerçekleştirdikleri matematiksel işlemin zorluk seviyesini değiştirmek olabilir. Eğer her yeni blok bulunduğunda bu zorluk seviyesini, ağda bulunan makinelerin işlem gücüne göre, ortalama bir değeri takip edecek şekilde ayarlayabilirsek, elimizde 2 dakikalık aralıklarla eklenen bloklar olacak.
Monero aynen bunu senin yeni işlemin bir sonraki blok içine iki dakikada girebilsin diye uygular. Monero protokolü önceki yaklaşık 700 bloğun zaman aralıklarına bakar. Bunlar arasında çok dar veya çok geniş aralıkta olan 100 kadarını gözden çıkarır. Ardından kalanlarla bir ortalama alır. Eğer ortalama zaman aralığı 2 dakikadan daha kısa çıkarsa, orantılı bir şekilde bir sonraki blok için yapılan işlemin zorluğunu artırır. Böylelikle bir sonraki bloğun eklenme süresi 2 dakikalık bir zaman aralığına yaklaşacak. Sistem bunu her blok ile birlikte yaptığı için, ortalamalar (ve zorluk seviyeleri) şiddetli bir şekilde değişmez. Eğer hesapladığı ortalama 2 dakikadan fazla ise, hesap zorluğunu bir sonraki blok için azaltacak.
Bu çeşit bir kendini dengeleme çabası basit, fakat oldukça etkili ve bütün sistemi sakin ve kararlı bir durumda tutmaya yetiyor. Yeni durumlara oyunun kurallarını değiştirmeye gerek kalmadan uyum sağlamayı sağlıyor. Bu sistem tıpkı senin bir aslandan (veya katilden) kaçman gerektiğinde hızlanan, ve ardından da güvendeyken tekrar olağan hızına geri dönen soluk ve kan dolaşımı sistemlerin gibi çalışmakta.
Madencilerimizin uygun tempoda yeni bloklar üretmelerini sağladığımıza göre, bunlar bloklara ekleyecekleri yeni işlemleri nerede bulacaklar?