Ori Profile picture
Mar 1 22 tweets 5 min read
0)Block Hash'lerini Randomness kaynağı olarak kullanma fikri yeni değil. Hatta ilk akla gelen fikir denebilir. Burda Hash'i mevcut block değil de bir sonraki block'un Hash'i olarak kullanmak sadece non-miner aktörler için önleyici bir tedbir.
1)Fakat biz minerların nötral aktörler olmadığını biliyoruz. Eğer kendilerine avantaj sağlayacak bir durum olursa bunu değerlendiriyorlar. Buna da MEV diyoruz. Bir sonraki block'un Hash numarasını kullanmak neden güvenli değil?Çünkü block'u üreten Hash değerini manipüle edebilir. Image
2)Bazı zincirler değiştirilmesi zor Randomness üretiyor. Örneğin Polkadot'da VRF çalıştırılıyor fakat bunun Gambling için kullanılmasını önermiyorlar. Kendi işleyiş mekanızmaları için yeterli bir Randomness kullanıyorlar fakat Gambling için yeterli değil. Image
3)Validator'ler tamamen belirleyemeseler de şanslarını arttıracak hareketler yapabiliyorlar. Bir yazı turada şansını %50'den %50.1'e çıkarman yeterli. Uzun vadede bu çok büyük bir kazanca dönüşecektir. Blockchain'de block üretim zamanı için ise önemli bir fark değildir. Image
4)Gnosis Chain'de ise Randao kullanılıyor. Fakat Randao'da da Validator cevap vermek için kendini sona bırakıp duruma göre ölü taklidi yapmayı seçebilir. Sık ölü taklidi yaparsa ceza alıyor fakat burdaki gibi bir oyunda 1-2 kere yapması yeterli. Parametreler yine yeterli değil. Image
5)Diğer alternatif BLS signature'larla TSS oluşturmak. Burda bir kişinin ölü taklidi yapması sonucu değiştirmeye yetmiyor. Oranı kendin belirliyorsun fakat genelde 1/3'den az ise katılmayanlar kalan +2/3 random sayıyı üretebilecek şekilde belirleniyor. 1/3'den fazlaysa duruyor. Image
6)Yeni Chainlink VRF de bu yapıyı kullanıyor. Bu TSS'i üreten Chainlink Node'larının hepsi ortak hareket ediyorsa yine sorunlar çıkabilir tabii ki. Fakat Chainlink Node'larının Validator'ler gibi kendini saklama şansı yok.Validator'lerin aksine tarafısız olma taahhütleri de var. Image
7)Bu şekildeki bir TSS'in tamamını kontrol ediyorsan vereceğin inputların sonuçlarını önceden hesaplayabilirsin. Input'u koy TSS ile imzala sonuca bak. Başka Input koy yine hesapla. Hangisi işine geliyorsa onu Blockchain'e yolla. Bu sebeple belli bir güven gerektiriyor yine.
8)Biz bu kadar da güvenmek istemiyoruz diyelim. O zaman çözüm VDF. VDF'i daha önce anlatmıştım. Solana'daki POH da benzer bir yapı kullanıyordu. VDF bir fonksiyon. Özelliği şu ki donanımın çok güçlü de olsa sonucunu belirli bir süreden önce hesaplayamıyorsun.
9)Bir sonraki Block'un Hash'ini random sayı için kullanacağız diyelim. Bu Block'u kazacak Validator elindeki Hash alternatiflerinin neye yol açabileceğini hemen görebiliyor. Bu sebeple kendi işine gelen Hash ile bu Block'u kazabilir.
10)Bunun yerine dedik ki sonraki Block da değil. Bu Block'un Hash'ini kullancağız. Hani Hash manipüle edilebiliyordu niye kullanıyoruz? Bu Hash manipüle edilebilse de tamamen seçilemiyor. Bu da bizim için yeterli. Sonra dedik ki bu Hash'i VDF fonksiyonuna input olarak vereceğiz.
11)VDF fonksiyonunun en az 30 dakika sürmesini de istiyoruz. Onu da belirttik.

VDF(Hash,30dk)

