Grin, MimbleWimble protokolüne dayalı yeni bir kripto para birimi türüdür. Ancak, Grin'in öğreticisi herkesin bildiği gibi belirsizdir.
Bu makale, Grin işleminin çalışma prensibini paylaşmayı ve herkesin Grin işleminin Aslında nasıl Devam etmekte.
Grin takas edildi Çıktı Bir Pederson sözü , Aşağıdaki biçimde:
-A Grin çıkışı, Pedersen vaadidir. -
Perdersen, bilgileri gizlemenin iyi bir yolu olacağına söz veriyor. Perdersenin vaadi kavramını ilk kez duyduysanız, bu kelimeyi her gördüğünüzde korumalı değer kavramını düşünün (Çevirmenin Notu: Bu değeri kimse göremez. ne).
Aşağıdaki metin Grin'in wiki'sinden alınmıştır (Grin ticaretinin nasıl çalıştığını anlamak için en iyi giriş materyali).
Özel anahtar olarak çok büyük bir sayı k ve karşılık gelen genel anahtar olarak k * H seçtiğimizi varsayalım. Birisi k * H açık anahtarının değerini bilse bile, bundan k değerini çıkarmak neredeyse imkansızdır ...
r, körleme faktörü olarak kullanılan özel anahtardır, G, eliptik eğri üzerinde sabit bir noktadır ve bunların ürünü r * G, bu eğride r'nin genel anahtarıdır.
v giriş değeri veya çıkış değeridir, H eliptik eğri üzerindeki başka bir sabit noktadır ...
Özel anahtar k ve özel anahtar j, sonra (k + j) * H = k * H + j * H, yani iki özel anahtar ile sabit nokta H ((k + j) toplamının çarpılmasıyla üretilen genel anahtar * H)), iki özel anahtarın sabit H noktasıyla çarpılmasıyla üretilen iki açık anahtarın k * H + j * H toplamına eşittir.
Kriptografiyi daha derinlemesine incelemek istiyorsanız, ECC primer blogunu okuyabilirsiniz. Kısacası, bir Grin çıktısı harcamak için şunu da bilmelisiniz Körleme faktörü (r) Hem de Grin işlem tutarı (v) . Sözü kırarak bu iki değer geriye doğru çıkarılamaz. Bu nedenle, Grin'in çıktısı ancak bu değerler önceden biliniyorsa harcanabilir.
Grin kör edici faktörünü belirler çünkü Grin'i gönderen bilir v (Size gönderilen Grin miktarı). Ancak çıktının kör edici faktörü yalnızca sizin tarafınızdan bilinir (Grin'i gönderen bile değil), bu nedenle çıktıyı yalnızca siz harcayabilirsiniz.
Bu çıktının 40 Grin içerdiğini ve kullanılan körleme faktörünün 20 olduğunu varsayalım.
( Geçiş reklamı : Gönderilen gerçek Grin miktarı, atomik birim 1 NanoGrin'in tam sayı katıdır. Basitlik adına, örnek olarak tam sayı Grin kullanıyorum):
-Bu çıktıda körleme faktörü 20 ve Grin sayısı 40'tır. -
Grin işlemlerinin çıktısını Grin tarayıcısında görüntülediğimizde, gerçek çıktının yukarıdaki resimdeki gibi net bir formülle sunulmadığını görürüz. İşte Grin'in çıktısı aslında neye benziyor:
-Grin çıktı ("commit" sütununda bulunur). -
Yine bu çıktıdan "20" (körleme faktörü) veya "40" (Grin sayısı) sonucunu çıkarmak imkansızdır.
Az önce bahsettiğimiz çıktının Alice'e ait olduğunu varsayalım. Şimdi, Alice bu 40 Grins'den 25'ini Bob'a göndermek istiyor. Basitlik adına madenciler için işlem ücretlerini göz ardı edelim.
5 $ 'lık bir faturanız varsa ve 3 $' lık bir şey satın alırsanız, para üstü olarak 2 $ alacaksınız. Bitcoin sistemindeki işlemler bu şekilde çalışır ve Grin bir istisna değildir. Alice harcanmamış işlem çıktısı 40 Grin'den 25 Grin'i alıp Bob'a göndermek isterse, bu işlemde yeni bir harcanmamış işlem çıktısı oluşturur ve kalan 15 Grin'i (değiştir) kendisine geri gönderir. adresi.
-Alice, Bob'a gönderdiği Grin miktarını ve değişim miktarını biliyor. -
Bu işlemdeki 15 Grin Alice'e geri dönecek, bu da sadece o 15 Grin'i kontrol edip harcayabileceği anlamına geliyor. Başka bir deyişle, Bob'un Alice'in parasını harcama olasılığı ortadan kaldırılmalıdır. Bunun için Alice, değişim çıktısı için yeni bir kör edici faktör yaratmalıdır. Alice'in seçtiğini varsayalım 34 .
Alice de biliyor r (Değişim çıktısının kör edici faktörü) ve v (Grin miktarı değişti), değişim çıktısına sahipsiniz ( eş ) Gerekli tüm bilgiler blok zincirinde bir çıktı olarak kaydedilecektir. Aynısı, Alice'in Bob'a göndermek üzere olduğu 25 Grin çıkışı için de geçerli.
-Alice'nin değişim çıktısı. -
Daha önce de bahsettiğim gibi, çıktı yalnızca çıktı tarafından kullanılan körleme faktörü biliniyorsa harcanabilir. Alice harcamak istediği çıktının kör edici faktörünü (20) biliyor, ancak Grin sistemindeki diğerlerine de bildiğini kanıtlamak için bir yola ihtiyacı var.
Bu nedenle, toplam körleme faktörünü çözmek için tamamen bağımsız bir hesaplama yapması gerekiyor. Bu, Alice'in değişim çıktısı için yarattığı körleme faktörünü (34) almayı ve harcamak istediği çıktının körleme faktörünü çıkarmayı içerir (20).
- Alice'in toplam kör edici faktör sayısı. -
rs (S göndereni, yani Alice'i temsil eder) Alice'in toplam kör edici faktör sayısını temsil eder, bu örnekte 14 . ( Geçiş reklamı : Kernel offset'i (kernel offset) kasıtlı olarak görmezden geldim. )
Son olarak, Alice'in rastgele bir nonce oluşturması gerekiyor ks (S ayrıca gönderen Alice'i temsil eder). İşlemi imzalamasına yardımcı olmak için rastgele nonce değerini kullanacaktır (aşağıya bakın). Alice gerçek nonce değerini Bob'a göndermeyecek, ancak ks · G (Nonce, Pedersen taahhüdüne karşılık gelir). Daha önce belirtildiği gibi, nonce değerini çarparak puan oluşturun G , Alice gerçek nonce değerini gizler.
Alice, aşağıdaki bilgileri Bob'a gönderir. Aslında, Grin verileri "Meta Veri" ve "Veri" alanlarına bölünmeyecek, ancak netlik adına, bu makale ikisini kasıtlı olarak ayırıyor.
- Grin işleminin ilk adımında Alice'in Bob'a göndermesi gereken tüm bilgiler. -
Meta veriler Alan:
Veri alanı:
Alice yukarıdaki bilgileri Bob'a gönderir ve Bob bir sonraki adımı tamamlar.
-İşlem "mesajı". -
Bob, Alice'ten alacağı 25 Grin için kör edici bir faktör seçer rr (R, alıcı anlamına gelir, yani Bob). Varsayalım o seçer 11 . Aynı zamanda, rastgele nonce'unu da seçti. kr (R, alıcı anlamına gelir).
Ayşe'nin işlemiyle aynı şekilde Bob, rr ve kr'nin iki değerini oluşturma noktasıyla karşılaştırır G Birlikte çoğalmak, bir Pedersen vaadi yaratır. Bob bu verilerle, ilgili Schnorr mücadelesi , Değişkenlerle e Anlamına geliyor:
- Ticaretin Schnorr zorluğu. -
Schnorr sorgulaması, sırayla aşağıdaki bilgiler üzerinde SHA256 karması gerçekleştirir:
Bob geçer e Bu işlem için kendinizinkini oluşturun Schnoor imzası , hangisi sr (R, alıcı anlamına gelir). olmasına rağmen sr Bu, Bob'un tam imzasıdır, ancak biz buna Bob'un kısmi imzası diyoruz, çünkü bu imza, sonunda tüm işlemin imzasını oluşturmak için Alice'in kısmi imzasıyla birleştirilecektir.
- İşlemde Bob'un imzasının bir kısmı. -
Alice nihayet aldığında sr Piyasaya sürmek imkansız olduğunda kr veya rr Gerçek değerin. Bob, Alice'e şunları gönderir:
-Bob imzasının bir kısmını, nonce'ye karşılık gelen vaadi ve 25 Grin'in kör edici faktörüne karşılık gelen vaadi Alice'e gönderir. -
Gönderilen içerik sırayla şunları içerir:
Bob'un imzasının bir kısmını hatırladığına inanıyorum sr Aşağıdakileri ekleyin:
- İşlemde Bob'un imzasının bir kısmı. -
Daha önce tarif ettiğimiz eliptik eğrinin özelliklerine dayanarak, Alice denklemin her iki tarafını da üreten nokta ile çarpar. G Daha sonra denklem hala geçerli.
-Alice, denklemin her iki tarafını da üreten nokta G ile çarpar. -
Çünkü Alice bunu Bob'dan aldı. kr G (Bob tarafından seçilen nonce'a karşılık gelen söz) ve rr G (Bob'un almak üzere olduğu 25 Grin körleme faktörüne karşılık gelen vaat) ve yerel olarak hesaplandı e , Sadece ihtiyacı var sr Doğma noktası ile çarpın G , Denklemin sağ tarafındaki değere eşit olduğundan emin olun ve ardından Bob'un kısmi imzasını doğrulayabilirsiniz.
Yukarıdaki işlemleri tamamlayarak Alice şunları kanıtlayabilir:
Şimdiye kadar Alice, Bob'un seçtiği nonce ve kör edici faktörü bilmeden Bob'un imzasının bir kısmını doğrular.
Bundan sonra, Alice kendi kısmi imzasını oluşturur:
-İşlemde Alice'in imzasının bir parçası. -
Alice artık işlemi oluşturabilir imza Onun ve Bob'un imzalarının bir kısmını içeren:
İşlem imzası, Alice ve Bob'un kısmi imzalarının toplamından ve bunlara karşılık gelen taahhütlerin toplamından oluşur.
İmza sırayla şunları içerir:
Birleşmeden sonra işlem imzası şu şekilde ifade edilebilir:
-İşlem imzası-
Bunlar arasında s = ss + sr, k = ks + kr.
Bu imzayı hatırla - yakında anlamını öğreneceksin.
Bir Grin işleminde, tüm çıktılar girdiden çıkarıldıktan sonra, kalan Grin miktarı sıfıra eşit olmalıdır. Beş dolarlık banknotun başka bir örneğini ele alalım:
Kasiyere 3 USD (çıktı) + 2 USD bana dönüş (çıktı) -5 USD fatura (giriş) = 0
Aynı şekilde, yasal bir Grin işlemi de yukarıdaki denklemi karşılar. Öyleyse, belirli değerleri açığa çıkarmadan nasıl doğrulayabiliriz? Alice ve Bob arasındaki işlemin girdisine ve çıktısına bir göz atalım:
(34 G) + (15 H) + (11 G) + (25 H) - (20 G) - (40 H) = (25 G) + (0 H)
Buradaki püf noktası, Grin miktarı dengelendiğinde (ince havadan fazla Grin üretilmez), çıktıyı girdiden çıkardıktan sonra geriye kalanın " Aşırı körleme faktörü "Veya" Fazla çekirdek "Bağlılığa karşılık gelir. Mevcut örneğimizde, aşırı körleme faktörüne karşılık gelen taahhüt 25 G , hangisi Eliptik bir eğri üzerinde bir genel anahtar .
Bir Grin işleminin çıktılarının toplamı eksi girdilerin toplamı geçerli bir eliptik eğri genel anahtarı üretebiliyorsa, v'nin değerinin ofset olması gerektiğini bilirsiniz . Denklemin sağ tarafı n G + 0 H şeklinde değilse ve bilinen bir n değeri varsa, işlemin yasa dışı olduğunu bilebilirsiniz. Bu, toplam çıktının toplam girdiden daha büyük olduğu (örneğin, 5 ABD doları ödediniz, kasiyer 3 ABD Doları ödediğiniz ancak 10 ABD Doları aldınız) veya toplam girdinin toplam çıktıdan daha büyük olduğu (örneğin, Kasiyer 5 dolar için 3 dolar aldı, ancak paranızı istemedi).
Yukarıdaki imzayı hatırlıyor musun?
-İşlem imzası-
İmza aslında işaret Az önce bahsettiğim şey Aşırı körleme faktörüne bağlılık Aşağıda açıklayalım.
Unutmayın, Bob'un kısmi imza denkleminin her iki tarafını da G ile çarptığınızda, aşağıdaki denklemi elde edeceksiniz.
-Denklemin her iki tarafı da G noktasını oluşturduktan sonra Bob'un kısmi imzası ile çarpılır-
Benzer şekilde, Alice'in kısmi imza denkleminin her iki tarafını da G ile çarptığınızda, aşağıdaki denklemi elde edersiniz.
-Denklemin her iki tarafı da G noktası oluşturulduktan sonra Alice'in kısmi imzası ile çarpılır. -
İki denklemi toplarsanız ne olur? Alacaksın:
sr G + ss G = (kr G) + (ks G) + (e (rr G + rs G))
onların arasında, rr Bobun kör edici faktörü, rs Alice'in toplam kör edici faktör sayısıdır, rr G + rs G eşittir (rr + rs) G.
Bobun körleme faktörü 11 G taahhüdüne karşılık gelir. Alicein toplam körleme faktörü 14 G taahhüdüne karşılık gelir ve ikisi birlikte toplanarak 25 G (Tüm işlemin aşırı körleme faktörünün taahhüdünü temsil eder). bu nedenle sr (Bob'un kısmi imzası) ve ss (Alice'in kısmi imzası) Eğer toplam, fazla körleme faktörüne karşılık gelen taahhüde eşitse, o zaman İşlemin tamamının yasal olduğunu kanıtlayın.
Bu denklemi daha da basitleştirerek şunu elde edeceğiz:
sr G + ss G = (k G) + (e (r G))
veya:
sr G + ss G = (k G) + (e (25 G))
Ardından denklemin iki tarafının eşit olup olmadığını kontrol edin.
Unutmayın, denklemdeki tüm değişkenler (kısmi imzaların toplamı, e'deki kısımlar, aşırı körleme faktörüne karşılık gelen taahhüt, nonce toplamına karşılık gelen taahhüt) herkes tarafından görülebilir, böylece herkes yapabilir doğrulama. Ne Alice'in kör edici faktörünü ne de Bob'un kör edici faktörünü bilmeden işlemi doğrulayabiliriz. Kısmi imzalarını toplayarak ve toplamın aşırı körleme faktörüne karşılık gelen taahhüde eşit olup olmadığını doğrulayarak, kanıtlayabiliriz:
İşlemin yerleştirildiğini doğrulamak için kullandığımız bilgiler İşlem çekirdeği arasında.
Aşağıdaki bilgiler işlem çekirdeğinde saklanacaktır:
Yukarıda açıklanan işlem meta verileri yayınlanmayacaktır. Daha da iyisi, bu bilgilerin bir kısmı da atılabilir - bunun hakkında başka bir blogda konuşacağız.
Umarım bu makale Grin işlemlerinin nasıl çalıştığını anlamada yardımcı olabilir. Menzil kanıtını, çekirdek ofsetini ve işlem ücretlerini kasıtlı olarak ihmal ettim. Daha fazla bilgi için lütfen Grin'deki kesme mekanizmasının çalışma prensibi, işlemlere çok taraflı katılım ilkesi ve bazı deneysel bloglar hakkında bilgi edinin.
Orijinal bağlantı:
https://medium.com/@brandonarvanaghi/grin-transactions-explained-step-by-step-fdceb905a853
Yazar: Brandon Arvanaghi
Çeviri düzeltmesi: stormpang ve Min Min
(Bu makale bir Ethereum meraklısı olan EthFans'tan gelmektedir ve yazarın izni olmadan yeniden basılması kesinlikle yasaktır. İhlal edenler kanunen soruşturulmalıdır)