Şimdi Validator'ün Hash değerini seçme şansı yok. Çünkü seçtiği Hash değerinin sonucunu 30 dakikadan önce anlayamıyor.
12)Seçim yapmak için Zinciri 30 dakika boyunca durduramayacağını farzediyoruz tabiki. İsterseniz daha büyük bir değer de seçebilirsiniz. Biz bu Delay Function'u koyduk da doğruluğunu nasıl anlayacağız? Herkese bu fonksiyonu mu çalıştırtacağız?
13)Hayır tabiki çünkü bu fonksiyon Verifiable. Zaten biz ZK SNARK/STARK'lar ile herhangi bir hesaplamanın ufak kanıtını üretebileceğimizi biliyoruz. Yani bir kişi hesapladığı zaman biz bunu kolayca doğrulayabiliriz. Uygulamanın creatorları bir tane VDF çalıştırsa yeterli.
14)Çok tembeliz onu da yapmak istemiyoruz. VDF makinası ayağınıza geldi.

Karşınızda Starknet Veedo Image
15)Starknet VeeDo tam da anlattığım gibi çalışıyor. Block Hash'ini alıyor. Delay Function'u çalıştırıyor. Sonra bunun STARK proof'unu oluşturuyor. Bunu doğruladığında elinde sağlam bir Random sayı oluyor. Image
16)Bu yöntem için input'un bir miktar biasable olması çok önemli değil demiştik. Bu sebeple Block Hash kullanmak çok sıkıntı olmadı. Fakat biz Validator'lerin çoğunluğunun ortak hareket ederek zinciri manipüle etmesini de istemiyoruz.
17)30 dakika arkada zincir oluşturup sonra eklemek zor bir olay fakat mükemmelliyetçiyiz. O zaman bir diğer Biasable kaynak neydi? RANDAO. Evet RANDAO'nun çıktısının üstüne VDF uygulayarak bu varsayımı da kenara atabiliriz. Image
18)Ethereum planlarında da zincirde Validator atamaları için gerekli Random'luk kaynağı olarak RANDAO + VDF planlanıyordu fakat Ethereum'un sorunu da bu. Denizi geçebilecekken okyanusta boğulmayı seçiyorlar.
19)İflah olmaz bir Randomness hastasıysanız RANDAO kontratlarını kendiniz yazıp sonra Starknet'te üzerinde VDF hesaplatabilirsiniz. Ben VDF'in standart kullanımına da çok rastlamadım o ayrı konu.
20)Şimdi denebilir ki altı üstü rastgele bir yeşil bir kırmızı NFT üretecektik nerelere girdin. Bu tarz ufak yazı tura stili bir oyun için çok daha kolay Unbiased Randomness üretimi mümkün. Fakat bunu anlatmamın Dünya'ya bir faydası olacağını sanmıyorum.
21)Benim anlattıklarım da kumarda kullanılabilecek şeyler ama Blockchain'lerin işleyişindeki faydalı kullanımlarına odaklanmak da mümkün.

Başlangıç noktasına dönersek BlockHash'i direkt kullanarak oluşturulan Random'luk güvenli değildir. İçindeki miktar büyürse hedef olur.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ori

Ori Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @OrientusPrime

Mar 6
0)Son Twitter floodunda Random Function'lardan bahsetmiştim. Peki protokoller bu Random Function'lara neden ihtiyaç duyuyor?

Sharding Image
1)Sharding'de her Shard'ı ayrı bir Blockchain gibi düşünebilirsiniz. Fakat bu Blockchain'lerin hepsinin aynı Coin'in ekosistemine dahil olmasını ve aynı güvenlik seviyesinde olmasını istiyoruz. Bunun için de bu Blockchain'lerin tamamından aynı Validator'ler sorumlu olmalı.
2)Onlarca Blockchain'in tamamından aynı Validator'lerin sorumlu olması, üzerlerindeki yükü çok arttıracağı için genelde yapılacak işler Validator'lere paylaştırılır. Dağıtımlar kötü niyetli Validator'ler tek bir Shard'da toplanıp orada at koşturmasınlar diye random yapılıyor. Image
Read 25 tweets
Feb 3
0)Ethereum'un bütün geleceğini Rollup'lara bağlıyorsun ama Rollup'lar kolay bir şekilde Code Execute edemiyor. 40 takla atıp EVM içinde VM içinde WASM içinde GETH çalıştırıyorlar.
1)Ana zincirle aynı kodu çalıştırmaya çalışan sistemlere bir zahmet protokol seviyesinde yardımcı olun. Mantıklı olan budur yani. Ethereum'a bu kadar yakın bir ekibin düzgün bir Rollup yapabilmek için bu kadar kıvrandırılması alkışlanacak bir şey değil.
2)Mühendislik açısından başarılı olsa da sosyal kordinasyon olarak bir faciadır. Başkalarının çözmesi gereken bir problemi arkadan dolana dolana çözmek zorunda kalıyorlar. Bu arkadan dolanma ise beraberinde bir çok güvenlik riski getiriyor.
Read 16 tweets
Feb 3
0)Bridge'ler gerçekten tehlikeli yapılar. Doğru şekilde işlemeleri için platformların beraber çalışıp ortak çözümler üretmeleri gerekiyor. Bridge'ler, birbirine bağladığı ekosistemlerin ortak sorumluluğunda olmalı ve bir sorun olduğunda ortak şekilde çözülmeli. Image
1)Tam da bu sebeple Ethereum böyle bir geleceğin parçası olamaz. Çünkü Ethereum The DAO olayından beri sorumluluk almaya tövbe etmiş bir ekosistem. Bundan sonra da böyle olmaya devam edecek gibi duruyor. Halbuki pasifistler ETC tarafında kalmalıydı. Image
2)Mevcut durumlarına bakıp bunu defacto kabul ettikten sonra Cross-chain'i toptan reddetmeleri bunu doğruluyor. İçine kapalı yapıları hiçbir zaman sevmedim. Bu izolasyon ilerde kendi sonlarını getirirse üzülmem.
Read 11 tweets
Jan 17
0)Konumuz %100 ve %99.9999... olasılık arasındaki devasa fark.
1)Bir sistemde %100 kesinlik sağlayan bir garanti yerine %99.9999... garantiyi hedeflemek yazılan algoritmada verimlilik anlamında devasa farklara sebep olabilir. Bu probabilistic garantilerin gücünden kaynaklanır.
2)Bu farkı cryptoda kullanan 2 güzel örnek

A)Avalanche Consensus
B)Zero Knowledge'lar

Peki bu aradaki ufacık fark pratikte neden devasa ölçek farkı oluşturuyor?
Read 23 tweets
Jan 5
Kriptopara'lar doğaya zarar veriyormuş da ondan karşılarmış. Yalan. Anca kendilerini kandırırlar bunlarla.

Dışarıdan bakanlar diyor ki bu Kripto'ya girenlerin hepsi zengin oldu. Bir şey yaptıkları da yoktu bunların. Aslında hak etmiyorlardı. Fakat ben kazanamadım.
Bu benim gerizekalılığımdan olamaz. Onlar haksız kazanç elde etmiştir. Ben de çok ahlaklı bir insan olduğum için bu haksız para kazanma olayına karşıyım. Ne kadar da fakir ama gururluyum(!) Enerji tüketimi, doğa vs olayları bu sözde ahlaklarına kılıf.
Kripto'dan ve ondan para kazananlardan nefret ediyorlar. Yanlışlarını düzelteceklerine yasaklansın istiyorlar. Adeta unutmak istedikleri kötü bir anı. Neden zamanında Kripto'ya girmedim diye kendi kendilerini yiyip bitiriyorlar.
Read 5 tweets
Dec 31, 2021
Ye’sin bulanık rûhunu zerk etmeye baktı;
Mel’un aşı bir nesli uyuşturdu, bıraktı!
«Devlet batacak! » çığlığı beyninde öter de,
Millette bekà hissi ezilmez mi ki? Nerde!
«Devlet batacak! » İşte bu öldürdü şebâbı;
Git yokla da bak, var mı kımıldanmaya tâbı?
Âfâkına yüklense de binlerce mehâlik,
Batmazdı bu devlet, «batacaktır! » demeyeydik.
Batmazdı, hayır batmadı, hem batmayacaktır;
Tek sen uluyan ye’si gebert, azmi uyandır.
Kâfî ona can vermeye bir nefha-i îman;
Davransın ümîdin, bu ne haybet, bu ne hirman?
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(