كريبتونوت v2.0
Burada sunulan belge, Monero'nun üzerine inşa edildiği kriptografik temelleri açıklayan Nicolas van Saberhagen'in CryptoNote v2.0 teknik dokümanıdır (2013). Bu, Monero'ya özgü bir teknik doküman değildir. Monero, 2014'te CryptoNote referans uygulamasının (Bytecoin) fork'u olarak hayata geçmiş ve o tarihten bu yana orijinal protokolün çok ötesine geçecek biçimde gelişmiştir.
giriiş
“Bitcoin” [1], p2p elektronik nakit kavramının başarılı bir uygulaması olmuştur. Her ikisi de profesyoneller ve genel halk, aşağıdakilerin uygun kombinasyonunu takdir etmeye başladı halka açık işlemler ve güven modeli olarak proof-of-work. Günümüzde elektronik paranın kullanıcı tabanı istikrarlı bir hızla büyüyor; Müşteriler düşük ücretlerden ve sağlanan anonimlikten etkilenirler elektronik nakit ve tüccarlar tahmin edilen ve merkezi olmayan emisyona değer veriyor. Bitcoin var elektronik paranın kağıt para kadar basit ve kullanışlı olabileceğini etkili bir şekilde kanıtladı kredi kartları. Maalesef Bitcoin birçok eksiklikten muzdariptir. Örneğin, sistemin dağıtılmış doğası esnek değildir ve neredeyse tüm ağ kullanıcıları istemcilerini güncelleyinceye kadar yeni özelliklerin uygulanmasını engeller. Hızla düzeltilemeyen bazı kritik kusurlar Bitcoin'nin çalışmasını caydırır yaygın yayılma. Bu tür esnek olmayan modellerde yeni bir projenin hayata geçirilmesi daha verimlidir. Orijinal projeyi sürekli olarak düzeltmek yerine. Bu yazıda Bitcoin'nın ana eksikliklerini inceliyor ve bunlara çözümler öneriyoruz. inanıyoruz önerdiğimiz çözümleri dikkate alan bir sistemin sağlıklı bir rekabete yol açacağı farklı elektronik nakit sistemleri arasında. Ayrıca kendi elektronik paramız olan “CryptoNote”u da öneriyoruz. elektronik nakitte bir sonraki atılımı vurgulayan bir isim.
مقدمة
لقد كان "Bitcoin" [1] بمثابة تطبيق ناجح لمفهوم النقد الإلكتروني p2p. كلاهما لقد أصبح المحترفون وعامة الناس يقدرون المزيج المناسب من المعاملات العامة و proof-of-work كنموذج ثقة. اليوم، قاعدة مستخدمي النقد الإلكتروني ينمو بوتيرة ثابتة. ينجذب العملاء إلى الرسوم المنخفضة وعدم الكشف عن هويتهم المقدمة بواسطة النقود الإلكترونية ويقدر التجار انبعاثاتها المتوقعة واللامركزية. Bitcoin لديه لقد أثبت بشكل فعال أن النقد الإلكتروني يمكن أن يكون بسيطًا مثل النقود الورقية ومريحًا مثل النقود الورقية بطاقات الائتمان. لسوء الحظ، Bitcoin يعاني من العديد من أوجه القصور. على سبيل المثال، يتم توزيع النظام الطبيعة غير مرنة، مما يمنع تنفيذ الميزات الجديدة حتى يقوم جميع مستخدمي الشبكة تقريبًا بتحديث عملائهم. بعض العيوب الخطيرة التي لا يمكن إصلاحها بسرعة تعيق Bitcoin انتشار واسع النطاق. في مثل هذه النماذج غير المرنة، يكون من الأكثر كفاءة طرح مشروع جديد بدلاً من إصلاح المشروع الأصلي بشكل دائم. في هذا البحث نقوم بدراسة واقتراح الحلول لأوجه القصور الرئيسية في Bitcoin. نحن نعتقد أن النظام الذي يأخذ في الاعتبار الحلول التي نقترحها سيؤدي إلى منافسة صحية بين أنظمة النقد الإلكترونية المختلفة. نقترح أيضًا عملتنا النقدية الإلكترونية الخاصة، "CryptoNote"، اسم يؤكد على التقدم القادم في مجال النقد الإلكتروني.
Bitcoin Dezavantajları ve Olası Çözümler
2 Bitcoin dezavantajları ve bazı olası çözümler 2.1 İşlemlerin izlenebilirliği Gizlilik ve anonimlik elektronik paranın en önemli unsurlarıdır. Eşler arası ödemeler Geleneksel ile karşılaştırıldığında belirgin bir fark, üçüncü tarafın görüşünden gizlenmeye çalışılmasıdır. bankacılık. Özellikle, T. Okamoto ve K. Ohta ideal elektronik paranın altı kriterini tanımladılar: "Gizlilik: kullanıcı ile satın aldıkları arasındaki ilişki takip edilemez olmalıdır" herkes tarafından” [30]. Açıklamalarından, tamamen anonim olan iki özellik elde ettik. Okamoto tarafından belirtilen gerekliliklere uymak için elektronik nakit modelinin karşılanması gerekir ve Ohta: Takip edilemezlik: Gelen her işlem için tüm olası göndericilerin eşit olasılıklı olması. Bağlantısızlık: Yapılan herhangi iki işlem için bunların gönderildiğini kanıtlamak imkansızdır. aynı kişi. Maalesef Bitcoin izlenemezlik şartını karşılamıyor. Ağın katılımcıları arasında gerçekleşen tüm işlemler halka açık olduğundan, herhangi bir işlem gerçekleştirilebilir. 1 CryptoNote v 2.0 Nicolas van Saberhagen 17 Ekim 2013 1 Giriş “Bitcoin” [1], p2p elektronik nakit kavramının başarılı bir uygulaması olmuştur. Her ikisi de profesyoneller ve genel halk, aşağıdakilerin uygun kombinasyonunu takdir etmeye başladı halka açık işlemler ve güven modeli olarak proof-of-work. Günümüzde elektronik paranın kullanıcı tabanı istikrarlı bir hızla büyüyor; Müşteriler düşük ücretlerden ve sağlanan anonimlikten etkilenirler elektronik nakit ve tüccarlar tahmin edilen ve merkezi olmayan emisyona değer veriyor. Bitcoin var elektronik paranın kağıt para kadar basit ve kullanışlı olabileceğini etkili bir şekilde kanıtladı kredi kartları. Maalesef Bitcoin çeşitli eksikliklerden muzdariptir. Örneğin, sistemin dağıtılmış doğası esnek değildir ve neredeyse tüm ağ kullanıcıları istemcilerini güncelleyinceye kadar yeni özelliklerin uygulanmasını engeller. Hızlı bir şekilde düzeltilemeyen bazı kritik kusurlar Bitcoin'nin çalışmasını caydırır yaygın yayılma. Bu tür esnek olmayan modellerde yeni bir projenin hayata geçirilmesi daha verimlidir. Orijinal projeyi sürekli olarak düzeltmek yerine. Bu yazıda Bitcoin'nın ana eksikliklerini inceliyor ve bunlara çözümler öneriyoruz. inanıyoruz önerdiğimiz çözümleri dikkate alan bir sistemin sağlıklı bir rekabete yol açacağı farklı elektronik nakit sistemleri arasında. Ayrıca kendi elektronik paramız olan “CryptoNote”u da öneriyoruz. elektronik nakitte bir sonraki atılımı vurgulayan bir isim. 2 Bitcoin dezavantajları ve bazı olası çözümler 2.1 İşlemlerin izlenebilirliği Gizlilik ve anonimlik elektronik paranın en önemli unsurlarıdır. Eşler arası ödemeler Geleneksel ile karşılaştırıldığında belirgin bir fark, üçüncü tarafın görüşünden gizlenmeye çalışılmasıdır. bankacılık. Özellikle, T. Okamoto ve K. Ohta ideal elektronik paranın altı kriterini tanımladılar: "Gizlilik: kullanıcı ile satın aldıkları arasındaki ilişki takip edilemez olmalıdır" herkes tarafından” [30]. Açıklamalarından, tamamen anonim olan iki özellik elde ettik. Okamoto tarafından belirtilen gerekliliklere uymak için elektronik nakit modelinin karşılanması gerekir ve Ohta: Takip edilemezlik: Gelen her işlem için tüm olası göndericilerin eşit olasılıklı olması. Bağlantısızlık: Yapılan herhangi iki işlem için bunların gönderildiğini kanıtlamak imkansızdır. aynı kişi. Ne yazık ki Bitcoin izlenemezlik şartını karşılamıyor. Ağın katılımcıları arasında gerçekleşen tüm işlemler halka açık olduğundan, herhangi bir işlem gerçekleştirilebilir. 1 3 Bitcoin kesinlikle "takip edilemezlik" konusunda başarısız oluyor. Size BTC gönderdiğimde, bunun gönderildiği cüzdan blockchain üzerine geri dönülemez şekilde damgalanmıştır. Bu fonları kimin gönderdiğine dair hiçbir soru yok. çünkü yalnızca özel anahtarları bilenler bunları gönderebilir.benzersiz bir kökene ve nihai alıcıya kadar izi sürülebilir. İki katılımcı değişse bile Dolaylı bir şekilde fon sağlanması durumunda, uygun şekilde tasarlanmış bir yol bulma yöntemi, kaynağı ve kaynağı ortaya çıkaracaktır. son alıcı. Ayrıca Bitcoin öğesinin ikinci özelliği karşılamadığından da şüpheleniliyor. Bazı araştırmacılar ([33, 35, 29, 31]) dikkatli bir blockchain analizinin aralarında bir bağlantı ortaya çıkarabileceğini belirtmiştir ([33, 35, 29, 31]) Bitcoin ağının kullanıcıları ve bunların işlemleri. Her ne kadar bir takım yöntemler mevcut olsa da [25] ihtilaflı olduğundan, birçok gizli kişisel bilginin bu siteden alınabileceğinden şüpheleniliyor halka açık veritabanı. Bitcoin'nin yukarıda özetlenen iki özelliği karşılamadaki başarısızlığı, bunun şu sonuca varmasına neden olur: anonim değil, sahte anonim bir elektronik nakit sistemi. Kullanıcılar hızla gelişti Bu eksikliği ortadan kaldıracak çözümler. İki doğrudan çözüm "aklama hizmetleri" [2] ve dağıtılmış yöntemlerin geliştirilmesi [3, 4]. Her iki çözüm de karıştırma fikrine dayanmaktadır. çeşitli kamu işlemleri ve bunların bazı aracı adresler aracılığıyla gönderilmesi; hangisi sırayla güvenilir bir üçüncü tarafa ihtiyaç duymanın dezavantajını yaşar. Son zamanlarda I. Miers ve diğerleri tarafından daha yaratıcı bir plan önerildi. [28]: “Sıfırcoin”. Sıfırcoin kullanıcıların kriptografik tek yönlü akümülatörleri ve sıfır bilgi kanıtlarını kullanır. Bitcoin'leri sıfır paraya "dönüştürün" ve bunları, yerine anonim sahiplik kanıtı kullanarak harcayın Açık genel anahtar tabanlı dijital imzalar. Ancak bu tür bilgi kanıtlarının sabit bir değeri vardır. ancak uygunsuz boyut - yaklaşık 30 kb (bugünün Bitcoin sınırlarına göre), bu da teklifi geçerli kılıyor pratik değil. Yazarlar, protokolün çoğunluk tarafından kabul edilmesinin pek mümkün olmadığını itiraf ediyor Bitcoin kullanıcılar [5]. 2.2 proof-of-work işlevi Bitcoin yaratıcısı Satoshi Nakamoto, çoğunluk karar verme algoritmasını "bir CPU-bir oy" olarak tanımladı ve proof-of-work için CPU'ya bağlı fiyatlandırma işlevini (çift SHA-256) kullandı. şeması. Kullanıcılar tek işlem geçmişi emri [1] için oy verdiğinden, makullük ve Bu sürecin tutarlılığı tüm sistem için kritik koşullardır. Bu modelin güvenliği iki dezavantaja sahiptir. İlk olarak, ağın %51'ini gerektirir Madencilik gücünün dürüst kullanıcıların kontrolü altında olması. İkinci olarak sistemin ilerlemesi (hata düzeltmeleri, güvenlik düzeltmeleri vb.) kullanıcıların büyük çoğunluğunun aşağıdakileri desteklemesini ve kabul etmesini gerektirir: değişiklikler (bu, kullanıcılar cüzdan yazılımlarını güncellediklerinde meydana gelir) [6].Sonunda aynı oylama mekanizma aynı zamanda bazı özelliklerin uygulanmasına ilişkin toplu anketler için de kullanılıyor [7]. Bu, proof-of-work tarafından karşılanması gereken özellikleri tahmin etmemizi sağlar. fiyatlandırma fonksiyonu Bu tür bir işlev, bir ağ katılımcısının önemli bir yetkiye sahip olmasını sağlamamalıdır. başka bir katılımcıya göre avantaj; ortak donanım ve yüksek seviye arasında bir eşitlik gerektirir özel cihazların maliyeti. Son örneklerden [8], SHA-256 fonksiyonunun kullanıldığını görebiliriz Bitcoin mimarisinde madencilik daha verimli hale geldiğinden bu özelliğe sahip değildir Üst düzey CPU'larla karşılaştırıldığında GPU'lar ve ASIC cihazları. Bu nedenle Bitcoin, oy verme gücü arasında büyük bir fark olması için uygun koşullar yaratır. GPU ve ASIC sahiplerinin sahip olduğu "bir CPU-bir oy" ilkesini ihlal ettiği için katılımcılar CPU sahipleriyle karşılaştırıldığında çok daha büyük bir oylama gücü. Bunun klasik bir örneğidir Bir sistemdeki katılımcıların %20'sinin oyların %80'inden fazlasını kontrol ettiği Pareto ilkesi. Böyle bir eşitsizliğin ağın güvenliğiyle ilgili olmadığı, çünkü Oyların çoğunluğunu kontrol eden az sayıda katılımcı ancak bunların dürüstlüğü önemli olan katılımcılar. Ancak böyle bir argüman biraz kusurlu çünkü daha ziyade katılımcıların dürüstlüğünden ziyade ucuz özel donanımın ortaya çıkma olasılığı tehdit oluşturuyor. Bunu göstermek için aşağıdaki örneği ele alalım. Diyelim ki kötü niyetli birey, ucuz yöntemlerle kendi madencilik çiftliğini kurarak önemli bir madencilik gücü elde eder. 2 benzersiz bir kökene ve nihai alıcıya kadar izi sürülebilir. İki katılımcı değişse bile Dolaylı bir şekilde fon sağlanması durumunda, uygun şekilde tasarlanmış bir yol bulma yöntemi, kaynağı ve kaynağı ortaya çıkaracaktır. son alıcı. Ayrıca Bitcoin'nin ikinci özelliği karşılamadığından da şüpheleniliyor. Bazı araştırmacılar ([33, 35, 29, 31]) dikkatli bir blockchain analizinin aralarında bir bağlantıyı ortaya çıkarabileceğini belirtmiştir ([33, 35, 29, 31]) Bitcoin ağının kullanıcıları ve onların işlemleri. Her ne kadar bir takım yöntemler mevcut olsa da d[25] olarak belirtildiyse, birçok gizli kişisel bilginin bu siteden alınabileceğinden şüpheleniliyor. halka açık veritabanı. Bitcoin'nin yukarıda özetlenen iki özelliği karşılamadaki başarısızlığı, bunun şu sonuca varmasına neden oluyor: anonim değil, sahte anonim bir elektronik nakit sistemi. Kullanıcılar hızla gelişti Bu eksikliği ortadan kaldıracak çözümler. İki doğrudan çözüm “aklama hizmetleri” idi [2] ve dağıtılmış yöntemlerin geliştirilmesi [3, 4]. Her iki çözüm de karıştırma fikrine dayanmaktadır. çeşitli kamu işlemleri ve bunların bazı aracı adresler aracılığıyla gönderilmesi; hangisi sırayla güvenilir bir üçüncü tarafa ihtiyaç duymanın dezavantajını yaşar. Son zamanlarda I. Miers ve diğerleri tarafından daha yaratıcı bir plan önerildi. [28]: “Sıfırcoin”. Sıfırcoin kullanıcıların kriptografik tek yönlü akümülatörleri ve sıfır bilgi kanıtlarını kullanır. Bitcoin'leri sıfır paraya "dönüştürün" ve bunları, yerine anonim sahiplik kanıtı kullanarak harcayın Açık genel anahtar tabanlı dijital imzalar. Ancak bu tür bilgi kanıtlarının sabit bir değeri vardır. ancak uygunsuz boyut - yaklaşık 30 kb (bugünün Bitcoin sınırlarına göre), bu da teklifi geçerli kılıyor pratik değil. Yazarlar, protokolün çoğunluk tarafından kabul edilmesinin pek mümkün olmadığını itiraf ediyor Bitcoin kullanıcılar [5]. 2.2 proof-of-work işlevi Bitcoin yaratıcısı Satoshi Nakamoto, çoğunluk karar verme algoritmasını "bir CPU-bir oy" olarak tanımladı ve proof-of-work için CPU'ya bağlı fiyatlandırma işlevini (çift SHA-256) kullandı. şeması. Kullanıcılar tek işlem geçmişi emri [1] için oy verdiğinden, makullük ve Bu sürecin tutarlılığı tüm sistem için kritik koşullardır. Bu modelin güvenliği iki dezavantaja sahiptir. İlk olarak, ağın %51'ini gerektirir Madencilik gücünün dürüst kullanıcıların kontrolü altında olması. İkinci olarak sistemin ilerlemesi (hata düzeltmeleri, güvenlik düzeltmeleri vb.) kullanıcıların büyük çoğunluğunun aşağıdakileri desteklemesini ve kabul etmesini gerektirir: değişiklikler (bu, kullanıcılar cüzdan yazılımlarını güncellediklerinde meydana gelir) [6].Sonunda aynı oylama mekanizma aynı zamanda bazı özelliklerin uygulanmasına ilişkin toplu anketler için de kullanılıyor [7]. Bu bize proof-of-work tarafından karşılanması gereken özellikleri tahmin etmemizi sağlar. fiyatlandırma fonksiyonu Bu tür bir işlev, bir ağ katılımcısının önemli bir yetkiye sahip olmasını sağlamamalıdır. başka bir katılımcıya göre avantaj; ortak donanım ve yüksek seviye arasında bir eşitlik gerektirir özel cihazların maliyeti. Son örneklerden [8], SHA-256 fonksiyonunun kullanıldığını görebiliriz Bitcoin mimarisinde madencilik daha verimli hale geldiğinden bu özelliğe sahip değildir Üst düzey CPU'larla karşılaştırıldığında GPU'lar ve ASIC cihazları. Bu nedenle Bitcoin, oylama güçleri arasında büyük bir fark olması için uygun koşullar yaratır. GPU ve ASIC sahiplerinin sahip olduğu "bir CPU-bir oy" ilkesini ihlal ettiği için katılımcılar CPU sahipleriyle karşılaştırıldığında çok daha büyük bir oylama gücü. Bunun klasik bir örneğidir Bir sistemdeki katılımcıların %20'sinin oyların %80'inden fazlasını kontrol ettiği Pareto ilkesi. Böyle bir eşitsizliğin ağın güvenliğiyle ilgili olmadığı, çünkü Oyların çoğunluğunu kontrol eden az sayıda katılımcı ancak bunların dürüstlüğü önemli olan katılımcılar. Ancak böyle bir argüman biraz kusurlu çünkü daha ziyade katılımcıların dürüstlüğünden ziyade ucuz özel donanımın ortaya çıkma olasılığı tehdit oluşturuyor. Bunu göstermek için aşağıdaki örneği ele alalım. Diyelim ki kötü niyetli birey, ucuz yöntemlerle kendi madencilik çiftliğini kurarak önemli bir madencilik gücü elde eder. 2 4 Muhtemelen, eğer her kullanıcı her zaman yeni bir adres oluşturarak kendi anonimliğini ortadan kaldırıyorsa Alınan HER ödeme için (bu saçma ama teknik olarak bunu yapmanın "doğru" yolu), ve eğer her kullanıcı, asla para göndermemeleri konusunda ısrar ederek diğer herkesin anonimliğine yardımcı olsaydı aynı BTC adresine iki kez gitse, Bitcoin yine de yalnızca dolaylı olarak iletecektir bağlantı kurulamazlık testi Neden? Tüketici verileri, insanlar hakkında her zaman şaşırtıcı miktarda bilgi edinmek için kullanılabilir. Örneğin bkz. http://www.applieddatalabs.com/content/target-knows-it-shows Şimdi bunun 20 yıl gelecekte olduğunu hayal edin ve ayrıca Target'in bunu bilmediğini hayal edin. Target'taki satın alma alışkanlıklarınız hakkında, ancak ALL OF için blockchain madenciliği yapıyorlardı GEÇMİŞ İÇİN COINBASE CÜZDANINIZ İLE KİŞİSEL ALIŞVERİŞLERİNİZ ON İKİ YIL. Şöyle diyecekler: "Hey dostum, bu gece biraz öksürük ilacı almak isteyebilirsin, almayacaksın yarın kendini iyi hisset." Çok partili sıralama doğru şekilde kullanılırsa durum böyle olmayabilir. Örneğin buna bakınblog yazısı: http://blog.ezyang.com/2012/07/secure-multiparty-bitcoin-anonymization/ Bunun matematiğine tam olarak ikna olmadım ama... her seferinde bir kağıt, değil mi? Alıntı gerekli. Zerocoin protokolü (bağımsız) yetersiz olabilirken Zerocash protokolün 1kb boyutunda bir işlem gerçekleştirmiş olduğu görülüyor. O proje destekleniyor Tabii ki ABD ve İsrail orduları, yani sağlamlığını kim bilebilir? diğer tarafta Öte yandan hiç kimse ordu kadar gözetim olmadan fon harcamayı istemez. http://zerocash-project.org/ İkna olmadım... örneğin bkz. http://fc14.ifca.ai/bitcoin/papers/bitcoin14_submission_12.pdf Cryptonote geliştiricisi Maurice Planck'tan (muhtemelen takma ad) kripto nottan alıntı fora: "Sıfırcoin, Zerocash. Bu en ileri teknoloji, itiraf etmeliyim. Evet alıntı Yukarıdaki, protokolün önceki versiyonunun analizinden alınmıştır. Bildiğim kadarıyla öyle değil 288 ama 384 byte ama yine de bu iyi bir haber. SNARK adında yepyeni bir teknik kullandılar, bunun da bazı dezavantajları var: Örneğin; Bir imza oluşturmak için gereken genel parametrelerden oluşan geniş bir başlangıç veri tabanı (1 GB'den fazla) ve bir işlem oluşturmak için önemli bir sürenin gerekli olması (bir dakikadan fazla). Son olarak, bir tartışılabilir bir fikir olduğundan bahsettiğim genç kripto: https://forum.cryptonote.org/viewtopic.php?f= " - Maurice P. Per 03 Nis 2014 19:56 CPU'da gerçekleştirilen ve GPU, FPGA veya ASIC için uygun olmayan bir işlev hesaplama. proof-of-work'de kullanılan "bulmaca", fiyatlandırma işlevi, maliyet işlevi veya bulmaca işlevi.
benzersiz bir kökene ve nihai alıcıya kadar izi sürülebilir. İki katılımcı değişse bile Dolaylı bir şekilde fon sağlanması durumunda, uygun şekilde tasarlanmış bir yol bulma yöntemi, kaynağı ve kaynağı ortaya çıkaracaktır. son alıcı. Ayrıca Bitcoin'nin ikinci özelliği karşılamadığından da şüpheleniliyor. Bazı araştırmacılar ([33, 35, 29, 31]) dikkatli bir blockchain analizinin aralarında bir bağlantı olduğunu ortaya çıkarabileceğini belirtmiştir ([33, 35, 29, 31]) Bitcoin ağının kullanıcıları ve bunların işlemleri. Her ne kadar bir takım yöntemler mevcut olsa da [25] ihtilaflı olduğundan, birçok gizli kişisel bilginin bu siteden alınabileceğinden şüpheleniliyor halka açık veritabanı. Bitcoin'in yukarıda özetlenen iki özelliği karşılamadaki başarısızlığı, bunun şu sonuca varmasına neden oluyor: anonim değil, sahte anonim bir elektronik nakit sistemi. Kullanıcılar hızla gelişti Bu eksikliği ortadan kaldıracak çözümler. İki doğrudan çözüm “aklama hizmetleri” idi [2] ve dağıtılmış yöntemlerin geliştirilmesi [3, 4]. Her iki çözüm de karıştırma fikrine dayanmaktadır. çeşitli kamu işlemleri ve bunların bazı aracı adresler aracılığıyla gönderilmesi; hangisi sırayla güvenilir bir üçüncü tarafa ihtiyaç duymanın dezavantajını yaşar. Son zamanlarda I. Miers ve diğerleri tarafından daha yaratıcı bir plan önerildi. [28]: “Sıfırcoin”. Sıfırcoin kullanıcıların kriptografik tek yönlü akümülatörleri ve sıfır bilgi kanıtlarını kullanır. Bitcoin'leri sıfır paraya "dönüştürün" ve bunları, yerine anonim sahiplik kanıtı kullanarak harcayın Açık genel anahtar tabanlı dijital imzalar. Ancak bu tür bilgi kanıtlarının sabit bir değeri vardır. ancak uygunsuz boyut - yaklaşık 30 kb (bugünün Bitcoin sınırlarına göre), bu da teklifi geçerli kılıyor pratik değil. Yazarlar, protokolün çoğunluk tarafından kabul edilmesinin pek mümkün olmadığını itiraf ediyor Bitcoin kullanıcılar [5]. 2.2 proof-of-work işlevi Bitcoin yaratıcısı Satoshi Nakamoto, çoğunluk karar verme algoritmasını "bir CPU-bir oy" olarak tanımladı ve proof-of-work için CPU'ya bağlı fiyatlandırma işlevini (çift SHA-256) kullandı. şeması. Kullanıcılar tek işlem geçmişi emri [1] için oy verdiğinden, makullük ve Bu sürecin tutarlılığı tüm sistem için kritik koşullardır. Bu modelin güvenliği iki dezavantaja sahiptir. İlk olarak, ağın %51'ini gerektirir Madencilik gücünün dürüst kullanıcıların kontrolü altında olması. İkinci olarak sistemin ilerlemesi (hata düzeltmeleri, güvenlik düzeltmeleri vb.) kullanıcıların büyük çoğunluğunun aşağıdakileri desteklemesini ve kabul etmesini gerektirir: değişiklikler (bu, kullanıcılar cüzdan yazılımlarını güncellediklerinde meydana gelir) [6].Sonunda aynı oylama mekanizma aynı zamanda bazı özelliklerin uygulanmasına ilişkin toplu anketler için de kullanılıyor [7]. Bu, proof-of-work tarafından karşılanması gereken özellikleri tahmin etmemizi sağlar. fiyatlandırma fonksiyonu Bu tür bir işlev, bir ağ katılımcısının önemli bir yetkiye sahip olmasını sağlamamalıdır. başka bir katılımcıya göre avantaj; ortak donanım ve yüksek seviye arasında bir eşitlik gerektirir özel cihazların maliyeti. Son örneklerden [8], SHA-256 fonksiyonunun kullanıldığını görebiliriz Bitcoin mimarisinde madencilik daha verimli hale geldiğinden bu özelliğe sahip değildir Üst düzey CPU'larla karşılaştırıldığında GPU'lar ve ASIC cihazları. Bu nedenle Bitcoin, oy verme gücü arasında büyük bir fark olması için uygun koşullar yaratır. GPU ve ASIC sahiplerinin sahip olduğu "bir CPU-bir oy" ilkesini ihlal ettiği için katılımcılar CPU sahipleriyle karşılaştırıldığında çok daha büyük bir oylama gücü. Bunun klasik bir örneğidir Bir sistemdeki katılımcıların %20'sinin oyların %80'inden fazlasını kontrol ettiği Pareto ilkesi. Böyle bir eşitsizliğin ağın güvenliğiyle ilgili olmadığı, çünkü Oyların çoğunluğunu kontrol eden az sayıda katılımcı ancak bunların dürüstlüğü önemli olan katılımcılar. Ancak böyle bir argüman biraz kusurlu çünkü daha ziyade katılımcıların dürüstlüğünden ziyade ucuz özel donanımın ortaya çıkma olasılığı tehdit oluşturuyor. Bunu göstermek için aşağıdaki örneği ele alalım. Diyelim ki kötü niyetli birey, ucuz yöntemlerle kendi madencilik çiftliğini kurarak önemli bir madencilik gücü elde eder. 2 benzersiz bir kökene ve nihai alıcıya kadar izi sürülebilir. İki katılımcı değişse bile Dolaylı bir şekilde fon sağlanması durumunda, uygun şekilde tasarlanmış bir yol bulma yöntemi, kaynağı ve kaynağı ortaya çıkaracaktır. son alıcı. Ayrıca Bitcoin öğesinin ikinci özelliği karşılamadığından da şüpheleniliyor. Bazı araştırmacılar ([33, 35, 29, 31]) dikkatli bir blockchain analizinin aralarında bir bağlantı olduğunu ortaya çıkarabileceğini belirtmiştir ([33, 35, 29, 31]) Bitcoin ağının kullanıcıları ve bunların işlemleri. Her ne kadar bir takım yöntemler mevcut olsa da d[25] olarak öne sürülen bu siteden birçok gizli kişisel bilginin alınabileceğinden şüpheleniliyor. halka açık veritabanı. Bitcoin'nin yukarıda özetlenen iki özelliği karşılamadaki başarısızlığı, bunun şu sonuca varmasına neden oluyor: anonim değil, sahte anonim bir elektronik nakit sistemi. Kullanıcılar hızla gelişti Bu eksikliği ortadan kaldıracak çözümler. İki doğrudan çözüm "aklama hizmetleri" [2] ve dağıtılmış yöntemlerin geliştirilmesi [3, 4]. Her iki çözüm de karıştırma fikrine dayanmaktadır. çeşitli kamu işlemleri ve bunların bazı aracı adresler aracılığıyla gönderilmesi; hangisi sırayla güvenilir bir üçüncü tarafa ihtiyaç duymanın dezavantajını yaşar. Son zamanlarda I. Miers ve diğerleri tarafından daha yaratıcı bir plan önerildi. [28]: “Sıfırcoin”. Sıfırcoin kullanıcıların kriptografik tek yönlü akümülatörleri ve sıfır bilgi kanıtlarını kullanır. Bitcoin'leri sıfır paraya "dönüştürün" ve bunları, yerine anonim sahiplik kanıtı kullanarak harcayın Açık genel anahtar tabanlı dijital imzalar. Ancak bu tür bilgi kanıtlarının sabit bir değeri vardır. ancak uygunsuz boyut - yaklaşık 30 kb (bugünün Bitcoin sınırlarına göre), bu da teklifi geçerli kılıyor pratik değil. Yazarlar, protokolün çoğunluk tarafından kabul edilmesinin pek mümkün olmadığını itiraf ediyor Bitcoin kullanıcılar [5]. 2.2 proof-of-work işlevi Bitcoin yaratıcısı Satoshi Nakamoto, çoğunluk karar verme algoritmasını "bir CPU-bir oy" olarak tanımladı ve proof-of-work için CPU'ya bağlı fiyatlandırma işlevini (çift SHA-256) kullandı. şeması. Kullanıcılar tek işlem geçmişi emri [1] için oy verdiğinden, makullük ve Bu sürecin tutarlılığı tüm sistem için kritik koşullardır. Bu modelin güvenliği iki dezavantaja sahiptir. İlk olarak, ağın %51'ini gerektirir Madencilik gücünün dürüst kullanıcıların kontrolü altında olması. İkinci olarak sistemin ilerlemesi (hata düzeltmeleri, güvenlik düzeltmeleri vb.) kullanıcıların büyük çoğunluğunun aşağıdakileri desteklemesini ve kabul etmesini gerektirir: değişiklikler (bu, kullanıcılar cüzdan yazılımlarını güncellediklerinde meydana gelir) [6].Sonunda aynı oylama mekanizma aynı zamanda bazı özelliklerin uygulanmasına ilişkin toplu anketler için de kullanılıyor [7]. Bu bize proof-of-work tarafından karşılanması gereken özellikleri tahmin etmemizi sağlar. fiyatlandırma fonksiyonu Bu tür bir işlev, bir ağ katılımcısının önemli bir yetkiye sahip olmasını sağlamamalıdır. başka bir katılımcıya göre avantaj; ortak donanım ve yüksek seviye arasında bir eşitlik gerektirir özel cihazların maliyeti. Son örneklerden [8], SHA-256 fonksiyonunun kullanıldığını görebiliriz Bitcoin mimarisinde madencilik daha verimli hale geldiğinden bu özelliğe sahip değildir Üst düzey CPU'larla karşılaştırıldığında GPU'lar ve ASIC cihazları. Bu nedenle Bitcoin, oylama güçleri arasında büyük bir fark olması için uygun koşullar yaratır. GPU ve ASIC sahiplerinin sahip olduğu "bir CPU-bir oy" ilkesini ihlal ettiği için katılımcılar CPU sahipleriyle karşılaştırıldığında çok daha büyük bir oylama gücü. Bunun klasik bir örneğidir Bir sistemdeki katılımcıların %20'sinin oyların %80'inden fazlasını kontrol ettiği Pareto ilkesi. Böyle bir eşitsizliğin ağın güvenliğiyle ilgili olmadığı, çünkü Oyların çoğunluğunu kontrol eden az sayıda katılımcı ancak bunların dürüstlüğü önemli olan katılımcılar. Ancak böyle bir argüman biraz kusurlu çünkü daha ziyade katılımcıların dürüstlüğünden ziyade ucuz özel donanımın ortaya çıkma olasılığı tehdit oluşturuyor. Bunu göstermek için aşağıdaki örneği ele alalım. Diyelim ki kötü niyetli birey, ucuz yöntemlerle kendi madencilik çiftliğini kurarak önemli bir madencilik gücü elde eder. 2 2. sayfadaki yorumlar
Bitcoin العيوب والحلول الممكنة
2 Bitcoin العيوب وبعض الحلول الممكنة 2.1 إمكانية تتبع المعاملات تعد الخصوصية وعدم الكشف عن هويتك من أهم جوانب النقد الإلكتروني. المدفوعات من نظير إلى نظير تسعى إلى أن تكون مخفية عن وجهة نظر الطرف الثالث، وهو فرق واضح بالمقارنة مع التقليدية المصرفية. على وجه الخصوص، وصف ت. أوكاموتو وك. أوتا ستة معايير للنقد الإلكتروني المثالي، والتي تضمنت "الخصوصية: يجب أن تكون العلاقة بين المستخدم ومشترياته غير قابلة للتتبع من قبل أي شخص" [30]. ومن وصفهم، استنتجنا خاصيتين مجهولتين تماما يجب أن يستوفي نموذج النقد الإلكتروني من أجل الامتثال للمتطلبات التي حددتها أوكاموتو وأوتا: عدم إمكانية التتبع: بالنسبة لكل معاملة واردة، يكون جميع المرسلين المحتملين متساوين. عدم قابلية الارتباط: بالنسبة لأي معاملتين صادرتين، من المستحيل إثبات أنه تم إرسالهما إليهما نفس الشخص. لسوء الحظ، Bitcoin لا يلبي متطلبات عدم التتبع. وبما أن جميع المعاملات التي تتم بين المشاركين في الشبكة تكون عامة، فإن أي معاملة يمكن أن تكون عامة 1 كريبتونوت v 2.0 نيكولا فان سابيرهاجن 17 أكتوبر 2013 1 مقدمة لقد كان "Bitcoin" [1] بمثابة تطبيق ناجح لمفهوم النقد الإلكتروني p2p. كلاهما لقد أصبح المحترفون وعامة الناس يقدرون المزيج المناسب من المعاملات العامة و proof-of-work كنموذج ثقة. اليوم، قاعدة مستخدمي النقد الإلكتروني ينمو بوتيرة ثابتة. ينجذب العملاء إلى الرسوم المنخفضة وعدم الكشف عن هويتهم المقدمة بواسطة النقود الإلكترونية ويقدر التجار انبعاثاتها المتوقعة واللامركزية. Bitcoin لديه لقد أثبت بشكل فعال أن النقد الإلكتروني يمكن أن يكون بسيطًا مثل النقود الورقية ومريحًا مثل النقود الورقية بطاقات الائتمان. لسوء الحظ، Bitcoin يعاني من العديد من أوجه القصور. على سبيل المثال، يتم توزيع النظام الطبيعة غير مرنة، مما يمنع تنفيذ الميزات الجديدة حتى يقوم جميع مستخدمي الشبكة تقريبًا بتحديث عملائهم. بعض العيوب الخطيرة التي لا يمكن إصلاحها بسرعة تعيق Bitcoin انتشار واسع النطاق. في مثل هذه النماذج غير المرنة، يكون من الأكثر كفاءة طرح مشروع جديد بدلاً من إصلاح المشروع الأصلي بشكل دائم. في هذا البحث نقوم بدراسة واقتراح الحلول لأوجه القصور الرئيسية في Bitcoin. نحن نعتقد أن النظام الذي يأخذ في الاعتبار الحلول التي نقترحها سيؤدي إلى منافسة صحية بين أنظمة النقد الإلكترونية المختلفة. نقترح أيضًا عملتنا النقدية الإلكترونية الخاصة، "CryptoNote"، اسم يؤكد على التقدم القادم في مجال النقد الإلكتروني. 2 Bitcoin العيوب وبعض الحلول الممكنة 2.1 إمكانية تتبع المعاملات تعد الخصوصية وعدم الكشف عن هويتك من أهم جوانب النقد الإلكتروني. المدفوعات من نظير إلى نظير تسعى إلى أن تكون مخفية عن وجهة نظر الطرف الثالث، وهو فرق واضح بالمقارنة مع التقليدية المصرفية. على وجه الخصوص، وصف ت. أوكاموتو وك. أوتا ستة معايير للنقد الإلكتروني المثالي، والتي تضمنت "الخصوصية: يجب أن تكون العلاقة بين المستخدم ومشترياته غير قابلة للتتبع من قبل أي شخص" [30]. ومن وصفهم، استنتجنا خاصيتين مجهولتين تماما يجب أن يستوفي نموذج النقد الإلكتروني من أجل الامتثال للمتطلبات التي حددتها أوكاموتو وأوتا: عدم إمكانية التتبع: بالنسبة لكل معاملة واردة، يكون جميع المرسلين المحتملين متساوين. عدم قابلية الارتباط: بالنسبة لأي معاملتين صادرتين، من المستحيل إثبات أنه تم إرسالهما إليهما نفس الشخص. لسوء الحظ، Bitcoin لا يلبي متطلبات عدم التتبع. وبما أن جميع المعاملات التي تتم بين المشاركين في الشبكة تكون عامة، فإن أي معاملة يمكن أن تكون عامة 1 3 Bitcoin يفشل بالتأكيد في "عدم التتبع". عندما أرسل لك BTC، المحفظة التي تم إرسالها منها تم ختمه بشكل لا رجعة فيه على blockchain. ليس هناك شك حول من أرسل تلك الأموال، لأنه لا يمكن إرسالها إلا لمن يعرف المفاتيح الخاصة.يمكن تتبعها بشكل لا لبس فيه إلى أصل فريد والمستلم النهائي. حتى لو تبادل اثنان من المشاركين الأموال بطريقة غير مباشرة، فإن أسلوب تحديد المسار المصمم بشكل صحيح سوف يكشف عن مصدر الأموال وأسبابها المستلم النهائي . من المشكوك فيه أيضًا أن Bitcoin لا يلبي الخاصية الثانية. بعض الباحثين ذكر ([33، 35، 29، 31]) أن تحليل blockchain الدقيق قد يكشف عن وجود صلة بين مستخدمي شبكة Bitcoin ومعاملاتهم. على الرغم من وجود عدد من الأساليب متنازع عليه [25]، يشتبه في أنه يمكن استخراج الكثير من المعلومات الشخصية المخفية من قاعدة بيانات عامة. يؤدي فشل Bitcoin في استيفاء الخاصيتين الموضحتين أعلاه إلى استنتاج أنه كذلك ليس نظامًا نقديًا إلكترونيًا مجهول الهوية ولكنه مجهول الهوية. كان المستخدمون سريعين في التطوير الحلول لتجاوز هذا النقص. هناك حلان مباشران هما "خدمات غسيل الأموال" [2] و تطوير الطرق الموزعة [3، 4]. يعتمد كلا الحلين على فكرة الخلط العديد من المعاملات العامة وإرسالها من خلال عنوان وسيط؛ والتي بدورها يعاني من عيب الحاجة إلى طرف ثالث موثوق به. في الآونة الأخيرة، تم اقتراح مخطط أكثر إبداعًا بواسطة I. Miers et al. [28]: "زيروكوين". زيروكوين يستخدم مراكم التشفير أحادي الاتجاه وإثباتات المعرفة الصفرية التي تسمح للمستخدمين بذلك "تحويل" عملات البيتكوين إلى عملات صفرية وإنفاقها باستخدام إثبات ملكية مجهول بدلاً من ذلك التوقيعات الرقمية الصريحة القائمة على المفتاح العام. ومع ذلك، فإن مثل هذه البراهين المعرفة لها ثابت ولكن الحجم غير مناسب - حوالي 30 كيلو بايت (استنادًا إلى حدود Bitcoin اليوم)، مما يجعل الاقتراح غير عملي. يعترف المؤلفون أنه من غير المرجح أن يتم قبول البروتوكول من قبل الأغلبية Bitcoin المستخدمين [5]. 2.2 الدالة proof-of-work وصف منشئ Bitcoin ساتوشي ناكاموتو خوارزمية اتخاذ القرار بالأغلبية بأنها "صوت واحد لوحدة معالجة مركزية واحدة" واستخدم وظيفة تسعير مرتبطة بوحدة المعالجة المركزية (مزدوج SHA-256) لـ proof-of-work مخطط. نظرًا لأن المستخدمين يصوتون لصالح السجل الفردي لأمر المعاملات [1]، فإن المعقولية و إن اتساق هذه العملية هي شروط حاسمة للنظام بأكمله. يعاني أمان هذا النموذج من عيبين. أولاً، يتطلب 51% من الشبكة قوة التعدين لتكون تحت سيطرة المستخدمين الشرفاء. ثانيًا، تقدم النظام (إصلاحات الأخطاء، الإصلاحات الأمنية، وما إلى ذلك...) تتطلب من الغالبية العظمى من المستخدمين دعم والموافقة على التغييرات (يحدث هذا عندما يقوم المستخدمون بتحديث برنامج محفظتهم) [6].وأخيرًا نفس التصويت تُستخدم الآلية أيضًا للاستطلاعات الجماعية حول تنفيذ بعض الميزات [7]. وهذا يسمح لنا بتخمين الخصائص التي يجب أن يستوفيها proof-of-work وظيفة التسعير. يجب ألا تمكن هذه الوظيفة أحد المشاركين في الشبكة من الحصول على أهمية كبيرة ميزة على مشارك آخر؛ فهو يتطلب التكافؤ بين الأجهزة المشتركة وعالية تكلفة الأجهزة المخصصة. من الأمثلة الحديثة [8]، يمكننا أن نرى أن الدالة SHA-256 المستخدمة في بنية Bitcoin لا تمتلك هذه الخاصية حيث يصبح التعدين أكثر كفاءة على وحدات معالجة الرسومات وأجهزة ASIC عند مقارنتها بوحدات المعالجة المركزية المتطورة. لذلك، Bitcoin يخلق ظروفًا مواتية لوجود فجوة كبيرة بين قوة التصويت المشاركين لأنه ينتهك مبدأ "صوت واحد لوحدة المعالجة المركزية" نظرًا لأن مالكي GPU وASIC يمتلكونه قوة تصويت أكبر بكثير بالمقارنة مع أصحاب وحدة المعالجة المركزية. إنه مثال كلاسيكي على مبدأ باريتو حيث يتحكم 20% من المشاركين في النظام في أكثر من 80% من الأصوات. يمكن للمرء أن يجادل بأن عدم المساواة هذا ليس له صلة بأمن الشبكة لأنه ليس كذلك قلة عدد المشاركين الذين يتحكمون في أغلبية الأصوات ولكن صدقهم المشاركين ما يهم. ومع ذلك، فإن هذه الحجة معيبة إلى حد ما لأنها بالأحرى إمكانية ظهور أجهزة متخصصة رخيصة الثمن بدلاً من صدق المشاركين فيها يشكل تهديدا. ولتوضيح ذلك، دعونا نأخذ المثال التالي. لنفترض حاقدة يكتسب الفرد قوة تعدينية كبيرة من خلال إنشاء مزرعة تعدين خاصة به بسعر رخيص 2 يمكن تتبعها بشكل لا لبس فيه إلى أصل فريد والمستلم النهائي. حتى لو تبادل اثنان من المشاركين الأموال بطريقة غير مباشرة، فإن أسلوب تحديد المسار المصمم بشكل صحيح سوف يكشف عن مصدر الأموال وأسبابها المستلم النهائي . من المشكوك فيه أيضًا أن Bitcoin لا يلبي الخاصية الثانية. بعض الباحثين ذكر ([33، 35، 29، 31]) أن تحليل blockchain الدقيق قد يكشف عن وجود صلة بين مستخدمي شبكة Bitcoin ومعاملاتهم. على الرغم من وجود عدد من الأساليب دمن المشكوك فيه [25]، أنه من الممكن استخراج الكثير من المعلومات الشخصية المخفية من قاعدة بيانات عامة. يؤدي فشل Bitcoin في استيفاء الخاصيتين الموضحتين أعلاه إلى استنتاج أنه كذلك ليس نظامًا نقديًا إلكترونيًا مجهول الهوية ولكنه مجهول الهوية. كان المستخدمون سريعين في التطوير الحلول لتجاوز هذا النقص. هناك حلان مباشران هما "خدمات غسيل الأموال" [2] و تطوير الطرق الموزعة [3، 4]. يعتمد كلا الحلين على فكرة الخلط العديد من المعاملات العامة وإرسالها من خلال عنوان وسيط؛ والتي بدورها يعاني من عيب الحاجة إلى طرف ثالث موثوق به. في الآونة الأخيرة، تم اقتراح مخطط أكثر إبداعًا بواسطة I. Miers et al. [28]: "زيروكوين". زيروكوين يستخدم مراكم التشفير أحادي الاتجاه وإثباتات المعرفة الصفرية التي تسمح للمستخدمين بذلك "تحويل" عملات البيتكوين إلى عملات صفرية وإنفاقها باستخدام إثبات ملكية مجهول بدلاً من ذلك التوقيعات الرقمية الصريحة القائمة على المفتاح العام. ومع ذلك، فإن مثل هذه البراهين المعرفة لها ثابت ولكن الحجم غير مناسب - حوالي 30 كيلو بايت (استنادًا إلى حدود Bitcoin اليوم)، مما يجعل الاقتراح غير عملي. يعترف المؤلفون أنه من غير المرجح أن يتم قبول البروتوكول من قبل الأغلبية Bitcoin المستخدمين [5]. 2.2 الدالة proof-of-work وصف منشئ Bitcoin ساتوشي ناكاموتو خوارزمية اتخاذ القرار بالأغلبية بأنها "صوت واحد لوحدة معالجة مركزية واحدة" واستخدم وظيفة تسعير مرتبطة بوحدة المعالجة المركزية (مزدوج SHA-256) لـ proof-of-work مخطط. نظرًا لأن المستخدمين يصوتون لصالح السجل الفردي لأمر المعاملات [1]، فإن المعقولية و إن اتساق هذه العملية هي شروط حاسمة للنظام بأكمله. يعاني أمان هذا النموذج من عيبين. أولاً، يتطلب 51% من الشبكة قوة التعدين لتكون تحت سيطرة المستخدمين الشرفاء. ثانيًا، تقدم النظام (إصلاحات الأخطاء، الإصلاحات الأمنية، وما إلى ذلك...) تتطلب من الغالبية العظمى من المستخدمين دعم والموافقة على التغييرات (يحدث هذا عندما يقوم المستخدمون بتحديث برنامج محفظتهم) [6].وأخيرًا نفس التصويت تُستخدم الآلية أيضًا للاستطلاعات الجماعية حول تنفيذ بعض الميزات [7]. وهذا يسمح لنا بتخمين الخصائص التي يجب أن يستوفيها proof-of-work وظيفة التسعير. يجب ألا تمكن هذه الوظيفة أحد المشاركين في الشبكة من الحصول على أهمية كبيرة ميزة على مشارك آخر؛ فهو يتطلب التكافؤ بين الأجهزة المشتركة وعالية تكلفة الأجهزة المخصصة. من الأمثلة الحديثة [8]، يمكننا أن نرى أن الدالة SHA-256 المستخدمة في بنية Bitcoin لا تمتلك هذه الخاصية حيث يصبح التعدين أكثر كفاءة على وحدات معالجة الرسومات وأجهزة ASIC عند مقارنتها بوحدات المعالجة المركزية المتطورة. لذلك، Bitcoin يخلق ظروفًا مواتية لوجود فجوة كبيرة بين قوة التصويت المشاركين لأنه ينتهك مبدأ "صوت واحد لوحدة المعالجة المركزية" نظرًا لأن مالكي GPU وASIC يمتلكونه قوة تصويت أكبر بكثير بالمقارنة مع أصحاب وحدة المعالجة المركزية. إنه مثال كلاسيكي على مبدأ باريتو حيث يتحكم 20% من المشاركين في النظام في أكثر من 80% من الأصوات. يمكن للمرء أن يجادل بأن عدم المساواة هذا ليس له صلة بأمن الشبكة لأنه ليس كذلك قلة عدد المشاركين الذين يتحكمون في أغلبية الأصوات ولكن صدقهم المشاركين ما يهم. ومع ذلك، فإن هذه الحجة معيبة إلى حد ما لأنها بالأحرى إمكانية ظهور أجهزة متخصصة رخيصة الثمن بدلاً من صدق المشاركين فيها يشكل تهديدا. ولتوضيح ذلك، دعونا نأخذ المثال التالي. لنفترض حاقدة يكتسب الفرد قوة تعدينية كبيرة من خلال إنشاء مزرعة تعدين خاصة به بسعر رخيص 2 4 من المفترض، إذا ساعد كل مستخدم في إخفاء هويته عن طريق إنشاء عنوان جديد دائمًا مقابل كل دفعة مستلمة (وهو أمر سخيف ولكنه من الناحية الفنية الطريقة "الصحيحة" للقيام بذلك)، وإذا ساعد كل مستخدم في إخفاء هوية الآخرين من خلال الإصرار على عدم إرسال الأموال أبدًا إلى نفس عنوان BTC مرتين، فإن Bitcoin سيظل يمرر فقط ظاهريًا اختبار عدم قابلية الارتباط. لماذا؟ يمكن استخدام بيانات المستهلك لمعرفة قدر مذهل من المعلومات عن الأشخاص طوال الوقت. انظر على سبيل المثال http://www.applieddatalabs.com/content/target-knows-it-shows الآن، تخيل أن هذا سيحدث بعد 20 عامًا في المستقبل، وتخيل أيضًا أن شركة Target لم تكن تعرف ذلك فحسب حول عادات الشراء الخاصة بك في Target، لكنهم كانوا يقومون بالتنقيب عن blockchain للجميع مشترياتك الشخصية باستخدام محفظة CoinBASE الخاصة بك في الماضي اثني عشر عاما. سيكونون مثل "مرحبًا يا صديقي، قد ترغب في شراء بعض أدوية السعال الليلة، لن تفعل ذلك أشعر أنني بحالة جيدة غدا." قد لا يكون هذا هو الحال إذا تم استغلال الفرز متعدد الأطراف بشكل صحيح. انظر على سبيل المثال هذامشاركة المدونة: http://blog.ezyang.com/2012/07/secure-multiparty-bitcoin-anonymization/ لست مقتنعًا تمامًا بالرياضيات المتعلقة بذلك، ولكن... ورقة واحدة في كل مرة، أليس كذلك؟ الاقتباس مطلوب. في حين أن بروتوكول Zerocoin (المستقل) قد يكون غير كافٍ، فإن Zerocash يبدو أن البروتوكول قد نفذ معاملات بحجم 1 كيلو بايت. ويحظى هذا المشروع بدعم من الجيشان الأمريكي والإسرائيلي، بطبيعة الحال، فمن يعلم مدى قوتها. من ناحية أخرى ومن ناحية، لا أحد يريد أن يكون قادراً على إنفاق الأموال دون رقابة أكثر من الجيش. http://zerocash-project.org/ لست مقتنعا... أنظر مثلا http://fc14.ifca.ai/bitcoin/papers/bitcoin14_submission_12.pdf نقلاً عن مطور Cryptonote موريس بلانك (يُفترض أنه اسم مستعار) من cryptonote المنتديات: "زيروكوين، زيرو كاش. هذه هي التكنولوجيا الأكثر تقدما، ويجب أن أعترف. نعم الاقتباس أعلاه هو من تحليل الإصدار السابق من البروتوكول. على حد علمي، ليس كذلك 288، ولكن 384 بايت، ولكن على أي حال هذه أخبار جيدة. لقد استخدموا تقنية جديدة تمامًا تسمى SNARK، والتي لها جوانب سلبية معينة: على سبيل المثال، قاعدة بيانات أولية كبيرة من المعلمات العامة المطلوبة لإنشاء توقيع (أكثر من 1 جيجابايت) و الوقت اللازم لإنشاء المعاملة (أكثر من دقيقة). أخيرًا، يستخدمون أ العملات المشفرة الناشئة، والتي ذكرت أنها فكرة قابلة للنقاش: https://forum.cryptonote.org/viewtopic.php?f= " - موريس ب. الخميس 03 أبريل 2014 الساعة 7:56 مساءً وظيفة يتم تنفيذها في وحدة المعالجة المركزية (CPU) وهي غير مناسبة لوحدة معالجة الرسومات (GPU) أو FPGA أو ASIC حساب. يُشار إلى "اللغز" المستخدم في proof-of-work باسم وظيفة التسعير، أو وظيفة التكلفة، أو وظيفة اللغز.
يمكن تتبعها بشكل لا لبس فيه إلى أصل فريد والمستلم النهائي. حتى لو تبادل اثنان من المشاركين الأموال بطريقة غير مباشرة، فإن أسلوب تحديد المسار المصمم بشكل صحيح سوف يكشف عن مصدر الأموال وأسبابها المستلم النهائي . من المشكوك فيه أيضًا أن Bitcoin لا يلبي الخاصية الثانية. بعض الباحثين ذكر ([33، 35، 29، 31]) أن تحليل blockchain الدقيق قد يكشف عن وجود صلة بين مستخدمي شبكة Bitcoin ومعاملاتهم. على الرغم من وجود عدد من الأساليب متنازع عليه [25]، يشتبه في أنه يمكن استخراج الكثير من المعلومات الشخصية المخفية من قاعدة بيانات عامة. يؤدي فشل Bitcoin في استيفاء الخاصيتين الموضحتين أعلاه إلى استنتاج أنه كذلك ليس نظامًا نقديًا إلكترونيًا مجهول الهوية ولكنه مجهول الهوية. كان المستخدمون سريعين في التطوير الحلول لتجاوز هذا النقص. هناك حلان مباشران هما "خدمات غسيل الأموال" [2] و تطوير الطرق الموزعة [3، 4]. يعتمد كلا الحلين على فكرة الخلط العديد من المعاملات العامة وإرسالها من خلال عنوان وسيط؛ والتي بدورها يعاني من عيب الحاجة إلى طرف ثالث موثوق به. في الآونة الأخيرة، تم اقتراح مخطط أكثر إبداعًا بواسطة I. Miers et al. [28]: "زيروكوين". زيروكوين يستخدم مراكم التشفير أحادي الاتجاه وإثباتات المعرفة الصفرية التي تسمح للمستخدمين بذلك "تحويل" عملات البيتكوين إلى عملات صفرية وإنفاقها باستخدام إثبات ملكية مجهول بدلاً من ذلك التوقيعات الرقمية الصريحة القائمة على المفتاح العام. ومع ذلك، فإن مثل هذه البراهين المعرفة لها ثابت ولكن الحجم غير مناسب - حوالي 30 كيلو بايت (استنادًا إلى حدود Bitcoin اليوم)، مما يجعل الاقتراح غير عملي. يعترف المؤلفون أنه من غير المرجح أن يتم قبول البروتوكول من قبل الأغلبية Bitcoin المستخدمين [5]. 2.2 الدالة proof-of-work وصف منشئ Bitcoin ساتوشي ناكاموتو خوارزمية اتخاذ القرار بالأغلبية بأنها "صوت واحد لوحدة معالجة مركزية واحدة" واستخدم وظيفة تسعير مرتبطة بوحدة المعالجة المركزية (مزدوج SHA-256) لـ proof-of-work مخطط. نظرًا لأن المستخدمين يصوتون لصالح السجل الفردي لأمر المعاملات [1]، فإن المعقولية و إن اتساق هذه العملية هي شروط حاسمة للنظام بأكمله. يعاني أمان هذا النموذج من عيبين. أولاً، يتطلب 51% من الشبكة قوة التعدين لتكون تحت سيطرة المستخدمين الشرفاء. ثانيًا، تقدم النظام (إصلاحات الأخطاء، الإصلاحات الأمنية، وما إلى ذلك...) تتطلب من الغالبية العظمى من المستخدمين دعم والموافقة على التغييرات (يحدث هذا عندما يقوم المستخدمون بتحديث برنامج محفظتهم) [6].وأخيرًا نفس التصويت تُستخدم الآلية أيضًا للاستطلاعات الجماعية حول تنفيذ بعض الميزات [7]. وهذا يسمح لنا بتخمين الخصائص التي يجب أن يستوفيها proof-of-work وظيفة التسعير. يجب ألا تمكن هذه الوظيفة أحد المشاركين في الشبكة من الحصول على أهمية كبيرة ميزة على مشارك آخر؛ فهو يتطلب التكافؤ بين الأجهزة المشتركة وعالية تكلفة الأجهزة المخصصة. من الأمثلة الحديثة [8]، يمكننا أن نرى أن الدالة SHA-256 المستخدمة في بنية Bitcoin لا تمتلك هذه الخاصية حيث يصبح التعدين أكثر كفاءة على وحدات معالجة الرسومات وأجهزة ASIC عند مقارنتها بوحدات المعالجة المركزية المتطورة. ولذلك، فإن Bitcoin يخلق ظروفًا مواتية لوجود فجوة كبيرة بين قوة التصويت المشاركين لأنه ينتهك مبدأ "صوت واحد لوحدة المعالجة المركزية" نظرًا لأن مالكي GPU وASIC يمتلكونه قوة تصويت أكبر بكثير بالمقارنة مع أصحاب وحدة المعالجة المركزية. إنه مثال كلاسيكي على مبدأ باريتو حيث يتحكم 20% من المشاركين في النظام في أكثر من 80% من الأصوات. يمكن للمرء أن يجادل بأن عدم المساواة هذا ليس له صلة بأمن الشبكة لأنه ليس كذلك قلة عدد المشاركين الذين يتحكمون في أغلبية الأصوات ولكن صدقهم المشاركين ما يهم. ومع ذلك، فإن هذه الحجة معيبة إلى حد ما لأنها بالأحرى إمكانية ظهور أجهزة متخصصة رخيصة الثمن بدلاً من صدق المشاركين فيها يشكل تهديدا. ولتوضيح ذلك، دعونا نأخذ المثال التالي. لنفترض حاقدة يكتسب الفرد قوة تعدينية كبيرة من خلال إنشاء مزرعة تعدين خاصة به بسعر رخيص 2 يمكن تتبعها بشكل لا لبس فيه إلى أصل فريد والمستلم النهائي. حتى لو تبادل اثنان من المشاركين الأموال بطريقة غير مباشرة، فإن أسلوب تحديد المسار المصمم بشكل صحيح سوف يكشف عن مصدر الأموال وأسبابها المستلم النهائي . من المشكوك فيه أيضًا أن Bitcoin لا يلبي الخاصية الثانية. بعض الباحثين ذكر ([33، 35، 29، 31]) أن تحليل blockchain الدقيق قد يكشف عن وجود صلة بين مستخدمي شبكة Bitcoin ومعاملاتهم. على الرغم من وجود عدد من الأساليب دمن المشكوك فيه [25]، أنه من الممكن استخراج الكثير من المعلومات الشخصية المخفية من قاعدة بيانات عامة. يؤدي فشل Bitcoin في استيفاء الخاصيتين الموضحتين أعلاه إلى استنتاج أنه كذلك ليس نظامًا نقديًا إلكترونيًا مجهول الهوية ولكنه مجهول الهوية. كان المستخدمون سريعين في التطوير الحلول لتجاوز هذا النقص. هناك حلان مباشران هما "خدمات غسيل الأموال" [2] و تطوير الطرق الموزعة [3، 4]. يعتمد كلا الحلين على فكرة الخلط العديد من المعاملات العامة وإرسالها من خلال عنوان وسيط؛ والتي بدورها يعاني من عيب الحاجة إلى طرف ثالث موثوق به. في الآونة الأخيرة، تم اقتراح مخطط أكثر إبداعًا بواسطة I. Miers et al. [28]: "زيروكوين". زيروكوين يستخدم مراكم التشفير أحادي الاتجاه وإثباتات المعرفة الصفرية التي تسمح للمستخدمين بذلك "تحويل" عملات البيتكوين إلى عملات صفرية وإنفاقها باستخدام إثبات ملكية مجهول بدلاً من ذلك التوقيعات الرقمية الصريحة القائمة على المفتاح العام. ومع ذلك، فإن مثل هذه البراهين المعرفة لها ثابت ولكن الحجم غير مناسب - حوالي 30 كيلو بايت (استنادًا إلى حدود Bitcoin اليوم)، مما يجعل الاقتراح غير عملي. يعترف المؤلفون أنه من غير المرجح أن يتم قبول البروتوكول من قبل الأغلبية Bitcoin المستخدمين [5]. 2.2 الدالة proof-of-work وصف منشئ Bitcoin ساتوشي ناكاموتو خوارزمية اتخاذ القرار بالأغلبية بأنها "صوت واحد لوحدة المعالجة المركزية" واستخدم وظيفة تسعير مرتبطة بوحدة المعالجة المركزية (مزدوج SHA-256) لـ proof-of-work مخطط. نظرًا لأن المستخدمين يصوتون لصالح السجل الفردي لأمر المعاملات [1]، فإن المعقولية و إن اتساق هذه العملية هي شروط حاسمة للنظام بأكمله. يعاني أمان هذا النموذج من عيبين. أولاً، يتطلب 51% من الشبكة قوة التعدين لتكون تحت سيطرة المستخدمين الشرفاء. ثانيًا، تقدم النظام (إصلاحات الأخطاء، الإصلاحات الأمنية، وما إلى ذلك...) تتطلب من الغالبية العظمى من المستخدمين دعم والموافقة على التغييرات (يحدث هذا عندما يقوم المستخدمون بتحديث برنامج محفظتهم) [6].وأخيرًا نفس التصويت تُستخدم الآلية أيضًا للاستطلاعات الجماعية حول تنفيذ بعض الميزات [7]. وهذا يسمح لنا بتخمين الخصائص التي يجب أن يستوفيها proof-of-work وظيفة التسعير. يجب ألا تمكن هذه الوظيفة أحد المشاركين في الشبكة من الحصول على أهمية كبيرة ميزة على مشارك آخر؛ فهو يتطلب التكافؤ بين الأجهزة المشتركة وعالية تكلفة الأجهزة المخصصة. من الأمثلة الحديثة [8]، يمكننا أن نرى أن الدالة SHA-256 المستخدمة في بنية Bitcoin لا تمتلك هذه الخاصية حيث يصبح التعدين أكثر كفاءة على وحدات معالجة الرسومات وأجهزة ASIC عند مقارنتها بوحدات المعالجة المركزية المتطورة. ولذلك، فإن Bitcoin يخلق ظروفًا مواتية لوجود فجوة كبيرة بين قوة التصويت المشاركين لأنه ينتهك مبدأ "صوت واحد لوحدة المعالجة المركزية" نظرًا لأن مالكي GPU وASIC يمتلكونه قوة تصويت أكبر بكثير بالمقارنة مع أصحاب وحدة المعالجة المركزية. إنه مثال كلاسيكي على مبدأ باريتو حيث يتحكم 20% من المشاركين في النظام في أكثر من 80% من الأصوات. يمكن للمرء أن يجادل بأن عدم المساواة هذا ليس له صلة بأمن الشبكة لأنه ليس كذلك قلة عدد المشاركين الذين يتحكمون في أغلبية الأصوات ولكن صدقهم المشاركين ما يهم. ومع ذلك، فإن هذه الحجة معيبة إلى حد ما لأنها بالأحرى إمكانية ظهور أجهزة متخصصة رخيصة الثمن بدلاً من صدق المشاركين فيها يشكل تهديدا. ولتوضيح ذلك، دعونا نأخذ المثال التالي. لنفترض حاقدة يكتسب الفرد قوة تعدينية كبيرة من خلال إنشاء مزرعة تعدين خاصة به بسعر رخيص 2 التعليقات على الصفحة 2
CryptoNote Teknolojisi
Artık Bitcoin teknolojisinin sınırlamalarını ele aldığımıza göre, şu konulara odaklanacağız: CryptoNote'un özelliklerini sunuyor.
تقنية CryptoNote
الآن بعد أن قمنا بتغطية القيود المفروضة على تقنية Bitcoin، سنركز عليها تقديم ميزات CryptoNote.
Takip Edilemeyen İşlemler
Bu bölümde, hem izlenemezliği hem de koşulları karşılayan tamamen anonim işlemlere yönelik bir plan öneriyoruz.
ve bağlanamazlık koşulları. Çözümümüzün önemli bir özelliği özerkliğidir: gönderen
işlemlerini gerçekleştirmek için diğer kullanıcılarla veya güvenilir bir üçüncü tarafla işbirliği yapması gerekmemektedir;
dolayısıyla her katılımcı bağımsız olarak bir kapak trafiği üretir.
4.1
Literatür taraması
Planımız grup imzası adı verilen kriptografik temele dayanıyor. İlk kez sunulan
D. Chaum ve E. van Heyst [19], bir kullanıcının grup adına mesajını imzalamasına olanak tanır.
Kullanıcı mesajı imzaladıktan sonra (doğrulama amacıyla) kendi geneline ait değil
1Buna "yumuşak limit" denir; yeni bloklar oluşturmak için referans istemci kısıtlaması. Zor maksimum
olası blok boyutu 1 MB'tı
4
Gerektiğinde bunları kullanmak ana dezavantajlara neden olur. Maalesef ne zaman geleceğini tahmin etmek zor.
sabitlerin değiştirilmesi gerekebilir ve bunların değiştirilmesi korkunç sonuçlara yol açabilir.
Felaket sonuçlara yol açan sabit kodlanmış bir limit değişikliğine iyi bir örnek, bloktur.
boyut sınırı 250kb1 olarak ayarlandı. Bu limit yaklaşık 10.000 standart işlemi tutmaya yetiyordu. içinde
2013 yılının başında bu sınıra neredeyse ulaşıldı ve bu limitin artırılması konusunda anlaşmaya varıldı.
Sınır. Değişiklik cüzdan 0.8 sürümünde uygulandı ve 24 blokluk zincir bölünmesiyle sona erdi
ve başarılı bir çift harcama saldırısı [9]. Hata Bitcoin protokolünde olmasa da
bunun yerine veritabanı motorunda, eğer varsa basit bir stres testiyle kolayca yakalanabilirdi.
yapay olarak getirilmiş blok boyutu sınırı yoktur.
Sabitler ayrıca bir tür merkezileştirme noktası görevi görür.
Eşler arası doğasına rağmen
Bitcoin, düğümlerin büyük çoğunluğu tarafından geliştirilen resmi referans istemcisi [10] kullanılıyor
küçük bir grup insan. Bu grup protokolde değişiklik yapılmasına karar verir
ve çoğu insan bu değişiklikleri “doğruluklarına” bakılmaksızın kabul ediyor. Bazı kararlar neden oldu
hararetli tartışmalar ve hatta boykot çağrıları [11], bu da topluluğun ve
geliştiriciler bazı önemli noktalarda aynı fikirde olmayabilir. Bu nedenle bir protokole sahip olmak mantıklı görünüyor
Bu sorunları önlemenin olası bir yolu olarak kullanıcı tarafından yapılandırılabilen ve kendi kendini ayarlayan değişkenler kullanılır.
2.5
Hacimli komut dosyaları
Bitcoin'deki komut dosyası sistemi ağır ve karmaşık bir özelliktir. Potansiyel olarak kişinin yaratmasına izin verir
karmaşık işlemler [12], ancak güvenlik endişeleri nedeniyle bazı özellikleri devre dışı bırakıldı ve
bazıları hiç kullanılmamış bile [13]. Komut dosyası (hem gönderici hem de alıcı kısımları dahil)
Bitcoin'deki en popüler işlem için şuna benzer:
anahtar, ancak grubundaki tüm kullanıcıların anahtarları. Doğrulayıcının, gerçek imzalayanın bir kişi olduğuna ikna olması grubun üyesidir, ancak yalnızca imzalayanın kimliğini belirleyemez. Orijinal protokol, güvenilir bir üçüncü tarafa (Grup Yöneticisi adı verilen) ihtiyaç duyuyordu ve o da imzalayanın izini sürebilecek tek kişi. Halka imza adı verilen bir sonraki sürüm tanıtıldı Rivest ve diğerleri tarafından. [34]'da, Grup Yöneticisi olmayan ve anonimlik içermeyen özerk bir plandı iptal. Bu şemanın çeşitli modifikasyonları daha sonra ortaya çıktı: bağlanabilir halka imzası [26, 27, 17] iki imzanın aynı grup üyesi tarafından üretilip üretilmediğini belirlemeye izin verildi, izlenebilir halka imza [24, 23] imzalayanın izini sürme olanağı sağlayarak aşırı anonimliği sınırladı aynı meta bilgiye (veya [24] anlamında "etiket") ilişkin iki mesaj. Benzer bir kriptografik yapı aynı zamanda geçici grup imzası olarak da bilinir [16, 38]. o Grup/halka imza şemaları daha çok bir grup/halka imza şemasını ima ederken, keyfi grup oluşumunu vurgulamaktadır. sabit üye kümesi. Çözümümüz çoğunlukla E. Fujisaki'nin "İzlenebilir halka imzası" çalışmasına dayanmaktadır. ve K. Suzuki [24]. Orijinal algoritmayı ve yaptığımız değişikliği ayırt etmek için ikincisini tek seferlik zil imzası olarak adlandırın ve kullanıcının yalnızca bir geçerli zil sesi üretme yeteneğini vurgulayın özel anahtarının altına imza atar. İzlenebilirlik özelliğini zayıflattık ve bağlanabilirliği koruduk yalnızca tek seferliklik sağlamak için: genel anahtar birçok yabancı doğrulama setinde görünebilir ve özel anahtar benzersiz bir anonim imza oluşturmak için kullanılabilir. Çift harcama durumunda Bu iki imza birbirine bağlanacaktır ancak imzalayanın açıklanmasına gerek yoktur bizim amaçlarımız için. 4.2 Tanımlar 4.2.1 Eliptik eğri parametreleri Temel imza algoritmamız olarak, geliştirilen ve geliştirilen hızlı EdDSA şemasını kullanmayı seçtik. D.J. tarafından uygulandı. Bernstein ve ark. [18]. Bitcoin'nin ECDSA'sı gibi eliptik eğriyi temel alır ayrık logaritma problemi olduğundan, şemamız gelecekte Bitcoin'ye de uygulanabilir. Ortak parametreler şunlardır: q: bir asal sayı; q = 2255 −19; d: Fq'nun bir elemanı; d = −121665/121666; E: eliptik bir eğri denklemi; −x2 + y2 = 1 + dx2y2; G: bir taban noktası; G = (x, −4/5); l: taban noktasının asal sırası; l = 2252 + 27742317777372353535851937790883648493; \(H_s\): kriptografik bir hash işlevi \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): deterministik bir hash fonksiyonu \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 Terminoloji Gelişmiş gizlilik, Bitcoin varlıklarla karıştırılmaması gereken yeni bir terminoloji gerektirir. özel ec-anahtarı standart bir eliptik eğri özel anahtarıdır: bir sayı \(a \in [1, l - 1]\); genel ec-anahtarı standart bir eliptik eğridir genel anahtar: bir nokta A = aG; tek kullanımlık anahtar çifti, bir çift özel ve genel ec anahtarıdır; 5 anahtar, ancak grubundaki tüm kullanıcıların anahtarları. Doğrulayıcının, gerçek imzalayanın bir kişi olduğuna ikna olması grubun üyesidir, ancak yalnızca imzalayanın kimliğini belirleyemez. Orijinal protokol, güvenilir bir üçüncü tarafa (Grup Yöneticisi adı verilen) ihtiyaç duyuyordu ve o da imzalayanın izini sürebilecek tek kişi. Halka imza adı verilen bir sonraki sürüm tanıtıldı Rivest ve diğerleri tarafından. [34]'da, Grup Yöneticisi olmayan ve anonimlik içermeyen özerk bir plandı iptal. Bu şemanın çeşitli modifikasyonları daha sonra ortaya çıktı: bağlanabilir halka imzası [26, 27, 17] iki imzanın aynı grup üyesi tarafından üretilip üretilmediğini belirlemeye izin verildi, izlenebilir halka imza [24, 23] imzalayanın izini sürme olanağı sağlayarak aşırı anonimliği sınırladı aynı meta bilgiye (veya [24] anlamında "etiket") ilişkin iki mesaj. Benzer bir kriptografik yapı aynı zamanda geçici grup imzası olarak da bilinir [16, 38]. o Grup/halka imza şemaları daha çok bir grup/halka imza şemasını ima ederken, keyfi grup oluşumunu vurgulamaktadır. sabit üye kümesi. Çözümümüz çoğunlukla E. Fujisaki'nin "İzlenebilir halka imzası" çalışmasına dayanmaktadır. ve K. Suzuki [24]. Orijinal algoritmayı ve yaptığımız değişikliği ayırt etmek için ikincisini tek seferlik zil imzası olarak adlandırın ve kullanıcının yalnızca bir geçerli zil sesi üretme yeteneğini vurgulayın özel anahtarının altına imza atar. İzlenebilirlik özelliğini zayıflattık ve bağlanabilirliği koruduk yalnızca tek seferliklik sağlamak için: genel anahtar birçok yabancı doğrulama setinde görünebilir ve özel anahtar benzersiz bir anonim imza oluşturmak için kullanılabilir. Çift harcama durumunda Bu iki imza birbirine bağlanacaktır ancak imzalayanın açıklanmasına gerek yoktur bizim amaçlarımız için. 4.2 Tanımlar 4.2.1 Eliptik eğri parametreleri Temel imza algoritmamız olarak seçiyoruze geliştirilen ve geliştirilen hızlı EdDSA şemasını kullanmak D.J. tarafından uygulandı. Bernstein ve ark. [18]. Bitcoin'nin ECDSA'sı gibi eliptik eğriyi temel alır ayrık logaritma problemi olduğundan, şemamız gelecekte Bitcoin'ye de uygulanabilir. Ortak parametreler şunlardır: q: bir asal sayı; q = 2255 −19; d: Fq'nun bir elemanı; d = −121665/121666; E: eliptik bir eğri denklemi; −x2 + y2 = 1 + dx2y2; G: bir taban noktası; G = (x, −4/5); l: taban noktasının asal sırası; l = 2252 + 27742317777372353535851937790883648493; \(H_s\): kriptografik bir hash işlevi \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): deterministik bir hash fonksiyonu \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 Terminoloji Gelişmiş gizlilik, Bitcoin varlıklarla karıştırılmaması gereken yeni bir terminoloji gerektirir. özel ec-anahtarı standart bir eliptik eğri özel anahtarıdır: bir sayı \(a \in [1, l - 1]\); genel ec-anahtarı standart bir eliptik eğridir genel anahtar: bir nokta A = aG; tek kullanımlık anahtar çifti, bir çift özel ve genel ec anahtarıdır; 5 8 Yüzük imzası şu şekilde çalışır: Alex, işvereniyle ilgili bir mesajı WikiLeaks'e sızdırmak ister. Şirketindeki her çalışanın özel/genel anahtar çifti (Ri, Ui) vardır. O besteliyor girişi mesajı, m, özel anahtarı, Ri ve HERKE\(S'\)inki olarak ayarlanan imzası ortak anahtarlar, (Ui;i=1...n). Herkes (herhangi bir özel anahtar bilmeden) bunu kolayca doğrulayabilir İmzayı oluşturmak için bir çift (Rj, Uj) kullanılmış olmalı... çalışan biri Alex'in işvereni için... ama hangisi olabileceğini anlamak aslında rastgele bir tahmin. http://en.wikipedia.org/wiki/Ring_signature#Crypto-currencies http://link.springer.com/chapter/10.1007/3-540-45682-1_32#page-1 http://link.springer.com/chapter/10.1007/11424826_65 http://link.springer.com/chapter/10.1007/978-3-540-27800-9_28 http://link.springer.com/chapter/10.1007%2F11774716_9 Burada açıklanan bağlanabilir halka imzasının "bağlanamaz" ifadesinin tam tersi olduğuna dikkat edin. yukarıda açıklanmıştır. Burada iki mesajı yakalıyoruz ve aynı olup olmadığını belirleyebiliyoruz. taraf gönderdi, ancak yine de o tarafın kim olduğunu belirleyemeyiz.
Cryptonote'u oluşturmak için kullanılan "bağlanamaz" tanımı, Cryptonote'u oluşturup oluşturmadığımızı belirleyemeyeceğimiz anlamına gelir. onları aynı taraf alıyor. Dolayısıyla burada gerçekte olan DÖRT şeyin devam etmesidir. Bir sistem bağlanabilir veya gönderenin olup olmadığını belirlemenin mümkün olup olmadığına bağlı olarak bağlantı kurulamaz. iki mesaj aynıdır (bunun anonimliğin iptal edilmesini gerektirip gerektirmediğine bakılmaksızın). Ve bir sistemin mümkün olup olmamasına bağlı olarak bağlantısız veya bağlantısız olabilir. iki mesajın alıcısının aynı olup olmadığına karar verin (olup olmadığına bakılmaksızın) bu, anonimliğin iptal edilmesini gerektirir). Lütfen bu korkunç terminoloji için beni suçlamayın. Grafik teorisyenleri muhtemelen memnun oldum. Bazılarınız "alıcıya bağlanabilirlik" yerine "göndere bağlanabilirlik" konusunda daha rahat olabilir. http://link.springer.com/chapter/10.1007/978-3-540-71677-8_13 Bunu okuduğumda bu aptalca bir özellik gibi geldi. Daha sonra bunun bir özellik olabileceğini okudum. elektronik oylama ve bu mantıklı görünüyordu. Bu açıdan bakınca çok hoş. Ama ben izlenebilir halka imzaların bilinçli olarak uygulanması konusunda tam olarak emin değilim. http://search.ieice.org/bin/summary.php?id=e95-a_1_151
anahtar, ancak grubundaki tüm kullanıcıların anahtarları. Doğrulayıcının, gerçek imzalayanın bir kişi olduğuna ikna olması grubun üyesidir, ancak yalnızca imzalayanın kimliğini belirleyemez. Orijinal protokol, güvenilir bir üçüncü tarafa (Grup Yöneticisi adı verilen) ihtiyaç duyuyordu ve o da imzalayanın izini sürebilecek tek kişi. Halka imza adı verilen bir sonraki sürüm tanıtıldı Rivest ve diğerleri tarafından. [34]'de, Grup Yöneticisi olmayan ve anonimlik içermeyen özerk bir plandı iptal. Bu şemanın çeşitli modifikasyonları daha sonra ortaya çıktı: bağlanabilir halka imzası [26, 27, 17] iki imzanın aynı grup üyesi tarafından üretilip üretilmediğini belirlemeye izin verildi, izlenebilir halka imza [24, 23] imzalayanın izini sürme olanağı sağlayarak aşırı anonimliği sınırladı aynı meta bilgiye (veya [24] anlamında "etiket") ilişkin iki mesaj. Benzer bir kriptografik yapı aynı zamanda geçici grup imzası olarak da bilinir [16, 38]. o Grup/halka imza şemaları daha çok bir grup/halka imza şemasını ima ederken, keyfi grup oluşumunu vurgulamaktadır. sabit üye kümesi. Çözümümüz çoğunlukla E. Fujisaki'nin "İzlenebilir halka imzası" çalışmasına dayanmaktadır. ve K. Suzuki [24]. Orijinal algoritmayı ve yaptığımız değişikliği ayırt etmek için ikincisini tek seferlik zil imzası olarak adlandırın ve kullanıcının yalnızca bir geçerli zil sesi üretme yeteneğini vurgulayın özel anahtarının altına imza atar. İzlenebilirlik özelliğini zayıflattık ve bağlanabilirliği koruduk yalnızca tek seferliklik sağlamak için: genel anahtar birçok yabancı doğrulama setinde görünebilir ve özel anahtar benzersiz bir anonim imza oluşturmak için kullanılabilir. Çift harcama durumunda Bu iki imza birbirine bağlanacaktır ancak imzalayanın açıklanmasına gerek yoktur bizim amaçlarımız için. 4.2 Tanımlar 4.2.1 Eliptik eğri parametreleri Temel imza algoritmamız olarak, geliştirilen ve geliştirilen hızlı EdDSA şemasını kullanmayı seçtik. D.J. tarafından uygulandı. Bernstein ve ark. [18]. Bitcoin'nin ECDSA'sı gibi eliptik eğriyi temel alır ayrık logaritma problemi olduğundan, şemamız gelecekte Bitcoin'ye de uygulanabilir. Ortak parametreler şunlardır: q: bir asal sayı; q = 2255 −19; d: Fq'nun bir elemanı; d = −121665/121666; E: eliptik bir eğri denklemi; −x2 + y2 = 1 + dx2y2; G: bir taban noktası; G = (x, −4/5); l: taban noktasının asal sırası; l = 2252 + 27742317777372353535851937790883648493; \(H_s\): kriptografik bir hash işlevi \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): deterministik bir hash fonksiyonu \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 Terminoloji Gelişmiş gizlilik, Bitcoin varlıklarla karıştırılmaması gereken yeni bir terminoloji gerektirir. özel ec-anahtarı standart bir eliptik eğri özel anahtarıdır: bir sayı \(a \in [1, l - 1]\); genel ec-anahtarı standart bir eliptik eğridir genel anahtar: bir nokta A = aG; tek kullanımlık anahtar çifti, bir çift özel ve genel ec anahtarıdır; 5 anahtar, ancak grubundaki tüm kullanıcıların anahtarları. Doğrulayıcının, gerçek imzalayanın bir kişi olduğuna ikna olması grubun üyesidir, ancak yalnızca imzalayanın kimliğini belirleyemez. Orijinal protokol, güvenilir bir üçüncü tarafa (Grup Yöneticisi adı verilen) ihtiyaç duyuyordu ve o da imzalayanın izini sürebilecek tek kişi. Halka imza adı verilen bir sonraki sürüm tanıtıldı Rivest ve diğerleri tarafından. [34]'de, Grup Yöneticisi olmayan ve anonimlik içermeyen özerk bir plandı iptal. Bu şemanın çeşitli modifikasyonları daha sonra ortaya çıktı: bağlanabilir halka imzası [26, 27, 17] iki imzanın aynı grup üyesi tarafından üretilip üretilmediğini belirlemeye izin verildi, izlenebilir halka imza [24, 23] imzalayanın izini sürme olanağı sağlayarak aşırı anonimliği sınırladı aynı meta bilgiye (veya [24] anlamında "etiket") ilişkin iki mesaj. Benzer bir kriptografik yapı aynı zamanda geçici grup imzası olarak da bilinir [16, 38]. o Grup/halka imza şemaları daha çok bir grup/halka imza şemasını ima ederken, keyfi grup oluşumunu vurgulamaktadır. sabit üye kümesi. Çözümümüz çoğunlukla E. Fujisaki'nin "İzlenebilir halka imzası" çalışmasına dayanmaktadır. ve K. Suzuki [24]. Orijinal algoritmayı ve yaptığımız değişikliği ayırt etmek için ikincisini tek seferlik zil imzası olarak adlandırın ve kullanıcının yalnızca bir geçerli zil sesi üretme yeteneğini vurgulayın özel anahtarının altına imza atar. İzlenebilirlik özelliğini zayıflattık ve bağlanabilirliği koruduk yalnızca tek seferliklik sağlamak için: genel anahtar birçok yabancı doğrulama setinde görünebilir ve özel anahtar benzersiz bir anonim imza oluşturmak için kullanılabilir. Çift harcama durumunda Bu iki imza birbirine bağlanacaktır ancak imzalayanın açıklanmasına gerek yoktur bizim amaçlarımız için. 4.2 Tanımlar 4.2.1 Eliptik eğri parametreleri Temel imza algoritmamız olarak seçiyoruze geliştirilen ve geliştirilen hızlı EdDSA şemasını kullanmak D.J. tarafından uygulandı. Bernstein ve ark. [18]. Bitcoin'nın ECDSA'sı gibi eliptik eğriyi temel alır ayrık logaritma problemi olduğundan, şemamız gelecekte Bitcoin'ye de uygulanabilir. Ortak parametreler şunlardır: q: bir asal sayı; q = 2255 −19; d: Fq'nun bir elemanı; d = −121665/121666; E: eliptik bir eğri denklemi; −x2 + y2 = 1 + dx2y2; G: bir taban noktası; G = (x, −4/5); l: taban noktasının asal sırası; l = 2252 + 27742317777372353535851937790883648493; \(H_s\): kriptografik bir hash işlevi \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): deterministik bir hash fonksiyonu \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 Terminoloji Gelişmiş gizlilik, Bitcoin varlıklarla karıştırılmaması gereken yeni bir terminoloji gerektirir. özel ec-anahtarı standart bir eliptik eğri özel anahtarıdır: bir sayı \(a \in [1, l - 1]\); genel ec-anahtarı standart bir eliptik eğridir genel anahtar: bir nokta A = aG; tek kullanımlık anahtar çifti, bir çift özel ve genel ec anahtarıdır; 5 9 Tanrım, bu teknik incelemenin yazarı bunu kesinlikle daha iyi ifade edebilirdi! Diyelim ki bir Çalışanların sahibi olduğu şirket, belirli yeni ürünleri satın alıp almama konusunda oylama yapmak istiyor varlıklardır ve Alex ve Brenda'nın ikisi de çalışandır. Şirket her çalışana bir "Öneri A'ya evet oyu veriyorum!" gibi bir mesaj "sorun" meta bilgisine sahip olan [PROP A] ve eğer teklifi destekliyorlarsa izlenebilir bir yüzük imzasıyla imzalamalarını istiyor. Dürüst olmayan bir çalışan, geleneksel zil sesi imzasını kullanarak mesajı birden çok kez imzalayabilir. muhtemelen farklı nonce'lerle, istedikleri kadar oy verebilmek için. diğer tarafta izlenebilir bir halka imza şemasında Alex oy kullanmaya gidecek ve onun özel anahtarı [PROP A] sorunu üzerinde kullanıldı. Alex "Ben, Brenda, onaylıyorum" gibi bir mesajı imzalamaya çalışırsa A önermesi!" Brenda'yı "çerçevelemek" ve çifte oylama yapmak için, bu yeni mesaj aynı zamanda sorunu da çözecek [PROP A]. Alex'in özel anahtarı zaten [PROP A] sorununu tetiklediği için Alex'in kimliği dolandırıcılık olduğu hemen ortaya çıkacaktır. Kabul et ki bu oldukça havalı! Kriptografi oy eşitliğini zorunlu kıldı. http://link.springer.com/chapter/10.1007/978-3-540-71677-8_13 Bu makale ilginçtir, esas olarak geçici bir halka imzası oluşturur, ancak bu imzalardan herhangi birini içermez. diğer katılımcının onayı. İmzanın yapısı farklı olabilir; kazmadım derin ve güvenli olup olmadığını görmedim. https://people.csail.mit.edu/rivest/AdidaHohenbergerRivest-AdHocGroupSignaturesFromHijackedKeypai Geçici grup imzaları şunlardır: grubu olmayan grup imzaları olan halka imzalar yöneticiler, merkezileştirme yok, ancak geçici bir gruptaki bir üyenin kanıtlanabilir bir şekilde şunu iddia etmesine izin veriyor: grup adına isimsiz imzayı vermiştir/vermemiştir. http://link.springer.com/chapter/10.1007/11908739_9 Anladığım kadarıyla bu pek doğru değil. Ve anlayışım muhtemelen değişecek Bu projenin derinliklerine iniyorum. Ama benim anladığım kadarıyla hiyerarşi şöyle görünüyor. Grup imzaları: grup yöneticileri izlenebilirliği ve üye ekleme veya çıkarma yeteneğini kontrol eder imzacı olmaktan. Ring işaretleri: Grup yöneticisi olmadan keyfi grup oluşumu. Anonimliğin iptali yok. Belirli bir imzayı reddetmenin hiçbir yolu yoktur. İzlenebilir ve bağlanabilir halkalı imzalar, anonimlik bir şekilde ölçeklenebilir. Geçici grup imzaları: halka imzalara benzer ancak üyeler kendilerinin oluşturmadığını kanıtlayabilir özel bir imza. Gruptaki herhangi biri imza atabildiğinde bu önemlidir. http://link.springer.com/chapter/10.1007/978-3-540-71677-8_13 Fujisaki ve Suzuki'nin algoritması daha sonra yazar tarafından tek seferliklik sağlayacak şekilde ayarlandı. Yani Fujisaki ve Suzuki’nin algoritmasını yeni algoritmayla eş zamanlı olarak analiz edeceğiz. burada üzerinden geçmek yerine.
anahtar, ancak grubundaki tüm kullanıcıların anahtarları. Doğrulayıcının, gerçek imzalayanın bir kişi olduğuna ikna olması grubun üyesidir, ancak yalnızca imzalayanın kimliğini belirleyemez. Orijinal protokol, güvenilir bir üçüncü tarafa (Grup Yöneticisi adı verilen) ihtiyaç duyuyordu ve o da imzalayanın izini sürebilecek tek kişi. Halka imza adı verilen bir sonraki sürüm tanıtıldı Rivest ve diğerleri tarafından. [34]'de, Grup Yöneticisi olmayan ve anonimlik içermeyen özerk bir plandı iptal. Bu şemanın çeşitli modifikasyonları daha sonra ortaya çıktı: bağlanabilir halka imzası [26, 27, 17] iki imzanın aynı grup üyesi tarafından üretilip üretilmediğini belirlemeye izin verildi, izlenebilir halka imza [24, 23] imzalayanın izini sürme olanağı sağlayarak aşırı anonimliği sınırladı aynı meta bilgiye (veya [24] anlamında "etiket") ilişkin iki mesaj. Benzer bir kriptografik yapı aynı zamanda geçici grup imzası olarak da bilinir [16, 38]. o Grup/halka imza şemaları daha çok bir grup/halka imza şemasını ima ederken, keyfi grup oluşumunu vurgulamaktadır. sabit üye kümesi. Çözümümüz çoğunlukla E. Fujisaki'nin "İzlenebilir halka imzası" çalışmasına dayanmaktadır. ve K. Suzuki [24]. Orijinal algoritmayı ve yaptığımız değişikliği ayırt etmek için ikincisini tek seferlik zil imzası olarak adlandırın ve kullanıcının yalnızca bir geçerli zil sesi üretme yeteneğini vurgulayın özel anahtarının altına imza atar. İzlenebilirlik özelliğini zayıflattık ve bağlanabilirliği koruduk yalnızca tek seferliklik sağlamak için: genel anahtar birçok yabancı doğrulama setinde görünebilir ve özel anahtar benzersiz bir anonim imza oluşturmak için kullanılabilir. Çift harcama durumunda Bu iki imza birbirine bağlanacaktır ancak imzalayanın açıklanmasına gerek yoktur bizim amaçlarımız için. 4.2 Tanımlar 4.2.1 Eliptik eğri parametreleri Temel imza algoritmamız olarak, geliştirilen ve geliştirilen hızlı EdDSA şemasını kullanmayı seçtik. D.J. tarafından uygulandı. Bernstein ve ark. [18]. Bitcoin'nun ECDSA'sı gibi eliptik eğriye dayanmaktadır ayrık logaritma problemi olduğundan, şemamız gelecekte Bitcoin'ye de uygulanabilir. Ortak parametreler şunlardır: q: bir asal sayı; q = 2255 −19; d: Fq'nun bir elemanı; d = −121665/121666; E: eliptik bir eğri denklemi; −x2 + y2 = 1 + dx2y2; G: bir taban noktası; G = (x, −4/5); l: taban noktasının asal sırası; l = 2252 + 27742317777372353535851937790883648493; \(H_s\): kriptografik bir hash işlevi \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): deterministik bir hash fonksiyonu \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 Terminoloji Gelişmiş gizlilik, Bitcoin varlıklarla karıştırılmaması gereken yeni bir terminoloji gerektirir. özel ec-anahtarı standart bir eliptik eğri özel anahtarıdır: bir sayı \(a \in [1, l - 1]\); genel ec-anahtarı standart bir eliptik eğridir genel anahtar: bir nokta A = aG; tek kullanımlık anahtar çifti, bir çift özel ve genel ec anahtarıdır; 5 anahtar, ancak grubundaki tüm kullanıcıların anahtarları. Doğrulayıcının, gerçek imzalayanın bir kişi olduğuna ikna olması grubun üyesidir, ancak yalnızca imzalayanın kimliğini belirleyemez. Orijinal protokol, güvenilir bir üçüncü tarafa (Grup Yöneticisi adı verilen) ihtiyaç duyuyordu ve o da imzalayanın izini sürebilecek tek kişi. Halka imza adı verilen bir sonraki sürüm tanıtıldı Rivest ve diğerleri tarafından. [34]'da, Grup Yöneticisi olmayan ve anonimlik içermeyen özerk bir plandı iptal. Bu şemanın çeşitli modifikasyonları daha sonra ortaya çıktı: bağlanabilir halka imzası [26, 27, 17] iki imzanın aynı grup üyesi tarafından üretilip üretilmediğini belirlemeye izin verildi, izlenebilir halka imza [24, 23] imzalayanın izini sürme olanağı sağlayarak aşırı anonimliği sınırladı aynı meta bilgiye (veya [24] anlamında "etiket") ilişkin iki mesaj. Benzer bir kriptografik yapı aynı zamanda geçici grup imzası olarak da bilinir [16, 38]. o Grup/halka imza şemaları daha çok bir grup/halka imza şemasını ima ederken, keyfi grup oluşumunu vurgulamaktadır. sabit üye kümesi. Çözümümüz çoğunlukla E. Fujisaki'nin "İzlenebilir halka imzası" çalışmasına dayanmaktadır. ve K. Suzuki [24]. Orijinal algoritmayı ve yaptığımız değişikliği ayırt etmek için ikincisini tek seferlik zil imzası olarak adlandırın ve kullanıcının yalnızca bir geçerli zil sesi üretme yeteneğini vurgulayın özel anahtarının altına imza atar. İzlenebilirlik özelliğini zayıflattık ve bağlanabilirliği koruduk yalnızca tek seferliklik sağlamak için: genel anahtar birçok yabancı doğrulama setinde görünebilir ve özel anahtar benzersiz bir anonim imza oluşturmak için kullanılabilir. Çift harcama durumunda Bu iki imza birbirine bağlanacaktır ancak imzalayanın açıklanmasına gerek yoktur bizim amaçlarımız için. 4.2 Tanımlar 4.2.1 Eliptik eğri parametreleri Temel imza algoritmamız olarak seçiyoruze geliştirilen ve geliştirilen hızlı EdDSA şemasını kullanmak D.J. tarafından uygulandı. Bernstein ve ark. [18]. Bitcoin'nin ECDSA'sı gibi eliptik eğriyi temel alır ayrık logaritma problemi olduğundan, şemamız gelecekte Bitcoin'ye de uygulanabilir. Ortak parametreler şunlardır: q: bir asal sayı; q = 2255 −19; d: Fq'nun bir elemanı; d = −121665/121666; E: eliptik bir eğri denklemi; −x2 + y2 = 1 + dx2y2; G: bir taban noktası; G = (x, −4/5); l: taban noktasının asal sırası; l = 2252 + 27742317777372353535851937790883648493; \(H_s\): kriptografik bir hash işlevi \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): deterministik bir hash fonksiyonu \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 Terminoloji Gelişmiş gizlilik, Bitcoin varlıklarla karıştırılmaması gereken yeni bir terminoloji gerektirir. özel ec-anahtarı standart bir eliptik eğri özel anahtarıdır: bir sayı \(a \in [1, l - 1]\); genel ec-anahtarı standart bir eliptik eğridir genel anahtar: bir nokta A = aG; tek kullanımlık anahtar çifti, bir çift özel ve genel ec anahtarıdır; 5 10 "Bağlanabilir halka imzaları" anlamındaki bağlanabilirlik, kaynağın kim olduğunu açıklamadan, giden iki işlemin aynı kaynaktan gelip gelmediğini söyleyebilmemiz anlamına gelir. Yazarlar zayıfladı (a) gizliliği korumak, ancak yine de (b) özel anahtar kullanarak herhangi bir işlemi tespit etmek için bağlanabilirlik ikinci kez geçersiz. Tamam, bu bir olaylar sırası sorusudur. Aşağıdaki senaryoyu düşünün. Benim madenciliğim bilgisayar geçerli blockchain numarasına sahip olacak, çağırdığı kendi işlem bloğuna sahip olacak meşru, bir proof-of-work bulmacasındaki o blok üzerinde çalışacak ve Bir sonraki bloğa eklenecek bekleyen işlemlerin listesi. Ayrıca yenilerini de gönderecek işlemleri bekleyen işlemler havuzuna aktarır. Bir sonraki bloğu çözemezsem ama başkası bunu yaparsa blockchain dosyasının güncellenmiş bir kopyasını alırım. Üzerinde çalıştığım blok ve bekleyen işlemler listemin her ikisinde de şu anda dahil edilmiş bazı işlemler bulunabilir blockchain içine. Bekleyen bloğumu çöz, bunu bekleyen işlemler listemle birleştir ve buna çağrı yap bekleyen işlemler havuzum. Şu anda resmi olarak blockchain içinde bulunanları kaldırın. Şimdi ne yapacağım? İlk önce "tüm çift harcamaları kaldırmalı mıyım"? diğer tarafta Öte yandan, listede arama yapıp her özel anahtarın henüz değiştirilmediğinden emin olmalı mıyım? kullanılmış ve listemde zaten kullanılmışsa, ilk kopyayı ilk ben aldım ve dolayısıyla bundan sonraki herhangi bir kopya gayri meşrudur. Böylece ilkinden sonra tüm örnekleri silmeye devam ediyorum. aynı özel anahtardan. Cebirsel geometri hiçbir zaman bana göre bir güç olmadı. http://en.wikipedia.org/wiki/EdDSA Bu kadar hız, çok vay be. BU kazanmaya yönelik cebirsel geometridir. Hiçbir şey bildiğimden değil bu konuda. Sorunlu olsun veya olmasın, ayrık günlükler çok hızlı hale geliyor. Ve kuantum bilgisayarlar onları yiyor kahvaltı için. http://link.springer.com/article/10.1007/s13389-012-0027-1 Bu gerçekten önemli bir sayı haline geliyor, ancak nasıl olduğuna dair hiçbir açıklama veya alıntı yok. seçildi. Bilinen tek bir büyük asal sayıyı seçmek yeterli olacaktır, ancak eğer bilinenler varsa seçimimizi etkileyebilecek bu büyük asal sayı hakkındaki gerçekler. Kripto notun farklı çeşitleri farklı değerler seçilebilir eh, ama bu yazıda bunun nasıl olduğuna dair bir tartışma yok. seçim, sayfa 5'te listelenen diğer küresel parametrelere ilişkin seçimlerimizi etkileyecektir. Bu yazının parametre değerlerinin seçimiyle ilgili bir bölüme ihtiyacı var.
özel kullanıcı anahtarı iki farklı özel ec anahtarından oluşan bir (a, b) çiftidir; izleme anahtarı, özel ve genel ec anahtarının bir çiftidir (a, B) (burada B = bG ve a̸= b); genel kullanıcı anahtarı, (a, b)'den türetilen iki genel ec anahtarının (A, B) çiftidir; standart adres, insan dostu dizeye verilen genel kullanıcı anahtarının bir temsilidir hata düzeltme ile; kısaltılmış adres, verilen genel kullanıcı anahtarının ikinci yarısının (B noktası) temsilidir hata düzeltmeyle insan dostu dizeye dönüştürülür. İşlem yapısı Bitcoin'deki yapıya benzer kalır: her kullanıcı seçebilir birkaç bağımsız gelen ödeme (işlem çıktıları), bunları ilgili imzalarla imzalayın özel anahtarlar ve bunları farklı hedeflere gönderin. Kullanıcının benzersiz özel ve genel anahtara sahip olduğu Bitcoin modelinin aksine, Önerilen modelde gönderici, alıcının adresine dayalı olarak tek seferlik bir genel anahtar üretir ve bazı rastgele veriler. Bu anlamda aynı alıcıya gelen bir işlem, tek kullanımlık genel anahtar (doğrudan benzersiz bir adrese değil) ve yalnızca alıcı bu anahtarı kurtarabilir fonlarını kullanmak için karşılık gelen özel kısım (benzersiz özel anahtarını kullanarak). Alıcı şunları yapabilir: fonları bir yüzük imzası kullanarak, mülkiyetini ve fiili harcamalarını anonim tutarak harcayacaktır. Protokolün detayları sonraki alt bölümlerde açıklanmaktadır. 4.3 Bağlantısı kaldırılamayan ödemeler Klasik Bitcoin adresleri yayınlandıktan sonra gelenler için kesin bir tanımlayıcı haline gelir. ödemeleri birbirine bağlamak ve alıcının takma adlarına bağlamak. Birisi isterse “bağlantısız” bir işlem alıyorsa, göndericiye adresini özel bir kanaldan iletmesi gerekir. Aynı sahibine ait olduğu kanıtlanamayan farklı işlemleri almak istiyorsa tüm farklı adresleri oluşturmalı ve bunları asla kendi takma adıyla yayınlamamalıdır. halka açık Özel Alice Carol Bob'un adresi 1 Bob'un adresi 2 Bob'un anahtarı 1 Bob'un anahtarı 2 Bob Şekil 2. Geleneksel Bitcoin anahtarlar/işlemler modeli. Kullanıcının tek bir adres yayınlamasına ve koşulsuz olarak almasına olanak tanıyan bir çözüm öneriyoruz bağlantısız ödemeler Her CryptoNote çıkışının hedefi (varsayılan olarak) bir genel anahtardır, alıcının adresinden ve gönderenin rastgele verilerinden elde edilir. Bitcoin'a karşı ana avantaj her hedef anahtarın varsayılan olarak benzersiz olmasıdır (gönderen her anahtar için aynı verileri kullanmadığı sürece) işlemlerinin aynı alıcıya yapılması). Dolayısıyla “adresin yeniden kullanılması” gibi bir sorun söz konusu değildir. tasarım ve hiçbir gözlemci herhangi bir işlemin belirli bir adrese veya bağlantıya gönderilip gönderilmediğini belirleyemez iki adres bir arada. 6 özel kullanıcı anahtarı iki farklı özel ec anahtarından oluşan bir (a, b) çiftidir; izleme anahtarı, özel ve genel ec anahtarının bir çiftidir (a, B) (burada B = bG ve a̸= b); genel kullanıcı anahtarı, (a, b)'den türetilen iki genel ec anahtarının (A, B) çiftidir; standart adres, insan dostu dizeye verilen genel kullanıcı anahtarının bir temsilidir hata düzeltme ile; kısaltılmış adres, verilen genel kullanıcı anahtarının ikinci yarısının (B noktası) temsilidir hata düzeltmeyle insan dostu dizeye dönüştürülür. İşlem yapısı Bitcoin'deki yapıya benzer kalır: her kullanıcı seçebilir birkaç bağımsız gelen ödeme (işlem çıktıları), bunları ilgili imzalarla imzalayın özel anahtarlar ve bunları farklı hedeflere gönderin. Kullanıcının benzersiz özel ve genel anahtara sahip olduğu Bitcoin modelinin aksine, Önerilen modelde gönderici, alıcının adresine dayalı olarak tek seferlik bir genel anahtar üretir ve bazı rastgele veriler. Bu anlamda aynı alıcıya gelen bir işlem, tek kullanımlık genel anahtar (doğrudan benzersiz bir adrese değil) ve yalnızca alıcı bu anahtarı kurtarabilir fonlarını kullanmak için karşılık gelen özel kısım (benzersiz özel anahtarını kullanarak). Alıcı şunları yapabilir: fonları bir yüzük imzası kullanarak, mülkiyetini ve fiili harcamalarını anonim tutarak harcayacaktır. Protokolün detayları sonraki alt bölümlerde açıklanmaktadır. 4.3 Bağlantısı kaldırılamayan ödemeler Klasik Bitcoin adresleri yayınlandıktan sonra gelenler için kesin bir tanımlayıcı haline gelir. ödemeleri birbirine bağlamak ve alıcının takma adlarına bağlamak. Birisi isterse “bağlantısız” bir işlem alıyorsa, göndericiye adresini özel bir kanaldan iletmesi gerekir. Aynı sahibine ait olduğu kanıtlanamayan farklı işlemleri almak istiyorsa tüm farklı adresleri oluşturmalı ve bunları asla kendi takma adıyla yayınlamamalıdır. halka açık Özel Alice Carol Bob'un adresi 1 Bob'un adresi 2 Bob'un anahtarı 1 Bob'un anahtarı 2 Bob Şekil 2. Geleneksel Bitcoin anahtarlar/işlemler moduel. Kullanıcının tek bir adres yayınlamasına ve koşulsuz olarak almasına olanak tanıyan bir çözüm öneriyoruz bağlantısız ödemeler Her CryptoNote çıkışının hedefi (varsayılan olarak) bir genel anahtardır, alıcının adresinden ve gönderenin rastgele verilerinden elde edilir. Bitcoin'ye karşı ana avantaj her hedef anahtarın varsayılan olarak benzersiz olmasıdır (gönderen her anahtar için aynı verileri kullanmadığı sürece) işlemlerinin aynı alıcıya yapılması). Dolayısıyla “adresin yeniden kullanılması” gibi bir sorun söz konusu değildir. tasarım ve hiçbir gözlemci herhangi bir işlemin belirli bir adrese veya bağlantıya gönderilip gönderilmediğini belirleyemez iki adres bir arada. 6 11 Yani bu Bitcoin gibi, ancak sonsuz, anonim Posta Kutuları var, yalnızca alıcı tarafından kullanılabilecek Bir halka imzasının olabileceği kadar anonim olan özel bir anahtar oluşturmak. Bitcoin bu şekilde çalışır. Eğer Alex'in Frank'ten yeni aldığı cüzdanında 0,112 Bitcoin varsa, gerçekten imzalı bir parası var demektir "Ben, [FRANK], 0.112 Bitcoin'yi [alex] + H0 + N0'a gönder" mesajı burada 1) Frank imzaladı özel anahtarıyla [FRANK] mesaj attı, 2) Frank mesajı Alex'in herkese açık anahtarıyla imzaladı anahtar, [alex], 3) Frank Bitcoin'in geçmişinin bir kısmını dahil etti, H0 ve 4) Frank nonce, N0 adı verilen rastgele bir veri biti içerir. Alex daha sonra Charlene'e 0,011 Bitcoin göndermek isterse Frank'in mesajını alacak ve bunu H1'e ayarlayacak ve iki mesaj imzalayacak: biri işlemi için, diğeri değişiklik için. H1= "Ben, [FRANK], 0,112 Bitcoin'yi [alex] + H0 + N'ye gönder" "I, [ALEX], 0,011 Bitcoin'yi gönder [charlene] + H1 + N1" "Ben, [ALEX], [alex] + H1 + N2'ye değişiklik olarak 0.101 Bitcoin gönder." Alex'in her iki mesajı da kendi özel anahtarıyla [ALEX] imzaladığı yer, Charlene'nin şifresini içeren ilk mesaj genel anahtar [charlene], Alex'in genel anahtarının [alex] bulunduğu ikinci mesaj ve geçmişleri ve bazıları rastgele oluşturulmuş nonces N1 ve N2'yi uygun şekilde oluşturur. Cryptonote şu şekilde çalışır: Alex'in Frank'ten yeni aldığı cüzdanında 0.112 Cryptonote varsa gerçekten imzalı bir parası var demektir. "Ben, [geçici bir gruptaki biri], [tek seferlik bir adrese] + H0'a 0.112 Cryptonote gönderiyorum + Hayır." Alex, özel anahtarını [ALEX] kontrol ederek bunun kendisine ait olduğunu keşfetti. Her geçen mesaj için [tek seferlik bir adres] ve eğer onu harcamak isterse bunu aşağıdaki şekilde. Paranın alıcısını seçiyor, belki de Charlene drone saldırılarına oy vermeye başlamıştır. Alex bunun yerine Brenda'ya para göndermek istiyor. Alex, Brenda'nın genel anahtarına (brenda) bakar, ve tek seferlik bir adres [ALEX+brenda] oluşturmak için kendi özel anahtarı olan [ALEX]'i kullanır. O daha sonra kriptonot kullanıcıları ağından rastgele bir C koleksiyonu seçer ve oluşturur bu geçici gruptan bir halka imzası. Geçmişimizi bir önceki mesaj olarak ayarladık, ekledik nonces ve her zamanki gibi devam edilsin mi? H1 = "Ben, [geçici bir gruptaki biri], [tek seferlik bir adrese] + H0'a 0.112 Cryptonote gönderiyorum + Hayır." "Ben, [C koleksiyonundan biri], [ALEX+brenda'dan tek seferlik adres yapımı] + H1 + N1'e 0,011 Cryptonote gönderiyorum" "Ben, [C koleksiyonundan biri], değişiklik olarak 0.101 Cryptonote'u [ALEX+alex'ten yapılan tek seferlik adres] + H1 + N2'ye gönderiyorum" Artık Alex ve Brenda, gelen tüm mesajları tek seferlik adresler için tarıyor. anahtarları kullanılarak oluşturulmuştur. Eğer herhangi bir şey bulurlarsa, o zaman bu mesaj kendilerine ait yepyeni bir mesajdır. kriptonot! Ve o zaman bile işlem yine de blockchain'ye ulaşacaktır. Eğer o adrese giren coinler suçlulardan, siyasi katkıda bulunanlardan veya komitelerden ve hesaplardan gönderildiği biliniyor bütçeleri kısıtlıysa (örn. zimmete para geçirme) veya bu paraların yeni sahibi bir hata yaparsa ve bu paraları sahibi olduğu bilinen paralarla ortak bir adrese, anonimlik oyununa gönderir Bitcoin'de yükseliş var.
özel kullanıcı anahtarı iki farklı özel ec anahtarından oluşan bir (a, b) çiftidir; izleme anahtarı, özel ve genel ec anahtarının bir çiftidir (a, B) (burada B = bG ve a̸= b); genel kullanıcı anahtarı, (a, b)'den türetilen iki genel ec anahtarının (A, B) çiftidir; standart adres, insan dostu dizeye verilen genel kullanıcı anahtarının bir temsilidir hata düzeltme ile; kısaltılmış adres, verilen genel kullanıcı anahtarının ikinci yarısının (B noktası) temsilidir hata düzeltmeyle insan dostu dizeye dönüştürülür. İşlem yapısı Bitcoin'deki yapıya benzer: her kullanıcı seçebilir birkaç bağımsız gelen ödeme (işlem çıktıları), bunları ilgili imzalarla imzalayın özel anahtarlar ve bunları farklı hedeflere gönderin. Kullanıcının benzersiz özel ve genel anahtara sahip olduğu Bitcoin modelinin aksine, Önerilen modelde gönderici, alıcının adresine dayalı olarak tek seferlik bir genel anahtar üretir ve bazı rastgele veriler. Bu anlamda aynı alıcıya gelen bir işlem, tek kullanımlık genel anahtar (doğrudan benzersiz bir adrese değil) ve yalnızca alıcı bu anahtarı kurtarabilir fonlarını kullanmak için karşılık gelen özel kısım (benzersiz özel anahtarını kullanarak). Alıcı şunları yapabilir: fonları bir yüzük imzası kullanarak, mülkiyetini ve fiili harcamalarını anonim tutarak harcayacaktır. Protokolün detayları sonraki alt bölümlerde açıklanmaktadır. 4.3 Bağlantısı kaldırılamayan ödemeler Klasik Bitcoin adresleri yayınlandıktan sonra gelenler için kesin bir tanımlayıcı haline gelir. ödemeleri birbirine bağlamak ve alıcının takma adlarına bağlamak. Birisi isterse “bağlantısız” bir işlem alıyorsa, göndericiye adresini özel bir kanaldan iletmesi gerekir. Aynı sahibine ait olduğu kanıtlanamayan farklı işlemleri almak istiyorsa tüm farklı adresleri oluşturmalı ve bunları asla kendi takma adıyla yayınlamamalıdır. halka açık Özel Alice Carol Bob'un adresi 1 Bob'un adresi 2 Bob'un anahtarı 1 Bob'un anahtarı 2 Bob Şekil 2. Geleneksel Bitcoin anahtarlar/işlemler modeli. Kullanıcının tek bir adres yayınlamasına ve koşulsuz olarak almasına olanak tanıyan bir çözüm öneriyoruz bağlantısız ödemeler Her CryptoNote çıkışının hedefi (varsayılan olarak) bir genel anahtardır, alıcının adresinden ve gönderenin rastgele verilerinden elde edilir. Bitcoin'ye karşı ana avantaj her hedef anahtarın varsayılan olarak benzersiz olmasıdır (gönderen her anahtar için aynı verileri kullanmadığı sürece) işlemlerinin aynı alıcıya yapılması). Dolayısıyla “adresin yeniden kullanılması” gibi bir sorun söz konusu değildir. tasarım ve hiçbir gözlemci herhangi bir işlemin belirli bir adrese veya bağlantıya gönderilip gönderilmediğini belirleyemez iki adres bir arada. 6 özel kullanıcı anahtarı iki farklı özel ec anahtarından oluşan bir (a, b) çiftidir; izleme anahtarı, özel ve genel ec anahtarının bir çiftidir (a, B) (burada B = bG ve a̸= b); genel kullanıcı anahtarı, (a, b)'den türetilen iki genel ec anahtarının (A, B) çiftidir; standart adres, insan dostu dizeye verilen genel kullanıcı anahtarının bir temsilidir hata düzeltme ile; kısaltılmış adres, verilen genel kullanıcı anahtarının ikinci yarısının (B noktası) temsilidir hata düzeltmeyle insan dostu dizeye dönüştürülür. İşlem yapısı Bitcoin'deki yapıya benzer kalır: her kullanıcı seçebilir birkaç bağımsız gelen ödeme (işlem çıktıları), bunları ilgili imzalarla imzalayın özel anahtarlar ve bunları farklı hedeflere gönderin. Kullanıcının benzersiz özel ve genel anahtara sahip olduğu Bitcoin modelinin aksine, Önerilen modelde gönderici, alıcının adresine dayalı olarak tek seferlik bir genel anahtar üretir ve bazı rastgele veriler. Bu anlamda aynı alıcıya gelen bir işlem, tek kullanımlık genel anahtar (doğrudan benzersiz bir adrese değil) ve yalnızca alıcı bu anahtarı kurtarabilir fonlarını kullanmak için karşılık gelen özel kısım (benzersiz özel anahtarını kullanarak). Alıcı şunları yapabilir: fonları bir yüzük imzası kullanarak, mülkiyetini ve fiili harcamalarını anonim tutarak harcayacaktır. Protokolün detayları sonraki alt bölümlerde açıklanmaktadır. 4.3 Bağlantısı kaldırılamayan ödemeler Klasik Bitcoin adresleri yayınlandıktan sonra gelenler için kesin bir tanımlayıcı haline gelir. ödemeleri birbirine bağlamak ve alıcının takma adlarına bağlamak. Birisi isterse “bağlantısız” bir işlem alıyorsa, göndericiye adresini özel bir kanaldan iletmesi gerekir. Aynı sahibine ait olduğu kanıtlanamayan farklı işlemleri almak istiyorsa tüm farklı adresleri oluşturmalı ve bunları asla kendi takma adıyla yayınlamamalıdır. halka açık Özel Alice Carol Bob'un adresi 1 Bob'un adresi 2 Bob'un anahtarı 1 Bob'un anahtarı 2 Bob Şekil 2. Geleneksel Bitcoin anahtarlar/işlemler moduel. Kullanıcının tek bir adres yayınlamasına ve koşulsuz olarak almasına olanak tanıyan bir çözüm öneriyoruz bağlantısız ödemeler Her CryptoNote çıkışının hedefi (varsayılan olarak) bir genel anahtardır, alıcının adresinden ve gönderenin rastgele verilerinden elde edilir. Bitcoin'ye karşı ana avantaj her hedef anahtarın varsayılan olarak benzersiz olmasıdır (gönderen her anahtar için aynı verileri kullanmadığı sürece) işlemlerinin aynı alıcıya yapılması). Dolayısıyla “adresin yeniden kullanılması” gibi bir sorun söz konusu değildir. tasarım ve hiçbir gözlemci herhangi bir işlemin belirli bir adrese veya bağlantıya gönderilip gönderilmediğini belirleyemez iki adres bir arada. 6 12 Bu nedenle, kullanıcıların adresten (aslında bir genel anahtardır) adrese para göndermesi yerine (başka bir genel anahtar) özel anahtarlarını kullanarak kullanıcılar tek kullanımlık posta kutusundan para gönderiyorlar (arkadaşlarınızın genel anahtarını kullanarak oluşturuyor) tek seferlik posta kutusuna (benzer şekilde) kendi özel anahtarlarınız. Bir anlamda "Tamam, herkes paranın üzerinden elini çeksin" diyoruz. etrafa transfer edildi! Anahtarlarımızın o kutuyu açabileceğini bilmek yeterli. Kutuda ne kadar para olduğunu biliyoruz. Hiçbir zaman parmak izlerinizi Posta Kutusunun veya onu gerçekten kullan, sadece nakit dolu kutuyu takas et. Bu şekilde kimin gönderdiğini bilmiyoruz ama bu halka açık konuşmaların içerikleri hala sürtünmesiz, takas edilebilir, bölünebilir ve Bitcoin gibi paranın arzu ettiğimiz tüm diğer güzel niteliklerine hâlâ sahibiz.” Sonsuz sayıda posta kutusu seti. Bir adres yayınlıyorsun, benim özel anahtarım var. Özel anahtarımı ve adresinizi kullanıyorum ve ortak anahtar oluşturmak için bazı rastgele veriler. Algoritma öyle tasarlanmıştır ki, adresiniz genel anahtarı oluşturmak için kullanıldı, yalnızca SİZİN özel anahtarınız kilidi açmak için çalışır mesaj. Bir gözlemci olan Eve, adresinizi yayınladığınızı ve duyurduğum genel anahtarı görüyor. Ancak, Genel anahtarımı sizin adresinize mi yoksa onun adresine mi, yoksa Brenda'ya mı dayanarak açıkladığımı bilmiyor ya da Charlene'ninki ya da her kimse. Özel anahtarını açıkladığım genel anahtarla karşılaştırıyor ve işe yaramadığını görüyor; bu onun parası değil. Başka kimsenin özel anahtarını bilmiyor ve mesajın kilidini açabilecek özel anahtar yalnızca mesajın alıcısına sahiptir. Yani kimse dinlemek, parayı kimin aldığını çok daha az belirleyebilir.
halka açık Özel Alice Carol Tek kullanımlık anahtar Tek kullanımlık anahtar Tek kullanımlık anahtar Bob Bob'un Anahtarı Bob'un Adresi Şekil 3. CryptoNote anahtarları/işlem modeli. İlk olarak gönderen, verilerinden paylaşılan bir sır elde etmek için bir Diffe-Hellman alışverişi gerçekleştirir ve alıcının adresinin yarısı. Daha sonra paylaşılan anahtarı kullanarak tek seferlik bir hedef anahtarı hesaplar. gizli ve adresin ikinci yarısı. Alıcıdan iki farklı ec-anahtarı isteniyor Bu iki adım için standart bir CryptoNote adresi, Bitcoin cüzdanının neredeyse iki katı büyüklüğündedir. adresi. Alıcı ayrıca karşılık gelen verileri kurtarmak için bir Diffe-Hellman değişimi gerçekleştirir. gizli anahtar. Standart bir işlem sırası şu şekildedir: 1. Alice, standart adresini yayınlayan Bob'a ödeme göndermek istiyor. O adresi açar ve Bob'un genel anahtarını (A, B) alır. 2. Alice rastgele bir \(r \in [1, l - 1]\) üretir ve bir kerelik genel anahtarı \(P = H_s(rA)G +\) hesaplar B. 3. Alice, çıktı için hedef anahtar olarak P'yi kullanır ve aynı zamanda R = rG değerini de paketler (bir parça olarak) Diffe-Hellman borsasının) işlemin bir yerinde. oluşturabileceğini unutmayın. benzersiz ortak anahtarlara sahip diğer çıktılar: farklı alıcıların anahtarları (Ai, Bi) farklı Pi anlamına gelir aynı r ile bile. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı R = rG P = Hs(rA)G + B Alıcının genel anahtar Gönderenin rastgele verileri r (A, B) Şekil 4. Standart işlem yapısı. 4. Alice işlemi gönderir. 5. Bob geçen her işlemi özel anahtarıyla (a, b) kontrol eder ve P ′ = değerini hesaplar Hs(aR)G + B. Alice'in alıcı olarak Bob'la yaptığı işlem bunların arasındaysa, o zaman aR = arG = rA ve P ′ = P. 7 halka açık Özel Alice Carol Tek kullanımlık anahtar Tek kullanımlık anahtar Tek kullanımlık anahtar Bob Bob'un Anahtarı Bob'un Adresi Şekil 3. CryptoNote anahtarları/işlem modeli. İlk olarak gönderen, verilerinden paylaşılan bir sır elde etmek için bir Diffe-Hellman alışverişi gerçekleştirir ve alıcının adresinin yarısı. Daha sonra paylaşılan anahtarı kullanarak tek seferlik bir hedef anahtarı hesaplar. gizli ve adresin ikinci yarısı. Alıcıdan iki farklı ec-anahtarı isteniyor bu iki adım için standart bir CryptoNote adresi, Bitcoin cüzdanının neredeyse iki katı kadardır. adresi. Alıcı ayrıca karşılık gelen verileri kurtarmak için bir Diffe-Hellman değişimi gerçekleştirir. gizli anahtar. Standart bir işlem sırası şu şekildedir: 1. Alice, standart adresini yayınlayan Bob'a ödeme göndermek istiyor. O adresi açar ve Bob'un genel anahtarını (A, B) alır. 2. Alice rastgele bir \(r \in [1, l - 1]\) üretir ve bir kerelik genel anahtarı \(P = H_s(rA)G +\) hesaplar B. 3. Alice, çıktı için hedef anahtar olarak P'yi kullanır ve aynı zamanda R = rG değerini de paketler (bir parça olarak) Diffe-Hellman borsasının) işlemin bir yerinde. oluşturabileceğini unutmayın. benzersiz ortak anahtarlara sahip diğer çıktılar: farklı alıcıların anahtarları (Ai, Bi) farklı Pi anlamına gelir aynı r ile bile. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı R = rG P = Hs(rA)G + B Alıcının genel anahtar Gönderenin rastgele verileri r (A, B) Şekil 4. Standart işlem yapısı. 4. Alice işlemi gönderir. 5. Bob geçen her işlemi özel anahtarıyla (a, b) kontrol eder ve P ′ = değerini hesaplar Hs(aR)G + B. Alice'in alıcı olarak Bob'la yaptığı işlem bunların arasındaysa, o zaman aR = arG = rA ve P ′ = P. 7 13 Kriptografi seçeneğini uygulamanın ne kadar büyük bir acı olacağını merak ediyorum. şeması. Eliptik veya başka türlü. Yani gelecekte bir plan bozulursa para birimi değişir endişelenmeden. Muhtemelen büyük bir baş ağrısı. Tamam, bu tam olarak önceki yorumumda açıkladığım şey. Diffe-Hellman tipi takaslar gayet düzgün. Alex ve Brenda'nın her birinin gizli bir numarası, A ve B'si ve bir numarası olduğunu varsayalım. sır saklamayı umursamıyorlar, a ve b. Paylaşılan bir sır oluşturmak istiyorlar Eva bunu keşfediyor. Diffe ve Hellman, Alex ve Brenda'nın bu durumu paylaşması için bir yol buldular. genel numaralar a ve b, ancak özel numaralar A ve B değil ve paylaşılan bir sır oluşturur, K. Bu paylaşılan sırrı kullanarak, K, Eva'nın dinlemesine gerek kalmadan aynı şeyi üretebilir. K, Alex ve Brenda artık K'yi gizli bir şifreleme anahtarı olarak kullanabilir ve gizli mesajları geri iletebilir ve ileri. 100'den çok daha büyük sayılarla çalışması gerekmesine rağmen CAN şu şekilde çalışır. 100'ü kullanacağız çünkü modulo 100 tamsayıları üzerinde çalışmak "hepsini atmak" ile eşdeğerdir ama bir sayının son iki rakamı." Alex ve Brenda'nın her biri A, a, B ve b'yi seçiyor. A ve B'yi gizli tutuyorlar. Alex, Brenda'ya modulo 100'ün değerini (yalnızca son iki rakam) söyler ve Brenda, Alex'e söyler. b modulo 100'ün değeri. Artık Eva (a,b) modulo 100'ü biliyor. Ama Alex (a,b,A)'yı biliyor, dolayısıyla o x=abA modulo 100'ü hesaplayabilir.Alex çalıştığımız için son rakam hariç hepsini kesiyor tekrar modulo 100 tamsayılarının altında. Benzer şekilde, Brenda da (a,b,B)'yi bildiğinden hesaplayabilmektedir. y=abB modulo 100. Alex artık x'i yayınlayabilir ve Brenda da y'yi yayınlayabilir. Ama şimdi Alex yA = abBA modulo 100'ü hesaplayabiliyor ve Brenda da xB'yi hesaplayabiliyor = abBA modulo 100. İkisi de aynı numarayı biliyor! Ama Eva'nın tek duyduğu şey (a,b,abA,abB). abA*B'yi hesaplamanın kolay bir yolu yok. Diffe-Hellman değişimi hakkında düşünmenin en kolay ve en az güvenli yolu bu. Daha güvenli versiyonlar mevcut. Ancak çoğu sürüm, tamsayı çarpanlarına ayırma ve ayrıklık nedeniyle çalışır. logaritmalar zordur ve bu sorunların her ikisi de kuantum bilgisayarlar tarafından kolaylıkla çözülebilir. Kuantuma dirençli versiyonların olup olmadığına bakacağım. http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange Burada listelenen "standart txn dizisi"nde, İMZALAR gibi birçok adım eksik. Burada olduğu gibi kabul ediliyorlar. Bu gerçekten kötü, çünkü içinde bulunduğumuz sıra imza maddeleri, imzalı mesajın içerdiği bilgiler vb... bunların hepsi son derece protokol için önemlidir. Uygulama sırasında adımlardan bir veya ikisinin yanlış, hatta biraz bozuk olması standart işlem sırası" tüm sistemin güvenliğini sorgulayabilir. Ayrıca, makalede daha sonra sunulan kanıtlar yeterince kesin olmayabilir. altında çalıştıkları çerçeve bu bölümde olduğu gibi gevşek bir şekilde tanımlanmıştır.
halka açık Özel Alice Carol Tek kullanımlık anahtar Tek kullanımlık anahtar Tek kullanımlık anahtar Bob Bob'un Anahtarı Bob'un Adresi Şekil 3. CryptoNote anahtarları/işlem modeli. İlk olarak gönderen, verilerinden paylaşılan bir sır elde etmek için bir Diffe-Hellman alışverişi gerçekleştirir ve alıcının adresinin yarısı. Daha sonra paylaşılan anahtarı kullanarak tek seferlik bir hedef anahtarı hesaplar. gizli ve adresin ikinci yarısı. Alıcıdan iki farklı ec-anahtarı isteniyor bu iki adım için standart bir CryptoNote adresi, Bitcoin cüzdanının neredeyse iki katı kadardır. adresi. Alıcı ayrıca karşılık gelen verileri kurtarmak için bir Diffe-Hellman değişimi gerçekleştirir. gizli anahtar. Standart bir işlem sırası şu şekildedir: 1. Alice, standart adresini yayınlayan Bob'a ödeme göndermek istiyor. O adresi açar ve Bob'un genel anahtarını (A, B) alır. 2. Alice rastgele bir \(r \in [1, l - 1]\) üretir ve bir kerelik genel anahtarı \(P = H_s(rA)G +\) hesaplar B. 3. Alice, çıktı için hedef anahtar olarak P'yi kullanır ve aynı zamanda R = rG değerini de paketler (bir parça olarak) Diffe-Hellman borsasının) işlemin bir yerinde. oluşturabileceğini unutmayın. benzersiz ortak anahtarlara sahip diğer çıktılar: farklı alıcıların anahtarları (Ai, Bi) farklı Pi anlamına gelir aynı r ile bile. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı R = rG P = Hs(rA)G + B Alıcının genel anahtar Gönderenin rastgele verileri r (A, B) Şekil 4. Standart işlem yapısı. 4. Alice işlemi gönderir. 5. Bob geçen her işlemi özel anahtarıyla (a, b) kontrol eder ve P ′ = değerini hesaplar Hs(aR)G + B. Alice'in alıcı olarak Bob'la yaptığı işlem bunların arasındaysa, o zaman aR = arG = rA ve P ′ = P. 7 halka açık Özel Alice Carol Tek kullanımlık anahtar Tek kullanımlık anahtar Tek kullanımlık anahtar Bob Bob'un Anahtarı Bob'un Adresi Şekil 3. CryptoNote anahtarları/işlem modeli. İlk olarak gönderen, verilerinden paylaşılan bir sır elde etmek için bir Diffe-Hellman alışverişi gerçekleştirir ve alıcının adresinin yarısı. Daha sonra paylaşılan anahtarı kullanarak tek seferlik bir hedef anahtarı hesaplar. gizli ve adresin ikinci yarısı. Alıcıdan iki farklı ec-anahtarı isteniyor bu iki adım için standart bir CryptoNote adresi, Bitcoin cüzdanının neredeyse iki katı kadardır. adresi. Alıcı ayrıca karşılık gelen verileri kurtarmak için bir Diffe-Hellman değişimi gerçekleştirir. gizli anahtar. Standart bir işlem sırası şu şekildedir: 1. Alice, standart adresini yayınlayan Bob'a ödeme göndermek istiyor. O adresi açar ve Bob'un genel anahtarını (A, B) alır. 2. Alice rastgele bir \(r \in [1, l - 1]\) üretir ve bir kerelik genel anahtarı \(P = H_s(rA)G +\) hesaplar B. 3. Alice, çıktı için hedef anahtar olarak P'yi kullanır ve aynı zamanda R = rG değerini de paketler (bir parça olarak) Diffe-Hellman borsasının) işlemin bir yerinde. oluşturabileceğini unutmayın. benzersiz ortak anahtarlara sahip diğer çıktılar: farklı alıcıların anahtarları (Ai, Bi) farklı Pi anlamına gelir aynı r ile bile. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı R = rG P = Hs(rA)G + B Alıcının genel anahtar Gönderenin rastgele verileri r (A, B) Şekil 4. Standart işlem yapısı. 4. Alice işlemi gönderir. 5. Bob geçen her işlemi özel anahtarıyla (a, b) kontrol eder ve P ′ = değerini hesaplar Hs(aR)G + B. Alice'in alıcı olarak Bob'la yaptığı işlem bunların arasındaysa, o zaman aR = arG = rA ve P ′ = P. 7 14 Yazar(lar)ın baştan sona terminolojilerini düz tutmak konusunda berbat bir iş çıkardıklarını unutmayın. metin, ama özellikle bu sonraki kısımda. Bu makalenin bir sonraki enkarnasyonu mutlaka olacaktır. çok daha titiz. Metinde P'den tek kullanımlık genel anahtar olarak bahsediyorlar. Diyagramda R'ye şu şekilde atıfta bulunurlar: "Tx genel anahtarı" ve "Hedef anahtarı" olarak P. Eğer bunu yeniden yazacak olsaydım, Bu bölümleri tartışmadan önce bazı terminolojiyi çok spesifik olarak ortaya koyacağım. Bu cehennem çok büyük. 5. sayfaya bakın. Ell'i kim seçer? Diyagram, rastgele ve seçilen işlem genel anahtarı R = rG'yi göstermektedir. gönderen tarafından Tx çıkışının bir parçası değildir. Bunun nedeni birden fazla kişi için aynı olabilmesidir. birden fazla kişiye yapılan işlemlerdir ve harcamak için SONRA kullanılmaz. Yeni bir R üretilir her yeni CryptoNote işlemini yayınlamak istediğinizde. Ayrıca, R yalnızca kullanılır İşlemin alıcısı olup olmadığınızı kontrol etmek için. Bunlar önemsiz veriler değil, ancak herkes için önemsizdir (A,B) ile ilişkili özel anahtarlar olmadan. Hedef tuşu ise P = Hs(rA)G + B, Tx çıkışının bir parçasıdır. Herkes Her geçen işlemin verilerini inceleyerek kendi oluşturdukları P*'yi kontrol etmelidir. Bu geçen işlemin sahibi olup olmadıklarını görmek için bu P'yi kullanın. Harcanmamış işlem çıktısı olan herkes (UTXO) bu P'lerden bir demetini ortalıkta miktarlarla birlikte bulunduracak. Harcamak içind, onlar P'nin de dahil olduğu yeni bir mesaj imzalayın. Alice, bu işlemi, harcanmamış işlem çıktısı/çıktıları Hedef Anahtarı/Anahtarları ile ilişkili bir kerelik özel anahtar/anahtarlarla imzalamalıdır. Alice'in sahip olduğu her hedef anahtarı donanımlı olarak gelir (muhtemelen) Alice'e ait olan tek seferlik özel anahtarla. Alice her istediğinde hedef anahtarının içeriğini bana veya Bob'a veya Brenda'ya veya Charlie'ye veya Charlene'e gönder, o işlemi imzalamak için özel anahtarını kullanır. İşlemi aldıktan sonra yeni bir tane alacağım Tx genel anahtarı, yeni bir Hedef ortak anahtarı ve yeni bir kerelik özel anahtar x'i kurtarabileceğim. Tek kullanımlık özel anahtarım x'i yeni işlemin genel Hedefi ile birleştirme anahtar(lar) yeni bir işlemi nasıl gönderdiğimizdir
- Bob karşılık gelen bir kerelik özel anahtarı kurtarabilir: x = Hs(aR) + b, yani P = xG. Bu çıktıyı istediği zaman x ile bir işlem imzalayarak harcayabilir. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı P ′ = Hs(aR)G + bG tek kullanımlık genel anahtar x = Hs(aR) + b tek kullanımlık özel anahtar Alıcının özel anahtar (a, b) R P' ?= P Şekil 5. Gelen işlem kontrolü. Sonuç olarak Bob, tek seferlik ortak anahtarlarla ilişkili gelen ödemeleri alır. izleyici için bağlanılamaz. Bazı ek notlar: • Bob işlemlerini "tanıdığında" (bkz. adım 5) pratikte parasının yalnızca yarısını kullanır. Özel bilgiler: (a, B). İzleme anahtarı olarak da bilinen bu çift, iletilebilir üçüncü bir tarafa (Carol). Bob, yeni işlemlerin işlenmesi konusunda ona yetki verebilir. Bob Carol'a açıkça güvenmesine gerek yok çünkü tek seferlik gizli anahtarı kurtaramıyor Bob'un tam özel anahtarı (a, b) olmadan. Bu yaklaşım Bob'un bant genişliğinin yetersiz olduğu durumlarda faydalıdır veya hesaplama gücü (akıllı telefonlar, donanım cüzdanları vb.). • Alice, Bob'un adresine bir işlem gönderdiğini kanıtlamak isterse bunu açıklayabilir r veya r'yi bildiğini kanıtlamak için herhangi bir tür sıfır bilgi protokolü kullanın (örneğin imzalayarak) r) ile yapılan işlem. • Bob, gelen tüm işlemlerin kaydedildiği denetim uyumlu bir adrese sahip olmak istiyorsa bağlanabilirse, izleme anahtarını yayınlayabilir veya kısaltılmış bir adres kullanabilir. Bu adres yalnızca bir genel ec-anahtarı B'yi temsil eder ve protokolün gerektirdiği geri kalan kısım bundan şu şekilde türetilir: a = Hs(B) ve A = Hs(B)G. Her iki durumda da her insan Bob'un gelen tüm işlemlerini "tanıyabilir", ancak elbette hiçbiri bu parayı harcayamaz. gizli anahtar olmadan içlerinde yer alan fonlar b. 4.4 Tek seferlik zil imzaları Tek seferlik halka imzalara dayalı bir protokol, kullanıcıların koşulsuz bağlantı kurulamazlığına erişmesine olanak tanır. Ne yazık ki, sıradan kriptografik imza türleri, işlemlerin ilgili gönderici ve alıcılar. Bu eksikliğe çözümümüz farklı bir imza kullanmaktan geçiyor Şu anda elektronik nakit sistemlerinde kullanılanlardan daha fazla tür. Öncelikle algoritmamızın genel bir tanımını, açık bir referans olmadan sunacağız. elektronik nakit. Bir kerelik halka imzası dört algoritma içerir: (GEN, SIG, VER, LNK): GEN: genel parametreleri alır ve bir ec çifti (P, x) ve bir genel anahtar I çıkarır. SIG: bir m mesajını, {Pi}i̸=s genel anahtarlarından oluşan bir \(S'\) kümesini, bir çifti (Ps, xs) alır ve bir \(\sigma\) imzası çıkarır ve bir \(S = \)S'\( \cup \{P_s\}\) kümesi. 8
-
Bob karşılık gelen bir kerelik özel anahtarı kurtarabilir: x = Hs(aR) + b, yani P = xG. Bu çıktıyı istediği zaman x ile bir işlem imzalayarak harcayabilir. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı P ′ = Hs(aR)G + bG tek kullanımlık genel anahtar x = Hs(aR) + b tek kullanımlık özel anahtar Alıcının özel anahtar (a, b) R P' ?= P Şekil 5. Gelen işlem kontrolü. Sonuç olarak Bob, tek seferlik ortak anahtarlarla ilişkili gelen ödemeleri alır. izleyici için bağlanılamaz. Bazı ek notlar: • Bob işlemlerini "tanıdığında" (bkz. adım 5) pratikte parasının yalnızca yarısını kullanır. Özel bilgiler: (a, B). İzleme anahtarı olarak da bilinen bu çift, iletilebilir üçüncü bir tarafa (Carol). Bob, yeni işlemlerin işlenmesi konusunda ona yetki verebilir. Bob Carol'a açıkça güvenmesine gerek yok çünkü tek seferlik gizli anahtarı kurtaramıyor Bob'un tam özel anahtarı (a, b) olmadan. Bu yaklaşım Bob'un bant genişliğinin yetersiz olduğu durumlarda faydalıdır veya hesaplama gücü (akıllı telefonlar, donanım cüzdanları vb.). • Alice, Bob'un adresine bir işlem gönderdiğini kanıtlamak isterse bunu açıklayabilir r veya r'yi bildiğini kanıtlamak için herhangi bir tür sıfır bilgi protokolü kullanın (örneğin imzalayarak) r) ile yapılan işlem. • Bob, gelen tüm işlemlerin kaydedildiği denetim uyumlu bir adrese sahip olmak istiyorsa bağlanabilirse, izleme anahtarını yayınlayabilir veya kısaltılmış bir adres kullanabilir. Bu adres yalnızca bir genel ec-anahtarı B'yi temsil eder ve protokolün gerektirdiği geri kalan kısım bundan şu şekilde türetilir: a = Hs(B) ve A = Hs(B)G. Her iki durumda da her insan Bob'un gelen tüm işlemlerini "tanıyabilir", ancak elbette hiçbiri bu parayı harcayamaz. gizli anahtar olmadan içlerinde yer alan fonlar b. 4.4 Tek seferlik zil imzaları Tek seferlik halka imzalara dayalı bir protokol, kullanıcıların koşulsuz bağlantı kurulamazlığına erişmesine olanak tanır. Ne yazık ki, sıradan kriptografik imza türleri, işlemlerin ilgili gönderici ve alıcılar. Bu eksikliğe çözümümüz farklı bir imza kullanmaktan geçiyor Şu anda elektronik nakit sistemlerinde kullanılanlardan daha fazla tür. İlk önce bir gen sağlayacağızaçık bir referans olmadan algoritmamızın tüm açıklaması elektronik nakit. Bir kerelik halka imzası dört algoritma içerir: (GEN, SIG, VER, LNK): GEN: genel parametreleri alır ve bir ec çifti (P, x) ve bir genel anahtar I çıkarır. SIG: bir m mesajını, {Pi}i̸=s genel anahtarlarından oluşan bir \(S'\) kümesini, bir çifti (Ps, xs) alır ve bir \(\sigma\) imzası çıkarır ve bir \(S = \)S'\( \cup \{P_s\}\) kümesi. 8 15 Harcanmamış bir işlem çıktısı burada nasıl görünüyor? Diyagram, işlem çıktısının yalnızca iki veri noktasından oluştuğunu göstermektedir: miktar ve hedef anahtar. Ama bu değil Yeterli çünkü bu "çıktıyı" harcamaya çalıştığımda hala R=rG'yi bilmem gerekecek. Unutmayın, r gönderen tarafından seçilir ve R a) gelen kriptonotları sizin şifreniz olarak tanımak için kullanılır. kendi ve b) kriptonotunuzu "talep etmek" için kullanılan tek seferlik özel anahtarı oluşturmak için kullanılır. Bu konuda anlamadığım kısım? Teorik olarak "tamam, elimizde bunlar var imzalar ve işlemler ve bunları programlama dünyasına ileri geri aktarıyoruz "peki özellikle hangi bilgiler bir kişiyi UTXO oluşturur?" Bu soruyu cevaplamanın en iyi yolu, tamamen yorumlanmamış kodun gövdesini incelemektir. Tebrikler bytecoin ekibi. Hatırlayın: bağlanabilirlik "aynı kişi mi gönderdi?" anlamına gelir. ve bağlantı kurulamazlık "aynısını yaptım" anlamına gelir kişi alıyor mu?" Dolayısıyla bir sistem bağlanabilir veya bağlanamaz, bağlanamaz veya bağlanamaz olabilir. Sinir bozucu, biliyorum. Nic van Saberhagen burada "...gelen ödemeler tek seferlik ödemelerle ilişkilidir" dediğinde İzleyici için bağlantı kurulamayan genel anahtarlar" derken ne demek istediğini görelim. İlk olarak, Alice'in Bob'a aynı yerden iki ayrı işlem gönderdiği bir durumu düşünün. adresi aynı adrese. Bitcoin evreninde Alice zaten hatayı yaptı aynı adresten gönderim yapılması nedeniyle sınırlı işlem isteğimiz başarısız oldu bağlanabilirlik. Üstelik parayı aynı adrese gönderdiği için isteğimizi boşa çıkardı bağlantı kurulamazlığı için. Bu bitcoin işlemi hem (tamamen) bağlanabilir hem de bağlantısı kaldırılamaz nitelikteydi. Öte yandan kriptonot evreninde Alice'in Bob'a bir kriptonot gönderdiğini varsayalım, Bob'un genel adresini kullanarak. Gizleyici ortak anahtarlar kümesi olarak bilinen tüm halka açık anahtarları seçiyor Washington DC metro bölgesindeki anahtarlar. Alex kendi anahtarını kullanarak tek seferlik bir genel anahtar üretiyor bilgiler ve Bob'un kamuya açık bilgileri. Parayı o gönderiyor ve herhangi bir gözlemci sadece "Washington DC metropol bölgesinden biri şu adrese 2,3 kriptonot gönderdi" tek seferlik genel adres XYZ123." Burada bağlanabilirlik üzerinde olasılıksal bir kontrolümüz var, dolayısıyla buna "neredeyse bağlantı kurulamaz" adını vereceğiz. Ayrıca paranın gönderildiği tek seferlik ortak anahtarları da görüyoruz. Alıcıdan şüphelensek bile Bob'du, onun özel anahtarlarına sahip değiliz ve bu nedenle geçen bir işlemin olup olmadığını test edemiyoruz bırakın kripto notunu kullanmak için tek seferlik özel anahtarını oluşturmayı bırakın Bob'a aittir. Yani bu aslında tamamen "bağlanamaz". Yani bu en güzel numaradır. Kim gerçekten başka bir MtGox'a güvenmek ister? Biz olabiliriz Bir miktar BTC'yi Coinbase'de depolamak rahattır, ancak bitcoin güvenliğinde son nokta fiziksel bir cüzdan. Bu da sakıncalı. Bu durumda, özel anahtarınızın yarısını, gizliliğinizi tehlikeye atmadan, güvenle verebilirsiniz. para harcamak için kendi yeteneği. Bunu yaparken yaptığınız tek şey birine bağlantısızlığın nasıl ortadan kaldırılacağını anlatmaktır. Diğeri CN'nin bir para birimi gibi davranan özellikleri korunur; çifte harcamaya karşı kanıt ve ne değil.
-
Bob karşılık gelen bir kerelik özel anahtarı kurtarabilir: x = Hs(aR) + b, yani P = xG. Bu çıktıyı istediği zaman x ile bir işlem imzalayarak harcayabilir. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı P ′ = Hs(aR)G + bG tek kullanımlık genel anahtar x = Hs(aR) + b tek kullanımlık özel anahtar Alıcının özel anahtar (a, b) R P' ?= P Şekil 5. Gelen işlem kontrolü. Sonuç olarak Bob, tek seferlik ortak anahtarlarla ilişkili gelen ödemeleri alır. izleyici için bağlanılamaz. Bazı ek notlar: • Bob işlemlerini "tanıdığında" (bkz. adım 5) pratikte parasının yalnızca yarısını kullanır. Özel bilgiler: (a, B). İzleme anahtarı olarak da bilinen bu çift, iletilebilir üçüncü bir tarafa (Carol). Bob, yeni işlemlerin işlenmesi konusunda ona yetki verebilir. Bob Carol'a açıkça güvenmesine gerek yok çünkü tek seferlik gizli anahtarı kurtaramıyor Bob'un tam özel anahtarı (a, b) olmadan. Bu yaklaşım Bob'un bant genişliğinin yetersiz olduğu durumlarda faydalıdır veya hesaplama gücü (akıllı telefonlar, donanım cüzdanları vb.). • Alice, Bob'un adresine bir işlem gönderdiğini kanıtlamak isterse bunu açıklayabilir r veya r'yi bildiğini kanıtlamak için herhangi bir tür sıfır bilgi protokolü kullanın (örneğin imzalayarak) r) ile yapılan işlem. • Bob, gelen tüm işlemlerin kaydedildiği denetim uyumlu bir adrese sahip olmak istiyorsa bağlanabilirse, izleme anahtarını yayınlayabilir veya kısaltılmış bir adres kullanabilir. Bu adres yalnızca bir genel ec-anahtarı B'yi temsil eder ve protokolün gerektirdiği geri kalan kısım bundan şu şekilde türetilir: a = Hs(B) ve A = Hs(B)G. Her iki durumda da her insan Bob'un gelen tüm işlemlerini "tanıyabilir", ancak elbette hiçbiri bu parayı harcayamaz. gizli anahtar olmadan içlerinde yer alan fonlar b. 4.4 Tek seferlik zil imzaları Tek seferlik halka imzalara dayalı bir protokol, kullanıcıların koşulsuz bağlantı kurulamazlığına erişmesine olanak tanır. Ne yazık ki, sıradan kriptografik imza türleri, işlemlerin ilgili gönderici ve alıcılar. Bu eksikliğe çözümümüz farklı bir imza kullanmaktan geçiyor Şu anda elektronik nakit sistemlerinde kullanılanlardan daha fazla tür. Öncelikle algoritmamızın genel bir tanımını, açık bir referans olmadan sunacağız. elektronik nakit. Bir kerelik halka imzası dört algoritma içerir: (GEN, SIG, VER, LNK): GEN: genel parametreleri alır ve bir ec çifti (P, x) ve bir genel anahtar I çıkarır. SIG: bir m mesajını, {Pi}i̸=s genel anahtarlarından oluşan bir \(S'\) kümesini, bir çifti (Ps, xs) alır ve bir \(\sigma\) imzası çıkarır ve bir \(S = \)S'\( \cup \{P_s\}\) kümesi. 8
- Bob karşılık gelen bir kerelik özel anahtarı kurtarabilir: x = Hs(aR) + b, yani P = xG. Bu çıktıyı istediği zaman x ile bir işlem imzalayarak harcayabilir. İşlem Tx ortak anahtarı Gönderim çıkışı Tutar Hedef anahtarı P ′ = Hs(aR)G + bG tek kullanımlık genel anahtar x = Hs(aR) + b tek kullanımlık özel anahtar Alıcının özel anahtar (a, b) R P' ?= P Şekil 5. Gelen işlem kontrolü. Sonuç olarak Bob, tek seferlik ortak anahtarlarla ilişkili gelen ödemeleri alır. izleyici için bağlanılamaz. Bazı ek notlar: • Bob işlemlerini "tanıdığında" (bkz. adım 5) pratikte parasının yalnızca yarısını kullanır. Özel bilgiler: (a, B). İzleme anahtarı olarak da bilinen bu çift, iletilebilir üçüncü bir tarafa (Carol). Bob, yeni işlemlerin işlenmesi konusunda ona yetki verebilir. Bob Carol'a açıkça güvenmesine gerek yok çünkü tek seferlik gizli anahtarı kurtaramıyor Bob'un tam özel anahtarı (a, b) olmadan. Bu yaklaşım Bob'un bant genişliğinin yetersiz olduğu durumlarda faydalıdır veya hesaplama gücü (akıllı telefonlar, donanım cüzdanları vb.). • Alice, Bob'un adresine bir işlem gönderdiğini kanıtlamak isterse bunu açıklayabilir r veya r'yi bildiğini kanıtlamak için herhangi bir tür sıfır bilgi protokolü kullanın (örneğin imzalayarak) r) ile yapılan işlem. • Bob, gelen tüm işlemlerin kaydedildiği denetim uyumlu bir adrese sahip olmak istiyorsa bağlanabilirse, izleme anahtarını yayınlayabilir veya kısaltılmış bir adres kullanabilir. Bu adres yalnızca bir genel ec-anahtarı B'yi temsil eder ve protokolün gerektirdiği geri kalan kısım bundan şu şekilde türetilir: a = Hs(B) ve A = Hs(B)G. Her iki durumda da her insan Bob'un gelen tüm işlemlerini "tanıyabilir", ancak elbette hiçbiri bu parayı harcayamaz. gizli anahtar olmadan içlerinde yer alan fonlar b. 4.4 Tek seferlik zil imzaları Tek seferlik halka imzalara dayalı bir protokol, kullanıcıların koşulsuz bağlantı kurulamazlığına erişmesine olanak tanır. Ne yazık ki, sıradan kriptografik imza türleri, işlemlerin ilgili gönderici ve alıcılar. Bu eksikliğe çözümümüz farklı bir imza kullanmaktan geçiyor Şu anda elektronik nakit sistemlerinde kullanılanlardan daha fazla tür. İlk önce bir gen sağlayacağızaçık bir referans olmadan algoritmamızın tüm açıklaması elektronik nakit. Bir kerelik halka imzası dört algoritma içerir: (GEN, SIG, VER, LNK): GEN: genel parametreleri alır ve bir ec çifti (P, x) ve bir genel anahtar I çıkarır. SIG: bir m mesajını, {Pi}i̸=s genel anahtarlarından oluşan bir \(S'\) kümesini, bir çifti (Ps, xs) alır ve bir \(\sigma\) imzası çıkarır ve bir \(S = \)S'\( \cup \{P_s\}\) kümesi. 8 16 Evet, artık a) bir ödeme adresimiz ve b) bir ödeme kimliğimiz var. Bir eleştirmen şunu sorabilir: "Bunu gerçekten yapmamız gerekiyor mu? Sonuçta, bir tüccar 112.00678952 alırsa Tam olarak CN, benim siparişim de buydu ve elimde ekran görüntüsü ya da makbuz falan var, değil mi çılgın derecede kesinlik yeterli mi?" Cevap şu: "Belki de çoğu zaman, günlük yaşamda, yüz yüze işlemler." Ancak (özellikle dijital dünyada) daha yaygın olan durum şudur: Bir tüccar, her biri sabit bir fiyata sahip olan bir dizi nesne. A nesnesinin 0,001 CN, B nesnesinin 0,01 CN olduğunu ve C nesnesi 0,1 CN'dir. Şimdi, eğer satıcı 1.618 CN tutarında bir sipariş alırsa, çok sayıda sipariş var. Bir müşteri için sipariş ayarlamanın (birçok!) yolu. Ve bir tür ödeme kimliği olmadan, Bir müşterinin sözde "benzersiz" siparişini, müşterilerinin sözde "benzersiz" maliyetiyle tanımlamak düzen imkansız hale gelir. Daha da komik: çevrimiçi mağazamdaki her şeyin maliyeti tam olarak 1,0 ise CN ve benim günde 1000 müşterim mi oluyor? Ve tam olarak 3 nesne satın aldığınızı kanıtlamak istiyorsunuz iki hafta önce mi? Ödeme kimliği olmadan mı? İyi şanslar dostum. Uzun lafın kısası: Bob bir ödeme adresi yayınladığında, aynı zamanda bir ödeme adresi de yayınlayabilir. ödeme kimliği de (bkz. örneğin Poloniex XMR para yatırma işlemleri). Bu anlatılandan farklı Buradaki metinde ödeme kimliğini oluşturan kişinin Alice olduğu yer almaktadır. Bob'un da bir ödeme kimliği oluşturmasının bir yolu olmalı. (a,B) İzleme anahtarının (a,B) yayınlanabileceğini hatırlayın; 'a'nın değerinin gizliliğini kaybetmek harcama yeteneğinizi ihlal etmeyin veya başkalarının sizden çalmasına izin vermeyin (sanırım... bu Kanıtlanacak), insanların gelen tüm işlemleri görmesine izin verecek. Bu paragrafta açıklandığı gibi kısaltılmış bir adres, anahtarın "özel" kısmını alır. ve onu "genel" kısımdan üretir. 'a'nın değerinin ortaya çıkarılması, bağlanamazlığı ortadan kaldıracaktır ancak işlemlerin geri kalanını koruyacaktır. Yazar "bağlantı kurulamaz" demek istiyor çünkü bağlantı kurulamaz alıcıyı ve bağlantı kurulabilir olanı ifade ediyor göndereni ifade eder. Ayrıca yazarın bağlanabilirliğin iki farklı yönü olduğunu fark etmediği de açıktır. Sonuçta işlem bir grafik üzerinde yönlendirilmiş bir nesne olduğundan iki soru ortaya çıkacaktır: "Bu iki işlem aynı kişiye mi gidiyor?" ve "bu iki işlem geliyor mu? aynı kişiden mi?" Bu, CryptoNote'un bağlantı kurulamazlık özelliğinin geçerli olduğu bir "geri dönmeme" politikasıdır. şartlı. Yani Bob, gelen işlemlerinin bağlantısının kesilemez olmasını seçebilir bu politikayı kullanarak. Bu, Rastgele Oracle Modeli kapsamında kanıtladıkları bir iddiadır. Buna ulaşacağız; Rastgele Oracle'ın artıları ve eksileri var.
VER: m mesajını, S kümesini, \(\sigma\) imzasını alır ve “doğru” veya “yanlış” çıktısını verir. LNK: bir I = {Ii} kümesini, bir \(\sigma\) imzasını alır ve "bağlantılı" veya "indep" çıktısını verir. Protokolün arkasındaki fikir oldukça basittir: Bir kullanıcı, imzalanabilecek bir imza üretir. benzersiz bir genel anahtar yerine bir dizi genel anahtarla kontrol edilir. İmzalayanın kimliği: sahibi üretinceye kadar ortak anahtarları sette bulunan diğer kullanıcılardan ayırt edilemez aynı anahtar çiftini kullanan ikinci bir imza. Özel anahtarlar x0 \(\cdots\) xi \(\cdots\) xn Genel anahtarlar P0 \(\cdots\) Pi \(\cdots\) Pn Yüzük İmza işaret doğrulamak Şekil 6. Halka imzasının anonimliği. GEN: İmzalayan kişi rastgele bir \(x \in [1, l - 1]\) gizli anahtarını seçer ve karşılık gelen değeri hesaplar. ortak anahtar P = xG. Ek olarak başka bir genel anahtar olan I = xHp(P)'yi de hesaplar. “anahtar resim” olarak adlandırın. SIG: İmzalayan, etkileşimli olmayan sıfır bilgiyle tek seferlik halka imza oluşturur [21] tekniklerini kullanarak kanıt. Diğer kullanıcıların arasından n'nin rastgele bir \(S'\) alt kümesini seçer. genel anahtarlar Pi, kendi anahtar çifti (x, P) ve anahtar görüntüsü I. İmzalayanın gizli dizini \(0 \leq s \leq n\) olsun \(S'\)de (ortak anahtarı Ps olacak şekilde). Rastgele bir {qi | ben = 0. . . n} ve {wi | ben = 0. . . (1 . . . l)'den n, i ̸= s} ve şunu uygular: aşağıdaki dönüşümler: Li = ( qiG, eğer ben = s qiG + wiPi, eğer ben ̸= s Ri = ( qiHp(Pi), eğer ben = s qiHp(Pi) + wiI, eğer ben ̸= s Bir sonraki adım etkileşimli olmayan mücadeleyi almaktır: c = Hs(m, L1, . . , Ln, R1, . . , Rn) Son olarak imzalayan kişi yanıtı hesaplar: ci = wi, eğer ben ̸= s c - nP ben=0 ci mod ben, eğer ben = s ri = ( qi, eğer ben ̸= s qs –csx mod l, eğer ben = s Sonuçta ortaya çıkan imza \(\sigma\) = (I, c1, . . , cn, r1, . . , rn) olur. 9 VER: m mesajını, S kümesini, \(\sigma\) imzasını alır ve “doğru” veya “yanlış” çıktısını verir. LNK: bir I = {Ii} kümesini, bir \(\sigma\) imzasını alır ve "bağlantılı" veya "indep" çıktısını verir. Protokolün arkasındaki fikir oldukça basittir: Bir kullanıcı, imzalanabilecek bir imza üretir. benzersiz bir genel anahtar yerine bir dizi genel anahtarla kontrol edilir. İmzalayanın kimliği: sahibi üretinceye kadar ortak anahtarları sette bulunan diğer kullanıcılardan ayırt edilemez aynı anahtar çiftini kullanan ikinci bir imza. Özel anahtarlar x0 \(\cdots\) xi \(\cdots\) xn Genel anahtarlar P0 \(\cdots\) Pi \(\cdots\) Pn Yüzük İmza işaret doğrulamak Şekil 6. Halka imzasının anonimliği. GEN: İmzalayan kişi rastgele bir \(x \in [1, l - 1]\) gizli anahtarını seçer ve karşılık gelen değeri hesaplar. ortak anahtar P = xG. Ek olarak başka bir genel anahtar olan I = xHp(P)'yi de hesaplar. “anahtar resim” olarak adlandırın. SIG: İmzalayan, etkileşimli olmayan sıfır bilgiyle tek seferlik halka imza oluşturur [21] tekniklerini kullanarak kanıt. Diğer kullanıcıların arasından n'nin rastgele bir \(S'\) alt kümesini seçer. genel anahtarlar Pi, kendi anahtar çifti (x, P) ve anahtar görüntüsü I. İmzalayanın gizli dizini \(0 \leq s \leq n\) olsun \(S'\)de (ortak anahtarı Ps olacak şekilde). Rastgele bir {qi | ben = 0. . . n} ve {wi | ben = 0. . . (1 . . . l)'den n, i ̸= s} ve şunu uygular: aşağıdaki dönüşümler: Li = ( qiG, eğer ben = s qiG + wiPi, eğer ben ̸= s Ri = ( qiHp(Pi), eğer ben = s qiHp(Pi) + wiI, eğer ben ̸= s Bir sonraki adım etkileşimli olmayan mücadeleyi almaktır: c = Hs(m, L1, . . , Ln, R1, . . , Rn) Son olarak imzalayan kişi yanıtı hesaplar: ci = wi, eğer ben ̸= s c - nP ben=0 ci mod l, eğer ben = s ri = ( qi, eğer ben ̸= s qs –csx mod l, eğer ben = s Sonuçta ortaya çıkan imza \(\sigma\) = (I, c1, . . , cn, r1, . . , rn) olur. 9 17 Belki bu aptalcadır, ancak S ve P_'leri birleştirirken dikkatli olunmalıdır. Eğer sadece şunu eklerseniz sona kadar olan son genel anahtar, herhangi biri geçen işlemleri kontrol ettiğinden bağlantı kurulamazlık bozuldu her işlemde ve patlamada listelenen son genel anahtarı kontrol edebilirsiniz. Bu genel anahtardır gönderenle ilişkilidir. Yani birleştirmeden sonra, bir sözde rasgele sayı üreteci oluşturulmalıdır. seçilen genel anahtarlara izin vermek için kullanılır. "...sahibi aynı anahtar çiftini kullanarak ikinci bir imza oluşturana kadar." Keşke yazar(lar?) bu konuyu detaylandıracaktı. Bunun şu anlama geldiğine inanıyorum: "Gizlenmek için bir dizi genel anahtar seçtiğinizde her zaman emin olun. Kendinize, iki anahtarın birbirine benzemediği tamamen yeni bir set seçersiniz." bağlantı kurulamaz duruma getirilecek oldukça güçlü bir durum. Belki "yeni bir rastgele set seçersiniz her ne kadar önemsiz olmayan kesişmeler kaçınılmaz olsa da, tüm olası anahtarlar" varsayımıyla olur, sık sık olmazlar. Her iki durumda da, bu ifadeyi daha derinlemesine incelemem gerekiyor. Bu, halka imzasını oluşturuyor. Sıfır bilgi kanıtları muhteşem: Bir sırrı bildiğinizi bana kanıtlamanız için size meydan okuyorum sırrını açıklamadan. Mesela çörek şeklinde bir mağaranın girişinde olduğumuzu varsayalım. ve mağaranın arka tarafında (girişin görülemeyeceği yerde) bir o vardır.hangi yöne giden kapı anahtarın sende olduğunu iddia et. Bir yöne gidersen her zaman geçmene izin verir, ama diğer yöne gidersen diğer yönde ise bir anahtara ihtiyacınız var. Ama bırakın anahtarı bana göstermek bile istemiyorsunuz bana kapıyı açtığını göster. Ama sen bana kapıyı nasıl açacağını bildiğini kanıtlamak istiyorsun. kapı. İnteraktif ortamda yazı tura atıyorum. Yazılar sola, yazılar sağa ve aşağıya iniyorsunuz madeni para sizi nereye yönlendirirse yönlendirsin, çörek şeklindeki mağara. Arkada, görüş alanımın ötesinde, sen diğer tarafa dönmek için kapıyı açın. Yazı-tura atma deneyini tekrarlıyoruz Anahtarın sende olduğundan emin olana kadar. Ancak bu açıkça ETKİLEŞİMLİ sıfır bilgi kanıtıdır. Sizin ve benim hiçbir zaman iletişim kurmak zorunda olmadığımız, etkileşimli olmayan versiyonlar da var; bu şekilde kulak misafiri olan kimse müdahale edemez. http://en.wikipedia.org/wiki/Zero-knowledge_proof Bu önceki tanımın tersidir.
VER: m mesajını, S kümesini, \(\sigma\) imzasını alır ve “doğru” veya “yanlış” çıktısını verir. LNK: bir I = {Ii} kümesini, bir \(\sigma\) imzasını alır ve "bağlantılı" veya "indep" çıktısını verir. Protokolün arkasındaki fikir oldukça basittir: Bir kullanıcı, imzalanabilecek bir imza üretir. benzersiz bir genel anahtar yerine bir dizi genel anahtarla kontrol edilir. İmzalayanın kimliği: sahibi üretinceye kadar ortak anahtarları sette bulunan diğer kullanıcılardan ayırt edilemez aynı anahtar çiftini kullanan ikinci bir imza. Özel anahtarlar x0 \(\cdots\) xi \(\cdots\) xn Genel anahtarlar P0 \(\cdots\) Pi \(\cdots\) Pn Yüzük İmza işaret doğrulamak Şekil 6. Halka imzasının anonimliği. GEN: İmzalayan kişi rastgele bir \(x \in [1, l - 1]\) gizli anahtarını seçer ve karşılık gelen değeri hesaplar. ortak anahtar P = xG. Ek olarak başka bir genel anahtar olan I = xHp(P)'yi de hesaplar. “anahtar resim” olarak adlandırın. SIG: İmzalayan, etkileşimli olmayan sıfır bilgiyle tek seferlik halka imza oluşturur [21] tekniklerini kullanarak kanıt. Diğer kullanıcıların arasından n'nin rastgele bir \(S'\) alt kümesini seçer. genel anahtarlar Pi, kendi anahtar çifti (x, P) ve anahtar görüntüsü I. İmzalayanın gizli dizini \(0 \leq s \leq n\) olsun \(S'\)de (ortak anahtarı Ps olacak şekilde). Rastgele bir {qi | ben = 0. . . n} ve {wi | ben = 0. . . (1 . . . l)'den n, i ̸= s} ve şunu uygular: aşağıdaki dönüşümler: Li = ( qiG, eğer ben = s qiG + wiPi, eğer ben ̸= s Ri = ( qiHp(Pi), eğer ben = s qiHp(Pi) + wiI, eğer ben ̸= s Bir sonraki adım etkileşimli olmayan mücadeleyi almaktır: c = Hs(m, L1, . . , Ln, R1, . . , Rn) Son olarak imzalayan kişi yanıtı hesaplar: ci = wi, eğer ben ̸= s c - nP ben=0 ci mod l, eğer ben = s ri = ( qi, eğer ben ̸= s qs –csx mod l, eğer ben = s Sonuçta ortaya çıkan imza \(\sigma\) = (I, c1, . . , cn, r1, . . , rn) olur. 9 VER: m mesajını, S kümesini, \(\sigma\) imzasını alır ve “doğru” veya “yanlış” çıktısını verir. LNK: bir I = {Ii} kümesini, bir \(\sigma\) imzasını alır ve "bağlantılı" veya "indep" çıktısını verir. Protokolün arkasındaki fikir oldukça basittir: Bir kullanıcı, imzalanabilecek bir imza üretir. benzersiz bir genel anahtar yerine bir dizi genel anahtarla kontrol edilir. İmzalayanın kimliği: sahibi üretinceye kadar ortak anahtarları sette bulunan diğer kullanıcılardan ayırt edilemez aynı anahtar çiftini kullanan ikinci bir imza. Özel anahtarlar x0 \(\cdots\) xi \(\cdots\) xn Genel anahtarlar P0 \(\cdots\) Pi \(\cdots\) Pn Yüzük İmza işaret doğrulamak Şekil 6. Halka imzasının anonimliği. GEN: İmzalayan kişi rastgele bir \(x \in [1, l - 1]\) gizli anahtarını seçer ve karşılık gelen değeri hesaplar. ortak anahtar P = xG. Ek olarak başka bir genel anahtar olan I = xHp(P)'yi de hesaplar. “anahtar resim” olarak adlandırın. SIG: İmzalayan, etkileşimli olmayan sıfır bilgiyle tek seferlik halka imza oluşturur [21] tekniklerini kullanarak kanıt. Diğer kullanıcıların arasından n'nin rastgele bir \(S'\) alt kümesini seçer. genel anahtarlar Pi, kendi anahtar çifti (x, P) ve anahtar görüntüsü I. İmzalayanın gizli dizini \(0 \leq s \leq n\) olsun \(S'\)de (ortak anahtarı Ps olacak şekilde). Rastgele bir {qi | ben = 0. . . n} ve {wi | ben = 0. . . (1 . . . l)'den n, i ̸= s} ve şunu uygular: aşağıdaki dönüşümler: Li = ( qiG, eğer ben = s qiG + wiPi, eğer ben ̸= s Ri = ( qiHp(Pi), eğer ben = s qiHp(Pi) + wiI, eğer ben ̸= s Bir sonraki adım etkileşimli olmayan mücadeleyi almaktır: c = Hs(m, L1, . . , Ln, R1, . . , Rn) Son olarak imzalayan kişi yanıtı hesaplar: ci = wi, eğer ben ̸= s c - nP ben=0 ci mod l, eğer ben = s ri = ( qi, eğer ben ̸= s qs –csx mod l, eğer ben = s Sonuçta ortaya çıkan imza \(\sigma\) = (I, c1, . . , cn, r1, . . , rn) olur. 9 18 Tüm bu alan kriptonottan bağımsızdır, halka imza algoritmasını basitçe tanımlar. para birimlerine referans. Bazı notasyonların makalenin geri kalanıyla tutarlı olduğundan şüpheleniyorum. yine de. Örneğin x, GEN'de seçilen ve P genel anahtarını veren "rastgele" gizli anahtardır. ve genel anahtar görüntüsü I. X'in bu değeri Bob'un bölüm 6, sayfa 8'de hesapladığı değerdir. Önceki açıklamadaki bazı karışıklıkları gidermeye başlıyoruz. Bu çok hoş; "Alice'in genel adresinden Bob'un genel adresine para aktarılmıyor Adres." Tek kullanımlık adresten tek kullanımlık adrese aktarılıyor. Yani bir bakıma işler şu şekilde yürüyor. Eğer Alex'in bazı kriptonotları varsa çünkü birisi bunları ona gönderdiyse bu, bunları Bob'a göndermek için gereken özel anahtarlara sahip olduğu anlamına gelir. O kullanıyor yeni bir tek seferlik adres oluşturmak için Bob'un kamuya açık bilgilerini kullanan bir Diffe-Hellman alışverişi ve kriptonotlar bu adrese aktarılır. Şimdi, yeni tek seferlik adresi oluşturmak için (muhtemelen güvenli) bir DH değişimi kullanıldığı için Alex'in CN'sini gönderdiği yerde, mesajı tekrarlamak için gereken özel anahtarlara sahip olan tek kişi Bob'tur. yukarıda. Artık Bob Alex oldu. http://en.wikipedia.org/wiki/Piecewise#Notation_and_interpretation Toplama i yerine j üzerinden indekslenmelidir. Her c_i rastgele önemsizdir (w_i rastgele olduğundan) c_i eşek hariçBu imzada yer alan gerçek anahtarla bağlantılıdır. c'nin değeri önceki bilgilerin hash'u. Bunun 'i' indeksini yeniden kullanmaktan daha kötü bir yazım hatası içerebileceğini düşünüyorum çünkü c_s görünüyor açıkça değil, örtülü olarak tanımlanmalıdır. Aslında bu denklemi güvenerek alırsak c_s = (1/2)c - (1/2) olduğunu tespit ederiz. toplam_i neq s c_i. Yani, bir hash eksi bir grup rastgele sayı. Öte yandan bu toplamın okunması amaçlanıyorsa "c_s = (c - sum_j neq s c_j) mod" l", sonra önceki bilgilerimizin hash değerini alırız, bir grup rastgele sayı üretiriz, tüm bu rastgele sayıları hash'den çıkarırız ve bu bize c_s'yi verir. Bu öyle görünüyor sezgilerime göre ne "olması gerektiği" ve sayfa 10'daki doğrulama adımıyla eşleştiği. Ancak sezgi matematik değildir. Bu konuyu daha derinlemesine inceleyeceğim. Daha önce olduğu gibi; gerçek olayla ilişkili olanlar dışında bunların tümü rastgele önemsiz olacaktır. imzalayanın genel anahtarı x. Bu seferki hariç, yapıdan beklediğim şey daha fazlası: r_i, i!=s için rastgeledir ve r_s, yalnızca gizli x ve s-indeksli değerleri tarafından belirlenir. q_i ve c_i.
VER: Doğrulayıcı, ters dönüşümleri uygulayarak imzayı kontrol eder: ( L' i = riG + ciPi R' i = riHp(Pi) + ciI Son olarak, doğrulayıcı şunları kontrol eder: nP ben=0 ci ?= Hs(m, L' 0, . . . , L' n, R' 0, . . . , R' n) mod l Bu eşitlik doğruysa, doğrulayıcı LNK algoritmasını çalıştırır. Aksi takdirde doğrulayıcı reddeder imza. LNK: Doğrulayıcı geçmiş imzalarda I kullanılıp kullanılmadığını kontrol eder (bu değerler I'i ayarla). Çoklu kullanım, aynı gizli anahtar altında iki imzanın üretildiği anlamına gelir. Protokolün anlamı: L-dönüşümlerini uygulayarak imzalayan kişi bildiğini kanıtlar öyle bir x ki, en az bir Pi = xG. Bu kanıtı tekrarlanamaz kılmak için anahtar görseli tanıtıyoruz I = xHp(P) olarak. İmzalayan kişi neredeyse aynı ifadeyi kanıtlamak için aynı katsayıları (ri, ci) kullanır: öyle bir x biliyor ki, en az bir \(H_p(P_i) = I \cdot x^{-1}\). Eğer \(x \to I\) eşlemesi bir enjeksiyon ise: 1. Hiç kimse anahtar görselden genel anahtarı kurtaramaz ve imzalayanı tanımlayamaz; 2. İmzalayan kişi farklı I'lere ve aynı x'e sahip iki imza atamaz. Tam bir güvenlik analizi Ek A'da verilmektedir. 4.5 Standart CryptoNote işlemi Bob, her iki yöntemi (bağlanamayan genel anahtarlar ve izlenemeyen halka imza) birleştirerek şunu başarır: Orijinal Bitcoin şemasıyla karşılaştırıldığında yeni gizlilik düzeyi. Yalnızca saklamasını gerektirir anonim işlemleri almaya ve göndermeye başlamak için bir özel anahtar (a, b) ve yayınlayın (A, B). Bob, her işlemi doğrularken ayrıca işlemin kendisine ait olup olmadığını kontrol etmek için yalnızca iki eliptik eğri çarpımı ve çıktı başına bir toplama işlemi gerçekleştirir. Onun için her çıktı Bob bir kerelik anahtar çiftini (pi, Pi) kurtarır ve bunu cüzdanında saklar. Herhangi bir giriş olabilir yalnızca tek bir işlemde ortaya çıkmaları durumunda aynı sahibine sahip oldukları ikinci dereceden kanıtlanmıştır. içinde Aslında tek seferlik zil imzası nedeniyle bu ilişkinin kurulması çok daha zordur. Bir halka imzasıyla Bob, her girişi başkasının girişleri arasında etkili bir şekilde gizleyebilir; hepsi mümkün Önceki sahibin (Alice) bile bundan daha fazla bilgisi olmasa bile harcama yapanlar eşit olasılıklı olacaktır. herhangi bir gözlemci Bob, işlemini imzalarken, kendisininkiyle aynı miktarda yabancı çıktı belirtir. çıktı, diğer kullanıcıların katılımı olmadan hepsini karıştırıyor. Bob'un kendisi (aynı zamanda başkası) bu ödemelerden herhangi birinin harcanıp harcanmadığını bilmiyor: bir çıktı kullanılabilir Binlerce imzada belirsizlik unsuru olarak yer alıyor ve asla saklanma hedefi olarak görülmüyor. Çift Harcama kontrolü LNK aşamasında, kullanılan anahtar görseller setine göre kontrol edilirken gerçekleşir. Bob belirsizlik derecesini kendisi seçebilir: n = 1, sahip olduğu olasılık anlamına gelir harcanan çıktının olasılığı %50, n=99 ise %1'i verir. Ortaya çıkan imzanın boyutu artar O(n+1) şeklinde doğrusaldır, dolayısıyla geliştirilmiş anonimlik Bob'a ekstra işlem ücreti maliyeti getirir. O da yapabilir n = 0'ı ayarlayın ve halka imzasının yalnızca bir öğeden oluşmasını sağlayın, ancak bu anında onu müsrif biri olarak ifşa et. 10 VER: Doğrulayıcı, ters dönüşümleri uygulayarak imzayı kontrol eder: ( L' i = riG + ciPi R' i = riHp(Pi) + ciI Son olarak, doğrulayıcı şunları kontrol eder: nP ben=0 ci ?= Hs(m, L' 0, . . . , L' n, R' 0, . . . , R' n) mod l Bu eşitlik doğruysa, doğrulayıcı LNK algoritmasını çalıştırır. Aksi takdirde doğrulayıcı reddeder imza. LNK: Doğrulayıcı geçmiş imzalarda I kullanılıp kullanılmadığını kontrol eder (bu değerler I'i ayarla). Çoklu kullanım, aynı gizli anahtar altında iki imzanın üretildiği anlamına gelir. Protokolün anlamı: L-dönüşümlerini uygulayarak imzalayan kişi bildiğini kanıtlar öyle bir x ki, en az bir Pi = xG. Bu kanıtı tekrarlanamaz kılmak için anahtar görseli tanıtıyoruz I = xHp(P) olarak. İmzalayan kişi neredeyse aynı ifadeyi kanıtlamak için aynı katsayıları (ri, ci) kullanır: öyle bir x biliyor ki, en az bir \(H_p(P_i) = I \cdot x^{-1}\). Eğer \(x \to I\) eşlemesi bir enjeksiyon ise: 1. Hiç kimse anahtar görselden genel anahtarı kurtaramaz ve imzalayanı tanımlayamaz; 2. İmzalayan kişi farklı I'lere ve aynı x'e sahip iki imza atamaz. Tam bir güvenlik analizi Ek A'da verilmektedir. 4.5 Standart CryptoNote işlemi Bob, her iki yöntemi (bağlanamayan genel anahtarlar ve izlenemeyen halka imza) birleştirerek şunu başarır: Orijinal Bitcoin şemasıyla karşılaştırıldığında yeni gizlilik düzeyi. Yalnızca saklamasını gerektirir anonim işlemleri almaya ve göndermeye başlamak için bir özel anahtar (a, b) ve yayınlayın (A, B). Bob, her işlemi doğrularken ayrıca işlemin kendisine ait olup olmadığını kontrol etmek için yalnızca iki eliptik eğri çarpımı ve çıktı başına bir toplama işlemi gerçekleştirir. Onun için her çıktı Bob bir kerelik anahtar çiftini (pi, Pi) kurtarır ve stcüzdanında saklıyor. Herhangi bir giriş olabilir yalnızca tek bir işlemde ortaya çıkmaları durumunda aynı sahibine sahip oldukları ikinci dereceden kanıtlanmıştır. içinde Aslında tek seferlik zil imzası nedeniyle bu ilişkinin kurulması çok daha zordur. Bir halka imzasıyla Bob, her girişi başkasının girişleri arasında etkili bir şekilde gizleyebilir; hepsi mümkün Önceki sahibin (Alice) bile bundan daha fazla bilgisi olmasa bile harcama yapanlar eşit olasılıklı olacaktır. herhangi bir gözlemci Bob, işlemini imzalarken, kendisininkiyle aynı miktarda yabancı çıktı belirtir. çıktı, diğer kullanıcıların katılımı olmadan hepsini karıştırıyor. Bob'un kendisi (aynı zamanda başkası) bu ödemelerden herhangi birinin harcanıp harcanmadığını bilmiyor: bir çıktı kullanılabilir Binlerce imzada belirsizlik unsuru olarak yer alıyor ve asla saklanma hedefi olarak görülmüyor. Çift Harcama kontrolü LNK aşamasında, kullanılan anahtar görseller setine göre kontrol edilirken gerçekleşir. Bob belirsizlik derecesini kendisi seçebilir: n = 1, sahip olduğu olasılık anlamına gelir harcanan çıktının olasılığı %50, n=99 ise %1'i verir. Ortaya çıkan imzanın boyutu artar O(n+1) şeklinde doğrusaldır, dolayısıyla geliştirilmiş anonimlik Bob'a ekstra işlem ücreti maliyeti getirir. O da yapabilir n = 0'ı ayarlayın ve halka imzasının yalnızca bir öğeden oluşmasını sağlayın, ancak bu anında onu müsrif biri olarak ifşa et. 10 19 Bu noktada kafam çok karışık. Alex, imzayı (I,c_1, ..., c_n, r_1, ..., r_n) ve genel listeyi içeren bir M mesajı alır. S. tuşlarına basıyor ve VER'i çalıştırıyor. Bu L_i' ve R_i'yi hesaplayacaktır Bu, önceki sayfada c_s = c - sum_i neq s c_i olduğunu doğrular. İlk başta kafam çok karışıktı. Herkes L_i' ve R_i'yi hesaplayabilir. Aslında her r_i ve c_i imzada yayınlandı sigma I değeriyle birlikte. S = kümesi Tüm genel anahtarların P_i'si de yayınlandı. Yani sigmayı ve setini gören herkes S = P_i tuşları L_i' ve R_i' için aynı değerleri alacak ve dolayısıyla imzayı kontrol edecektir. Ancak daha sonra bu bölümün bir "kontrol" değil, yalnızca bir imza algoritmasını tanımladığını hatırladım. İmzalanmışsa, BANA GÖNDERİLİP GÖNDERİLMEDİĞİNİ kontrol et ve eğer öyleyse, git parayı harca." Bu KESİNLİKLE Oyunun imza kısmı. Sonunda oraya vardığımda Ek A'yı okumak isterim. Cryptonote'un Bitcoin ile tam ölçekli operasyon bazında karşılaştırmasını görmek istiyorum. Ayrıca elektrik/sürdürülebilirlik. Algoritmanın hangi parçaları burada "girdi" oluşturuyor? İşlem girişinin bir Tutar ve toplamı UTXOs kümesinden oluştuğuna inanıyorum. Tutar. Bu belirsiz. "Gizlenme hedefi mi?" Bunu birkaç dakikadır düşünüyorum ve hala bulamadım bunun ne anlama gelebileceğine dair en belirsiz fikir. Çift harcama saldırısı yalnızca bir düğümün algılanan kullanılmış anahtarı değiştirilerek gerçekleştirilebilir resimler \(I\) olarak ayarlandı. "Belirsizlik derecesi" = n ancak işleme dahil edilen genel anahtarların toplam sayısı n+1. Yani belirsizlik derecesi "başka kaç kişinin olmasını istiyorsunuz" olacaktır. kalabalık mı?" Cevap muhtemelen varsayılan olarak "mümkün olduğu kadar çok" olacaktır.
VER: Doğrulayıcı, ters dönüşümleri uygulayarak imzayı kontrol eder: ( L' i = riG + ciPi R' i = riHp(Pi) + ciI Son olarak, doğrulayıcı şunları kontrol eder: nP ben=0 ci ?= Hs(m, L' 0, . . . , L' n, R' 0, . . . , R' n) mod l Bu eşitlik doğruysa, doğrulayıcı LNK algoritmasını çalıştırır. Aksi takdirde doğrulayıcı reddeder imza. LNK: Doğrulayıcı geçmiş imzalarda I kullanılıp kullanılmadığını kontrol eder (bu değerler I'i ayarla). Çoklu kullanım, aynı gizli anahtar altında iki imzanın üretildiği anlamına gelir. Protokolün anlamı: L-dönüşümlerini uygulayarak imzalayan kişi bildiğini kanıtlar öyle bir x ki, en az bir Pi = xG. Bu kanıtı tekrarlanamaz kılmak için anahtar görseli tanıtıyoruz I = xHp(P) olarak. İmzalayan kişi neredeyse aynı ifadeyi kanıtlamak için aynı katsayıları (ri, ci) kullanır: öyle bir x biliyor ki, en az bir \(H_p(P_i) = I \cdot x^{-1}\). Eğer \(x \to I\) eşlemesi bir enjeksiyon ise: 1. Hiç kimse anahtar görselden genel anahtarı kurtaramaz ve imzalayanı tanımlayamaz; 2. İmzalayan kişi farklı I'lere ve aynı x'e sahip iki imza atamaz. Tam bir güvenlik analizi Ek A'da verilmektedir. 4.5 Standart CryptoNote işlemi Bob, her iki yöntemi (bağlanamayan genel anahtarlar ve izlenemeyen halka imza) birleştirerek şunu başarır: Orijinal Bitcoin düzeniyle karşılaştırıldığında yeni gizlilik düzeyi. Yalnızca saklamasını gerektirir anonim işlemleri almaya ve göndermeye başlamak için bir özel anahtar (a, b) ve yayınlayın (A, B). Bob, her işlemi doğrularken ayrıca işlemin kendisine ait olup olmadığını kontrol etmek için yalnızca iki eliptik eğri çarpımı ve çıktı başına bir toplama işlemi gerçekleştirir. Onun için her çıktı Bob bir kerelik anahtar çiftini (pi, Pi) kurtarır ve bunu cüzdanında saklar. Herhangi bir giriş olabilir yalnızca tek bir işlemde ortaya çıkmaları durumunda aynı sahibine sahip oldukları ikinci dereceden kanıtlanmıştır. içinde Aslında tek seferlik zil imzası nedeniyle bu ilişkinin kurulması çok daha zordur. Bir halka imzasıyla Bob, her girişi başkasının girişleri arasında etkili bir şekilde gizleyebilir; hepsi mümkün Önceki sahibin (Alice) bile bundan daha fazla bilgisi olmasa bile harcama yapanlar eşit olasılıklı olacaktır. herhangi bir gözlemci Bob, işlemini imzalarken, kendisininkiyle aynı miktarda yabancı çıktı belirtir. çıktı, diğer kullanıcıların katılımı olmadan hepsini karıştırıyor. Bob'un kendisi (aynı zamanda başkası) bu ödemelerden herhangi birinin harcanıp harcanmadığını bilmiyor: bir çıktı kullanılabilir Binlerce imzada belirsizlik unsuru olarak yer alıyor ve asla saklanma hedefi olarak görülmüyor. Çift Harcama kontrolü LNK aşamasında, kullanılan anahtar görseller setine göre kontrol edilirken gerçekleşir. Bob belirsizlik derecesini kendisi seçebilir: n = 1, sahip olduğu olasılık anlamına gelir harcanan çıktının olasılığı %50, n=99 ise %1'i verir. Ortaya çıkan imzanın boyutu artar O(n+1) şeklinde doğrusaldır, dolayısıyla geliştirilmiş anonimlik Bob'a ekstra işlem ücreti maliyeti getirir. O da yapabilir n = 0'ı ayarlayın ve halka imzasının yalnızca bir öğeden oluşmasını sağlayın, ancak bu anında onu müsrif biri olarak ifşa et. 10 VER: Doğrulayıcı, ters dönüşümleri uygulayarak imzayı kontrol eder: ( L' i = riG + ciPi R' i = riHp(Pi) + ciI Son olarak, doğrulayıcı şunları kontrol eder: nP ben=0 ci ?= Hs(m, L' 0, . . . , L' n, R' 0, . . . , R' n) mod l Bu eşitlik doğruysa, doğrulayıcı LNK algoritmasını çalıştırır. Aksi takdirde doğrulayıcı reddeder imza. LNK: Doğrulayıcı geçmiş imzalarda I kullanılıp kullanılmadığını kontrol eder (bu değerler I'i ayarla). Çoklu kullanım, aynı gizli anahtar altında iki imzanın üretildiği anlamına gelir. Protokolün anlamı: L-dönüşümlerini uygulayarak imzalayan kişi bildiğini kanıtlar öyle bir x ki, en az bir Pi = xG. Bu kanıtı tekrarlanamaz kılmak için anahtar görseli tanıtıyoruz I = xHp(P) olarak. İmzalayan kişi neredeyse aynı ifadeyi kanıtlamak için aynı katsayıları (ri, ci) kullanır: öyle bir x biliyor ki, en az bir \(H_p(P_i) = I \cdot x^{-1}\). Eğer \(x \to I\) eşlemesi bir enjeksiyon ise: 1. Hiç kimse anahtar görselden genel anahtarı kurtaramaz ve imzalayanı tanımlayamaz; 2. İmzalayan kişi farklı I'lere ve aynı x'e sahip iki imza atamaz. Tam bir güvenlik analizi Ek A'da verilmektedir. 4.5 Standart CryptoNote işlemi Bob, her iki yöntemi (bağlanamayan genel anahtarlar ve izlenemeyen halka imza) birleştirerek şunu başarır: Orijinal Bitcoin şemasıyla karşılaştırıldığında yeni gizlilik düzeyi. Yalnızca saklamasını gerektirir anonim işlemleri almaya ve göndermeye başlamak için bir özel anahtar (a, b) ve yayınlayın (A, B). Bob, her işlemi doğrularken ayrıca işlemin kendisine ait olup olmadığını kontrol etmek için yalnızca iki eliptik eğri çarpımı ve çıktı başına bir toplama işlemi gerçekleştirir. Onun için her çıktı Bob bir kerelik anahtar çiftini (pi, Pi) kurtarır ve stcüzdanında saklıyor. Herhangi bir giriş olabilir yalnızca tek bir işlemde ortaya çıkmaları durumunda aynı sahibine sahip oldukları ikinci dereceden kanıtlanmıştır. içinde Aslında tek seferlik zil imzası nedeniyle bu ilişkinin kurulması çok daha zordur. Bir halka imzasıyla Bob, her girişi başkasının girişleri arasında etkili bir şekilde gizleyebilir; hepsi mümkün Önceki sahibin (Alice) bile bundan daha fazla bilgisi olmasa bile harcama yapanlar eşit olasılıklı olacaktır. herhangi bir gözlemci Bob, işlemini imzalarken, kendisininkiyle aynı miktarda yabancı çıktı belirtir. çıktı, diğer kullanıcıların katılımı olmadan hepsini karıştırıyor. Bob'un kendisi (aynı zamanda başkası) bu ödemelerden herhangi birinin harcanıp harcanmadığını bilmiyor: bir çıktı kullanılabilir Binlerce imzada belirsizlik unsuru olarak yer alıyor ve asla saklanma hedefi olarak görülmüyor. Çift Harcama kontrolü LNK aşamasında, kullanılan anahtar görseller setine göre kontrol edilirken gerçekleşir. Bob belirsizlik derecesini kendisi seçebilir: n = 1, sahip olduğu olasılık anlamına gelir harcanan çıktının olasılığı %50, n=99 ise %1'i verir. Ortaya çıkan imzanın boyutu artar O(n+1) şeklinde doğrusaldır, dolayısıyla geliştirilmiş anonimlik Bob'a ekstra işlem ücreti maliyeti getirir. O da yapabilir n = 0'ı ayarlayın ve halka imzasının yalnızca bir öğeden oluşmasını sağlayın, ancak bu anında onu müsrif biri olarak ifşa et. 10 20 Bu ilginç; daha önce Bob adlı alıcının tüm GELENLERİ alabilmesi için bir yol sunmuştuk. özel anahtarlarının yarısını deterministik olarak seçerek veya özel anahtarlarının yarısını herkese açık olarak yayınlıyor. Bu geri dönüşü olmayan bir politikadır. Burada görüyoruz Gönderenin Alex'in tek bir giden işlemi bağlanabilir olarak seçmesinin bir yolu, ama aslında bu Alex'in tüm ağın göndericisi olduğunu ortaya koyuyor. Bu geri dönüşü olmayan bir politika DEĞİLDİR. Bu, işlem bazındadır. Üçüncü bir politika var mı? Alıcı Bob, Alex için benzersiz bir ödeme kimliği oluşturabilir mi? belki Diffe-Hellman değişimini kullanarak hiç değişmiyor? Birisi bu ödemeyi dahil ederse İşlemin bir yerinde Bob'un adresine gönderilen kimlik, Alex'ten gelmiş olmalı. Bu şekilde, Alex'in belirli bir bağlantıya bağlanmayı seçerek kendisini tüm ağa göstermesine gerek kalmaz. ancak yine de parasını gönderdiği kişiye kendisini tanıtabilir. Poloniex'in yaptığı da bu değil mi?
İşlem Gönderim girişi Çıkış0 . . . Çıkış . . . Çıkış Anahtar resim İmzalar Yüzük İmzası Hedef anahtarı Çıkış1 Hedef anahtarı Çıkış Yabancı işlemler Gönderenin çıktısı Hedef anahtarı Tek kullanımlık anahtar eşleştirme Bir kerelik özel anahtar ben = xHp(P) P, x Şekil 7. Standart bir işlemde halka imzası üretimi. 5 Eşitlikçi İş Kanıtı Bu bölümde yeni proof-of-work algoritmasını öneriyor ve temellendiriyoruz. Öncelikli hedefimiz CPU (çoğunluk) ve GPU/FPGA/ASIC (azınlık) madencileri arasındaki boşluğu kapatmaktır. öyle bazı kullanıcıların diğerlerine göre belirli bir avantaja sahip olabileceği ancak yatırımlarının en azından güçle birlikte doğrusal olarak büyümelidir. Daha genel olarak özel amaçlı cihazların üretilmesi mümkün olduğu kadar az kârlı olmalıdır. 5.1 İlgili çalışmalar Orijinal Bitcoin proof-of-work protokolü, CPU yoğun fiyatlandırma işlevini SHA-256 kullanır. Temel olarak temel mantıksal operatörlerden oluşur ve yalnızca hesaplama hızına dayanır. işlemci bu nedenle çok çekirdekli/taşıyıcı uygulaması için mükemmel şekilde uygundur. Ancak modern bilgisayarlar yalnızca saniyedeki işlem sayısıyla sınırlı değildir. ama aynı zamanda hafıza boyutuna göre. Bazı işlemciler diğerlerinden önemli ölçüde daha hızlı olsa da [8], bellek boyutlarının makineler arasında değişme olasılığı daha azdır. Belleğe bağlı fiyat fonksiyonları ilk olarak Abadi ve diğerleri tarafından tanıtıldı ve şu şekilde tanımlandı: “hesaplama zamanına belleğe erişimde harcanan sürenin hakim olduğu işlevler” [15]. Ana fikir, büyük bir veri bloğunu (“not defteri”) tahsis eden bir algoritma oluşturmaktır. Nispeten yavaş erişilebilen bellek içinde (örneğin RAM) ve “bir içindeki öngörülemeyen konumlar dizisi”. Bir blok muhafaza edilebilecek kadar büyük olmalıdır Verileri her erişim için yeniden hesaplamaktan daha avantajlıdır. Algoritma aynı zamanda dahili paralelliği önler, dolayısıyla N eşzamanlı iş parçacığı N kat daha fazla bellek gerektirir hemen. Dwork ve diğerleri [22] bu yaklaşımı araştırıp resmileştirdiler ve bu da onları başka bir yaklaşım önermeye yönlendirdi fiyatlandırma fonksiyonunun bir çeşidi: “Mbound”. Bir eser daha F. Coelho'ya ait [20] 11 İşlem Gönderim girişi Çıkış0 . . . Çıkış . . . Çıkış Anahtar resim İmzalar Yüzük İmzası Hedef anahtarı Çıkış1 Hedef anahtarı Çıkış Yabancı işlemler Gönderenin çıktısı Hedef anahtarı Tek kullanımlık anahtar eşleştirme Bir kerelik özel anahtar ben = xHp(P) P, x Şekil 7. Standart bir işlemde halka imzası üretimi. 5 Eşitlikçi İş Kanıtı Bu bölümde yeni proof-of-work algoritmasını öneriyor ve temellendiriyoruz. Öncelikli hedefimiz CPU (çoğunluk) ve GPU/FPGA/ASIC (azınlık) madencileri arasındaki boşluğu kapatmaktır. öyle bazı kullanıcıların diğerlerine göre belirli bir avantaja sahip olabileceği ancak yatırımlarının en azından güçle birlikte doğrusal olarak büyümelidir. Daha genel olarak özel amaçlı cihazların üretilmesi mümkün olduğu kadar az kârlı olmalıdır. 5.1 İlgili çalışmalar Orijinal Bitcoin proof-of-work protokolü, CPU yoğun fiyatlandırma işlevini SHA-256 kullanır. Temel olarak temel mantıksal operatörlerden oluşur ve yalnızca hesaplama hızına dayanır. işlemci bu nedenle çok çekirdekli/taşıyıcı uygulaması için mükemmel şekilde uygundur. Ancak modern bilgisayarlar yalnızca saniyedeki işlem sayısıyla sınırlı değildir. ama aynı zamanda hafıza boyutuna göre. Bazı işlemciler diğerlerinden önemli ölçüde daha hızlı olabilse de [8], bellek boyutlarının makineler arasında değişme olasılığı daha azdır. Belleğe bağlı fiyat fonksiyonları ilk olarak Abadi ve diğerleri tarafından tanıtıldı ve şu şekilde tanımlandı: “hesaplama zamanına belleğe erişimde harcanan sürenin hakim olduğu işlevler” [15]. Ana fikir, büyük bir veri bloğunu (“not defteri”) tahsis eden bir algoritma oluşturmaktır. Nispeten yavaş erişilebilen bellek içinde (örneğin RAM) ve “bir içindeki öngörülemeyen konumlar dizisi”. Bir blok muhafaza edilebilecek kadar büyük olmalıdır Verileri her erişim için yeniden hesaplamaktan daha avantajlıdır. Algoritma aynı zamanda dahili paralelliği önler, dolayısıyla N eşzamanlı iş parçacığı N kat daha fazla bellek gerektirir hemen. Dwork ve arkadaşları [22] bu yaklaşımı araştırıp resmileştirdiler ve bu da onları başka bir yaklaşım önermeye yöneltti. fiyatlandırma fonksiyonunun bir çeşidi: “Mbound”. Bir eser daha F. Coelho'ya ait [20] 11 21 Görünüşte bunlar bizim UTXO'larımız: tutarlar ve hedef anahtarlarımız. Bu standart işlemi oluşturan ve Bob'a gönderen kişi Alex ise, o zaman Alex'in özel anahtarları da vardır bunların her birine. Bu diyagramı çok seviyorum çünkü daha önceki bazı sorulara yanıt veriyor. Bir Txn girişi oluşur bir dizi Txn çıkışı ve bir keresim. Daha sonra tümü dahil olmak üzere halka imzayla imzalanır. Alex'in anlaşmaya dahil edilen tüm yabancı işlemlere ait özel anahtarları. Txn çıktısı bir miktar ve bir hedef anahtarından oluşur. İşlemin alıcısı, harcamak için makalede daha önce açıklandığı gibi tek kullanımlık özel anahtarlarını istedikleri zaman oluşturabilirler. para. Bunun gerçek kodla ne kadar eşleştiğini öğrenmek çok keyifli olacak... Hayır, Nic van Saberhagen iş kanıtı algoritmasının bazı özelliklerini gevşek bir şekilde açıklıyor, aslında bu algoritmayı tanımlamadan. CryptoNight algoritmasının kendisi derin bir analiz GEREKTİRİR. Bunu okuyunca kekeledim. Yatırım en azından güçle birlikte doğrusal olarak mı büyümeli, yoksa yatırım en fazla güçle doğrusal olarak mı büyüyor? Ve sonra şunu fark ettim; Ben bir madenci veya yatırımcı olarak genellikle "ne kadar güç elde edebilirim" diye düşünürüm yatırım için mi?" "Sabit miktardaki güç için ne kadar yatırım gerekir?" değil. Elbette, yatırımı I ile, gücü ise P ile belirtin. Eğer I(P) gücün bir fonksiyonu olarak yatırım ise ve P(I) yatırımın bir fonksiyonu olarak güçtür, birbirlerinin tersi olacaktır (nerede olursa olsun) tersler mevcut olabilir). Ve eğer I(P), doğrusaldan daha hızlıysa, P(I) doğrusaldan daha yavaştır. Bu nedenle, yatırımcılar için daha düşük bir getiri oranı olacaktır. Yani yazarın burada söylediği şu: "Elbette, ne kadar çok yatırım yaparsanız, o kadar çok kazanırsınız. güç. Ancak bunu daha düşük bir getiri oranı meselesi haline getirmeye çalışmalıyız." CPU yatırımları eninde sonunda alt sınıra ulaşacak; soru, yazarların ASIC'leri de bunu yapmaya zorlayacak bir POW algoritması tasarladık. Varsayımsal bir "geleceğin para birimi" her zaman en yavaş/en sınırlı kaynaklarla mı madencilik yapmalı? Abadi ve arkadaşlarının (bazı Google ve Microsoft mühendislerinin yazar olduğu) makalesi şöyledir: esasen, son birkaç yıldır bellek boyutunun çok daha küçük olduğu gerçeğini kullanarak makineler arasında işlemci hızından daha fazla farklılık vardır ve doğrusaldan daha fazla bir yatırım-güç oranına sahiptir. Birkaç yıl içinde bunun yeniden değerlendirilmesi gerekebilir! Herşey bir silahlanma yarışı... Bir hash işlevinin oluşturulması zordur; bu kısıtlamaları karşılayan bir hash işlevi oluşturmak daha zor görünüyor. Bu yazıda gerçekle ilgili hiçbir açıklama yok gibi görünüyor hashing algoritması CryptoNight. Bunun SHA-3'ün hafıza açısından zor bir uygulaması olduğunu düşünüyorum. forum gönderilerinde ama hiçbir fikrim yok... ve mesele de bu. Açıklanması gerekir.
en etkili çözümü önerdi: “Hokkaido”. Bildiğimiz kadarıyla büyük bir dizide sözde rastgele arama fikrine dayanan son çalışma C. Percival [32] tarafından “scrypt” olarak bilinen algoritma. Önceki işlevlerden farklı olarak aşağıdakilere odaklanır: anahtar türetme ve proof-of-work sistemler değil. Bu gerçeğe rağmen scrypt amacımıza hizmet edebilir: SHA-256 gibi kısmi hash dönüşüm probleminde bir fiyatlandırma işlevi olarak iyi çalışır. Bitcoin. Şu ana kadar Litecoin [14] ve diğer bazı Bitcoin çatallarda şifre zaten uygulandı. Bununla birlikte, uygulanması aslında belleğe bağlı değildir: "bellek erişim süresi / genel" oranı time" yeterince büyük değil çünkü her örnek yalnızca 128 KB kullanıyor. Bu, GPU madencilerinin kabaca 10 kat daha etkili olmaya devam ediyor ve nispeten yaratma olanağı bırakmaya devam ediyor ucuz ama son derece verimli madencilik cihazları. Dahası, şifre yapısının kendisi bellek boyutu ile bellek boyutu arasında doğrusal bir değiş tokuşa izin verir. Karalama defterindeki her bloğun yalnızca bir öncekinden türetilmesi nedeniyle CPU hızı. Örneğin, her ikinci bloğu saklayabilir ve diğerlerini tembel bir şekilde yeniden hesaplayabilirsiniz, yani yalnızca gerekli olduğunda. Sözde rastgele indekslerin düzgün dağıldığı varsayılır, dolayısıyla ek blokların yeniden hesaplamalarının beklenen değeri 1'dir \(2 \cdot N\), burada N sayıdır yinelemelerden oluşur. Genel hesaplama süresi yarıdan daha az artar çünkü ayrıca karalama defterinin hazırlanması ve hashing gibi zamandan bağımsız (sabit zamanlı) işlemler her yineleme. Bellek maliyetlerinin 2/3'ünden tasarruf etmek 1 \(3 \cdot N\) + 1 3 \(\cdot\) \(2 \cdot N\) = N ek yeniden hesaplama; 9/10 sonuç 1 \(10 \cdot N\) + . . . + 1 \(10 \cdot 9 \cdot N\) = 4,5K. Sadece 1 tanesinin saklandığını göstermek kolaydır. tüm bloklardan zamanı s−1 faktöründen daha az artırır 2. Bu da CPU'lu bir makinenin olduğu anlamına gelir. Modern çiplerden 200 kat daha hızlı olan çipler, karalama defterinin yalnızca 320 baytını depolayabiliyor. 5.2 Önerilen algoritma proof-of-work fiyatlandırma işlevi için yeni bir belleğe bağlı algoritma öneriyoruz. Şuna dayanır: Yavaş bir belleğe rastgele erişim ve gecikme bağımlılığını vurgular. Her birini şifrelemenin aksine yeni blok (64 bayt uzunluğunda) önceki tüm bloklara bağlıdır. Sonuç olarak varsayımsal "Hafıza koruyucu" hesaplama hızını katlanarak artırmalıdır. Algoritmamız aşağıdaki nedenlerden dolayı örnek başına yaklaşık 2 Mb gerektirir: 1. Modern işlemcilerin ana akım haline gelmesi gereken L3 önbelleğine (çekirdek başına) sığar birkaç yıl içinde; 2. Bir megabayt dahili bellek, modern bir ASIC boru hattı için neredeyse kabul edilemez bir boyuttur; 3. GPU'lar yüzlerce eş zamanlı örneği çalıştırabilir ancak başka açılardan sınırlıdırlar: GDDR5 bellek, CPU L3 önbelleğinden daha yavaştır ve bant genişliği açısından dikkat çekicidir. rastgele erişim hızı. 4. Karalama defterinin önemli ölçüde genişlemesi yinelemelerde bir artış gerektirecektir; dönüş genel bir süre artışı anlamına gelir. Güvenin olmadığı bir p2p ağında "ağır" çağrılar, ciddi güvenlik açıkları var çünkü düğümler her yeni bloğun proof-of-work değerini kontrol etmek zorunda. Bir düğüm her hash değerlendirmesine önemli miktarda zaman harcıyorsa, bu kolayca yapılabilir. Rastgele çalışma verilerine (nonce değerleri) sahip bir dizi sahte nesne tarafından DDoS uygulandı. 12 en etkili çözümü önerdi: “Hokkaido”. Bildiğimiz kadarıyla büyük bir dizide sözde rastgele arama fikrine dayanan son çalışma C. Percival [32] tarafından “scrypt” olarak bilinen algoritma. Önceki işlevlerden farklı olarak aşağıdakilere odaklanır: anahtar türetme, proof-of-work sistemler değil. Bu gerçeğe rağmen scrypt amacımıza hizmet edebilir: SHA-256 gibi kısmi hash dönüştürme probleminde bir fiyatlandırma işlevi olarak iyi çalışır. Bitcoin. Şu ana kadar Litecoin [14] ve diğer bazı Bitcoin çatallarda şifre zaten uygulandı. Bununla birlikte, uygulanması aslında belleğe bağlı değildir: "bellek erişim süresi / genel" oranı time" yeterince büyük değil çünkü her örnek yalnızca 128 KB kullanıyor. Bu, GPU madencilerine izin verir kabaca 10 kat daha etkili olmaya devam ediyor ve nispeten yaratma olanağı bırakmaya devam ediyor ucuz ama son derece verimli madencilik cihazları. Dahası, şifre yapısının kendisi bellek boyutu ile bellek boyutu arasında doğrusal bir değiş tokuşa izin verir. Karalama defterindeki her bloğun yalnızca bir öncekinden türetilmesi nedeniyle CPU hızı. Örneğin, her ikinci bloğu saklayabilir ve diğerlerini tembel bir şekilde yeniden hesaplayabilirsiniz, yani yalnızca gerekli olduğunda. Sözde rastgele indekslerin düzgün dağıldığı varsayılır, dolayısıyla ek blokların yeniden hesaplamalarının beklenen değeri 1'dir \(2 \cdot N\), buradaN sayıdır yinelemelerden oluşur. Genel hesaplama süresi yarıdan daha az artar çünkü ayrıca karalama defterinin hazırlanması ve hashing gibi zamandan bağımsız (sabit zamanlı) işlemler her yineleme. Bellek maliyetlerinin 2/3'ünden tasarruf etmek 1 \(3 \cdot N\) + 1 3 \(\cdot\) \(2 \cdot N\) = N ek yeniden hesaplama; 9/10 sonuç 1 \(10 \cdot N\) + . . . + 1 \(10 \cdot 9 \cdot N\) = 4,5K. Sadece 1 tanesinin saklandığını göstermek kolaydır. tüm bloklardan zamanı s−1 faktöründen daha az artırır 2. Bu da CPU'lu bir makinenin olduğu anlamına gelir. Modern çiplerden 200 kat daha hızlı olan çipler, karalama defterinin yalnızca 320 baytını depolayabiliyor. 5.2 Önerilen algoritma proof-of-work fiyatlandırma işlevi için yeni bir belleğe bağlı algoritma öneriyoruz. Şuna dayanır: Yavaş bir belleğe rastgele erişim ve gecikme bağımlılığını vurgular. Her birini şifrelemenin aksine yeni blok (64 bayt uzunluğunda) önceki tüm bloklara bağlıdır. Sonuç olarak varsayımsal "Hafıza koruyucu" hesaplama hızını katlanarak artırmalıdır. Algoritmamız aşağıdaki nedenlerden dolayı örnek başına yaklaşık 2 Mb gerektirir: 1. Modern işlemcilerin ana akım haline gelmesi gereken L3 önbelleğine (çekirdek başına) sığar birkaç yıl içinde; 2. Bir megabayt dahili bellek, modern bir ASIC boru hattı için neredeyse kabul edilemez bir boyuttur; 3. GPU'lar yüzlerce eş zamanlı örneği çalıştırabilir ancak başka açılardan sınırlıdırlar: GDDR5 bellek, CPU L3 önbelleğinden daha yavaştır ve bant genişliği açısından dikkat çekicidir. rastgele erişim hızı. 4. Karalama defterinin önemli ölçüde genişlemesi yinelemelerde bir artış gerektirecektir; dönüş genel bir süre artışı anlamına gelir. Güvenin olmadığı bir p2p ağında "ağır" çağrılar, ciddi güvenlik açıkları var çünkü düğümler her yeni bloğun proof-of-work değerini kontrol etmek zorunda. Bir düğüm her hash değerlendirmesine önemli miktarda zaman harcıyorsa, bu kolayca yapılabilir. Rastgele çalışma verilerine (nonce değerleri) sahip bir dizi sahte nesne tarafından DDoS uygulandı. 12 22 Boşver, bu bir şifreli para mı? Algoritma nerede? Gördüğüm tek şey bir reklam. Burası, eğer PoW algoritması değerliyse, Cryptonote'un gerçekten parlayacağı yerdir. değil gerçekten SHA-256, gerçekten şifreli değil. Yenidir, belleğe bağlıdır ve yinelenmez.
6 Diğer avantajlar 6.1 Sorunsuz emisyon CryptoNote dijital paralarının toplam miktarının üst sınırı şöyledir: MSarzı = 264 −1 atom birimleri. Bu, sezgiye değil, yalnızca uygulama sınırlarına dayanan doğal bir kısıtlamadır. "N tane para herkese yetmeli" gibi. Emisyon sürecinin düzgünlüğünü sağlamak için blok için aşağıdaki formülü kullanıyoruz: ödüller: Temel Ödül = (MSarzı −A) ≫18, burada A, daha önce üretilen madeni paraların miktarıdır. 6.2 Ayarlanabilir parametreler 6.2.1 Zorluk CryptoNote, her bloğun zorluğunu değiştiren bir hedefleme algoritması içerir. Bu Ağ hashhızının yoğun bir şekilde arttığı veya daraldığı durumlarda sistemin tepki süresini azaltır, sabit bir blok oranının korunması. Orijinal Bitcoin yöntemi, gerçek değer ilişkisini hesaplar ve son 2016 blok arasındaki zaman aralığını hedef alır ve bunu mevcut blok için çarpan olarak kullanır zorluk. Açıkçası bu, hızlı yeniden hesaplamalar için uygun değildir (büyük atalet nedeniyle) ve salınımlarla sonuçlanır. Algoritmamızın arkasındaki genel fikir, düğümlerin tamamladığı tüm işleri toplamak ve harcadıkları zamana bölün. İşin ölçüsü karşılık gelen zorluk değerleridir her blokta. Ancak yanlış ve güvenilmeyen zaman damgaları nedeniyle kesin zamanı belirleyemiyoruz bloklar arasındaki zaman aralığı. Kullanıcı zaman damgasını geleceğe ve bir sonraki zamana kaydırabilir aralıklar beklenmedik derecede küçük veya hatta negatif olabilir. Muhtemelen birkaç olay yaşanacak bu tür, böylece zaman damgalarını sıralayabilir ve aykırı değerleri (yani %20) kesebiliriz. aralığı geri kalan değerler karşılık gelen blokların %80'i için harcanan süredir. 6.2.2 Boyut sınırları Kullanıcılar blockchain dosyasını depolamak için ödeme yapar ve boyutuna göre oy verme hakkına sahip olur. Her madenci maliyetleri dengelemek ile ücretlerden elde edilen karı dengelemek arasında karar verir ve kendi kararını verir Blok oluşturmak için “yumuşak limit”. Ayrıca maksimum blok boyutuna ilişkin temel kural aşağıdakiler için gereklidir: blockchain'nin sahte işlemlerle doldurulması engelleniyor, ancak bu değerin sabit kodlanmış olmayın. MN, son N blok boyutunun medyan değeri olsun. Daha sonra boyut için "zor sınır" Blok kabul etme oranı \(2 \cdot M_N\)'dir. blockchain öğesinin şişmesini önler ancak yine de sınırın aşılmasına izin verir Gerekirse zamanla yavaş yavaş büyüyün. İşlem boyutunun açıkça sınırlandırılmasına gerek yoktur. Bir bloğun boyutuyla sınırlıdır; ve eğer birisi yüzlerce girdi/çıktı (veya Halka imzalardaki belirsizlik derecesinin yüksek olması nedeniyle) bunu yeterli ücret ödeyerek yapabilir. 6.2.3 Aşırı boyut cezası Bir madenci hâlâ kendi sıfır ücretli işlemleriyle dolu bir bloğu maksimum seviyeye kadar doldurma yeteneğine sahiptir boyut \(2 \cdot M_b\). Her ne kadar madencilerin yalnızca çoğunluğu medyan değeri değiştirebilse de, hala 13 6 Diğer avantajlar 6.1 Sorunsuz emisyon CryptoNote dijital paralarının toplam miktarının üst sınırı şöyledir: MSarzı = 264 −1 atom birimleri. Bu, sezgiye değil, yalnızca uygulama sınırlarına dayanan doğal bir kısıtlamadır. "N tane para herkese yetmeli" gibi. Emisyon sürecinin düzgünlüğünü sağlamak için blok için aşağıdaki formülü kullanıyoruz: ödüller: Temel Ödül = (MSarzı −A) ≫18, burada A, daha önce üretilen madeni paraların miktarıdır. 6.2 Ayarlanabilir parametreler 6.2.1 Zorluk CryptoNote, her bloğun zorluğunu değiştiren bir hedefleme algoritması içerir. Bu Ağ hashhızının yoğun bir şekilde arttığı veya daraldığı durumlarda sistemin tepki süresini azaltır, sabit bir blok oranının korunması. Orijinal Bitcoin yöntemi, gerçek değer ilişkisini hesaplar ve son 2016 blok arasındaki zaman aralığını hedef alır ve bunu mevcut blok için çarpan olarak kullanır zorluk. Açıkçası bu, hızlı yeniden hesaplamalar için uygun değildir (büyük atalet nedeniyle) ve salınımlarla sonuçlanır. Algoritmamızın arkasındaki genel fikir, düğümlerin tamamladığı tüm işleri toplamak ve harcadıkları zamana bölün. İşin ölçüsü karşılık gelen zorluk değerleridir her blokta. Ancak yanlış ve güvenilmeyen zaman damgaları nedeniyle kesin zamanı belirleyemiyoruz bloklar arasındaki zaman aralığı. Kullanıcı zaman damgasını geleceğe ve bir sonraki zamana kaydırabilir aralıklar beklenmedik derecede küçük veya hatta negatif olabilir. Muhtemelen birkaç olay yaşanacak bu tür, böylece zaman damgalarını sıralayabilir ve aykırı değerleri (yani %20) kesebiliriz. aralığı geri kalan değerler karşılık gelen blokların %80'i için harcanan süredir. 6.2.2 Boyut sınırları Kullanıcılar blockchain dosyasını depolamak için ödeme yapar ve boyutuna göre oy verme hakkına sahip olur. Her madenci dengeleme arasındaki değiş tokuşla ilgilenirÜcretlerden maliyetleri ve karı kendisi belirler Blok oluşturmak için “yumuşak limit”. Ayrıca maksimum blok boyutuna ilişkin temel kural aşağıdakiler için gereklidir: blockchain'nin sahte işlemle doldurulması engelleniyor, ancak bu değerin sabit kodlanmış olmayın. MN, son N blok boyutunun medyan değeri olsun. Daha sonra boyut için "zor sınır" Blok kabul etme oranı \(2 \cdot M_N\)'dir. blockchain öğesinin şişmesini önler ancak yine de sınırın aşılmasına izin verir Gerekirse zamanla yavaş yavaş büyüyün. İşlem boyutunun açıkça sınırlandırılmasına gerek yoktur. Bir bloğun boyutuyla sınırlıdır; ve eğer birisi yüzlerce girdi/çıktı (veya Halka imzalardaki belirsizlik derecesinin yüksek olması nedeniyle) bunu yeterli ücret ödeyerek yapabilir. 6.2.3 Aşırı boyut cezası Bir madenci hâlâ kendi sıfır ücretli işlemleriyle dolu bir bloğu maksimum seviyeye kadar doldurma yeteneğine sahiptir boyut \(2 \cdot M_b\). Her ne kadar madencilerin yalnızca çoğunluğu medyan değeri değiştirebilse de, hala 13 23 Atomik birimler. Bunu sevdim. Bu Satoshi'nin eşdeğeri mi? Eğer öyleyse, bu 185 milyar kriptonot olacağı anlamına geliyor. Bunun eninde sonunda birkaç sayfada düzeltilmesi gerektiğini biliyorum, yoksa bir yazım hatası mı var? Temel ödül "kalan tüm paralar" ise tüm paraları almak için yalnızca bir blok yeterlidir. Instamine. Öte yandan, eğer bunun bir şekilde orantılı olması gerekiyorsa, şimdi ile madeni para üretim-sonlandırma-tarihi arasında zaman farkı var mı? bu olurdu mantıklı. Ayrıca benim dünyamda bunun gibi iki büyüktür işareti "çok daha büyük" anlamına gelir. Yazar mı muhtemelen başka bir şey mi kastediyorsun? Eğer zorluğa uyum her blokta gerçekleşirse, saldırganın çok büyük bir çiftliği olabilir. makineler dikkatle seçilmiş zaman aralıklarında madencilik yapar ve kapatır. Zorluk ayarlama formülleri uygun şekilde sönümlenmezse, bu durum zorlukta kaotik bir patlamaya (veya sıfıra çarpmaya) neden olabilir. Bitcoin'nin yönteminin hızlı yeniden hesaplamalar için uygun olmadığına şüphe yok, ancak eylemsizlik fikri bu sistemlerde olduğu gibi kabul edilmesi değil, kanıtlanması gerekir. Ayrıca salınımlar görünürde dalgalanmalara neden olmadığı sürece ağ zorluğu mutlaka bir sorun değildir. madeni para arzı - ve çok hızlı değişen bir zorluğa sahip olmak "aşırı düzeltmeye" neden olabilir. Özellikle birkaç dakika gibi kısa bir zaman diliminde harcanan zaman, "toplam" ile orantılı olacaktır. ağda oluşturulan blok sayısı." Orantılılık sabitinin kendisi büyüyecek zamanla, eğer CN başlarsa muhtemelen katlanarak. "Oluşturulan toplam blokları" korumak için zorluğu basitçe ayarlamak daha iyi bir fikir olabilir. Son bloğun ana zincire eklenmesinden bu yana ağ" sabit bir değer dahilinde veya sınırlı varyasyon veya buna benzer bir şey. Hesaplamalı uyarlanabilir bir algoritma ise uygulanması kolay belirlenebilirse, bu sorunu çözüyor gibi görünmektedir. Ancak bu yöntemi kullanırsak, büyük bir madencilik çiftliği olan birisi çiftliğini kapatabilir. birkaç saatliğine açın ve tekrar açın. İlk birkaç blokta o çiftlik banka. Yani aslında bu yöntem ilginç bir noktayı gündeme getiriyor: madencilik (ortalama olarak) bir Özellikle daha fazla insan ağa bağlandıkça yatırım getirisi olmadan oyunu kaybetmek. Madencilik zorluğu varsa ağ çok yakından takip ediliyor hashoranı, insanların bu kadar madencilik yapacağından bir şekilde şüpheliyim şu anda yapıyorum. Veya diğer taraftan madencilik çiftliklerini 7/24 çalışır durumda tutmak yerine, onları çevirebilirler. 6 saat açık, 2 saat kapalı, 6 saat açık, 2 saat kapalı veya bunun gibi bir şey. Sadece başka bir paraya geçin birkaç saat boyunca zorluğun düşmesini bekleyin, sonra birkaç ekstra kazanmak için tekrar atlayın ağ uyum sağladıkça karlılık blokları. Ve biliyor musun? Bu aslında muhtemelen Aklıma koyduğum en iyi madencilik senaryolarından biri... Bu döngüsel olabilir, ancak blok oluşturma süresi ortalama yaklaşık bir dakika ise, bunu yapabilir miyiz? "harcanan zaman" için blok sayısını temsili olarak mı kullanacaksınız?
6 Diğer avantajlar 6.1 Sorunsuz emisyon CryptoNote dijital paralarının toplam miktarının üst sınırı şöyledir: MSarzı = 264 −1 atom birimleri. Bu, sezgiye değil, yalnızca uygulama sınırlarına dayanan doğal bir kısıtlamadır. "N tane para herkese yetmeli" gibi. Emisyon sürecinin düzgünlüğünü sağlamak için blok için aşağıdaki formülü kullanıyoruz: ödüller: Temel Ödül = (MSarzı −A) ≫18, burada A, daha önce üretilen madeni paraların miktarıdır. 6.2 Ayarlanabilir parametreler 6.2.1 Zorluk CryptoNote, her bloğun zorluğunu değiştiren bir hedefleme algoritması içerir. Bu Ağ hashoranı yoğun bir şekilde büyüdüğünde veya daraldığında sistemin tepki süresini azaltır, sabit bir blok oranının korunması. Orijinal Bitcoin yöntemi, gerçek değer ilişkisini hesaplar ve son 2016 blok arasındaki zaman aralığını hedef alır ve bunu mevcut blok için çarpan olarak kullanır zorluk. Açıkçası bu, hızlı yeniden hesaplamalar için uygun değildir (büyük atalet nedeniyle) ve salınımlarla sonuçlanır. Algoritmamızın arkasındaki genel fikir, düğümlerin tamamladığı tüm işleri toplamak ve harcadıkları zamana bölün. İşin ölçüsü karşılık gelen zorluk değerleridir her blokta. Ancak yanlış ve güvenilmeyen zaman damgaları nedeniyle kesin zamanı belirleyemiyoruz bloklar arasındaki zaman aralığı. Kullanıcı zaman damgasını geleceğe ve bir sonraki zamana kaydırabilir aralıklar beklenmedik derecede küçük veya hatta negatif olabilir. Muhtemelen birkaç olay yaşanacak bu tür, böylece zaman damgalarını sıralayabilir ve aykırı değerleri (yani %20) kesebiliriz. aralığı geri kalan değerler karşılık gelen blokların %80'i için harcanan süredir. 6.2.2 Boyut sınırları Kullanıcılar blockchain dosyasını depolamak için ödeme yapar ve boyutuna göre oy kullanma hakkına sahip olur. Her madenci maliyetleri dengelemek ile ücretlerden elde edilen karı dengelemek arasında karar verir ve kendi kararını verir Blok oluşturmak için “yumuşak limit”. Ayrıca maksimum blok boyutuna ilişkin temel kural aşağıdakiler için gereklidir: blockchain'nin sahte işlemlerle doldurulması engelleniyor, ancak bu değerin sabit kodlanmış olmayın. MN, son N blok boyutunun medyan değeri olsun. Daha sonra boyut için "zor sınır" Blok kabul etme oranı \(2 \cdot M_N\)'dir. blockchain öğesinin şişmesini önler ancak yine de sınırın aşılmasına izin verir Gerekirse zamanla yavaş yavaş büyüyün. İşlem boyutunun açıkça sınırlandırılmasına gerek yoktur. Bir bloğun boyutuyla sınırlıdır; ve eğer birisi yüzlerce girdi/çıktı (veya Halka imzalardaki belirsizlik derecesinin yüksek olması nedeniyle) bunu yeterli ücret ödeyerek yapabilir. 6.2.3 Aşırı boyut cezası Bir madenci hâlâ kendi sıfır ücretli işlemleriyle dolu bir bloğu maksimum seviyeye kadar doldurma yeteneğine sahiptir boyut \(2 \cdot M_b\). Her ne kadar madencilerin yalnızca çoğunluğu medyan değeri değiştirebilse de, hala 13 6 Diğer avantajlar 6.1 Sorunsuz emisyon CryptoNote dijital paralarının toplam miktarının üst sınırı şöyledir: MSarzı = 264 −1 atom birimleri. Bu, sezgiye değil, yalnızca uygulama sınırlarına dayanan doğal bir kısıtlamadır. "N tane para herkese yetmeli" gibi. Emisyon sürecinin düzgünlüğünü sağlamak için blok için aşağıdaki formülü kullanıyoruz: ödüller: Temel Ödül = (MSarzı −A) ≫18, burada A, daha önce üretilen madeni paraların miktarıdır. 6.2 Ayarlanabilir parametreler 6.2.1 Zorluk CryptoNote, her bloğun zorluğunu değiştiren bir hedefleme algoritması içerir. Bu Ağ hashhızının yoğun şekilde arttığı veya daraldığı durumlarda sistemin tepki süresini azaltır, sabit bir blok oranının korunması. Orijinal Bitcoin yöntemi, gerçek değer ilişkisini hesaplar ve son 2016 blok arasındaki zaman aralığını hedef alır ve bunu mevcut blok için çarpan olarak kullanır zorluk. Açıkçası bu, hızlı yeniden hesaplamalar için uygun değildir (büyük atalet nedeniyle) ve salınımlarla sonuçlanır. Algoritmamızın arkasındaki genel fikir, düğümlerin tamamladığı tüm işleri toplamak ve harcadıkları zamana bölün. İşin ölçüsü karşılık gelen zorluk değerleridir her blokta. Ancak yanlış ve güvenilmeyen zaman damgaları nedeniyle kesin zamanı belirleyemiyoruz bloklar arasındaki zaman aralığı. Kullanıcı zaman damgasını geleceğe ve bir sonraki zamana kaydırabilir aralıklar beklenmedik derecede küçük veya hatta negatif olabilir. Muhtemelen birkaç olay yaşanacak bu tür, böylece zaman damgalarını sıralayabilir ve aykırı değerleri (yani %20) kesebiliriz. aralığı geri kalan değerler karşılık gelen blokların %80'i için harcanan süredir. 6.2.2 Boyut sınırları Kullanıcılar blockchain dosyasını depolamak için ödeme yapar ve boyutuna göre oy verme hakkına sahip olur. Her madenci dengeleme arasındaki değiş tokuşla ilgilenirÜcretlerden maliyetleri ve karı kendisi belirler Blok oluşturmak için “yumuşak limit”. Ayrıca maksimum blok boyutuna ilişkin temel kural aşağıdakiler için gereklidir: blockchain'nin sahte işlemlerle doldurulması engelleniyor, ancak bu değerin sabit kodlanmış olmayın. MN, son N blok boyutunun medyan değeri olsun. Daha sonra boyut için "zor sınır" Blok kabul etme oranı \(2 \cdot M_N\)'dir. blockchain öğesinin şişmesini önler ancak yine de sınırın aşılmasına izin verir Gerekirse zamanla yavaş yavaş büyüyün. İşlem boyutunun açıkça sınırlandırılmasına gerek yoktur. Bir bloğun boyutuyla sınırlıdır; ve eğer birisi yüzlerce girdi/çıktı (veya Halka imzalardaki belirsizlik derecesinin yüksek olması nedeniyle) bunu yeterli ücret ödeyerek yapabilir. 6.2.3 Aşırı boyut cezası Bir madenci hâlâ kendi sıfır ücretli işlemleriyle dolu bir bloğu maksimum seviyeye kadar doldurma yeteneğine sahiptir boyut \(2 \cdot M_b\). Her ne kadar madencilerin yalnızca çoğunluğu medyan değeri değiştirebilse de, hala 13 24 Tamam, elimizde bir blockchain var ve her blokta yalnızca zaman damgaları var EK OLARAK sipariş edildi. Bu açıkça ayarlamayı zorlaştırmak için eklenmiştir, çünkü zaman damgaları Bahsedildiği gibi çok güvenilmez. Zincirde çelişen zaman damgalarına sahip olmamıza izin veriliyor mu? Zincirde A Blok B Bloktan önce geliyorsa ve finansal açıdan her şey tutarlıysa, ancak A Blok, B Bloktan sonra oluşturulmuş gibi görünüyor? Çünkü belki birisinin sahibi ağın büyük bir kısmı? Tamam mı? Muhtemelen mali durum iyi olmadığı için. Tamam, bu keyfi "blokların yalnızca %80'i ana blockchain için meşru" olmasından nefret ediyorum yaklaşım. Yalancıların zaman damgalarını değiştirmesini engellemek için mi tasarlanmıştı? Ama şimdi ekliyor herkesin zaman damgaları hakkında yalan söylemesi ve sadece ortalamayı seçmesi için teşvik. Lütfen tanımlayın. Anlamı "Bu blok için yalnızca daha yüksek ücretler içeren işlemleri dahil edin" %p'den fazla, tercihen %2p'den yüksek ücretlerle" veya buna benzer bir şey mi? Sahte derken neyi kastediyorlar? İşlemin geçmiş geçmişiyle tutarlı olması durumunda blockchain ve işlem madencileri tatmin edecek ücretler içeriyor, bu yeterli değil mi? Peki, hayır, mutlaka değil. Maksimum blok boyutu yoksa, kötü niyetli bir kullanıcıyı tutacak hiçbir şey yoktur. Yavaşlamak için devasa bir işlem bloğunu tek seferde kendisine yüklemekten ağ. Maksimum blok boyutuna yönelik temel bir kural, insanların çok büyük miktarda çöp koymasını engeller işleri yavaşlatmak için blockchain üzerindeki verilerin hepsini aynı anda. Ancak böyle bir kuralın mutlaka Adaptif olun - örneğin Noel sezonunda trafiğin artmasını bekleyebiliriz ve blok boyutu çok büyüyecek ve hemen ardından blok boyutu düşecek tekrar. Yani ya a) bir çeşit uyarlanabilir üst sınıra ya da b) yeterince büyük bir üst sınıra ihtiyacımız var ki böylece %99'u makul Noel zirveleri sınırı aşmaz. Tabiki ikincisini yapmak imkansız tahmin - bir para biriminin tutunup tutunamayacağını kim bilebilir? Uyarlanabilir hale getirmek ve endişelenmemek daha iyi bu konuda. Ama sonra bir kontrol teorisi problemimiz var: bunu nasıl uyarlanabilir hale getireceğiz? saldırıya karşı savunmasızlık mı yoksa vahşi ve çılgın salınımlar mı? Uyarlanabilir bir yöntemin kötü niyetli kullanıcıların küçük miktarlar biriktirmesini engellemediğine dikkat edin blockchain üzerinde zamanla gereksiz verilerin birikmesi uzun vadeli şişkinliğe neden olur. Bu farklı bir konu tamamen ve kripto paraların ciddi sorunları olduğu bir durum.
6 Diğer avantajlar 6.1 Sorunsuz emisyon CryptoNote dijital paralarının toplam miktarının üst sınırı şöyledir: MSarzı = 264 −1 atom birimleri. Bu, sezgiye değil, yalnızca uygulama sınırlarına dayanan doğal bir kısıtlamadır. "N tane para herkese yetmeli" gibi. Emisyon sürecinin düzgünlüğünü sağlamak için blok için aşağıdaki formülü kullanıyoruz: ödüller: Temel Ödül = (MSarzı −A) ≫18, burada A, daha önce üretilen madeni paraların miktarıdır. 6.2 Ayarlanabilir parametreler 6.2.1 Zorluk CryptoNote, her bloğun zorluğunu değiştiren bir hedefleme algoritması içerir. Bu Ağ hashoranı yoğun bir şekilde büyüdüğünde veya daraldığında sistemin tepki süresini azaltır, sabit bir blok oranının korunması. Orijinal Bitcoin yöntemi gerçek değer ilişkisini hesaplar ve son 2016 blok arasındaki zaman aralığını hedef alır ve bunu mevcut blok için çarpan olarak kullanır zorluk. Açıkçası bu, hızlı yeniden hesaplamalar için uygun değildir (büyük atalet nedeniyle) ve salınımlarla sonuçlanır. Algoritmamızın arkasındaki genel fikir, düğümlerin tamamladığı tüm işleri toplamak ve harcadıkları zamana bölün. İşin ölçüsü karşılık gelen zorluk değerleridir her blokta. Ancak yanlış ve güvenilmeyen zaman damgaları nedeniyle kesin zamanı belirleyemiyoruz bloklar arasındaki zaman aralığı. Kullanıcı zaman damgasını geleceğe ve bir sonraki zamana kaydırabilir aralıklar beklenmedik derecede küçük veya hatta negatif olabilir. Muhtemelen birkaç olay yaşanacak bu tür, böylece zaman damgalarını sıralayabilir ve aykırı değerleri (yani %20) kesebiliriz. aralığı geri kalan değerler karşılık gelen blokların %80'i için harcanan süredir. 6.2.2 Boyut sınırları Kullanıcılar blockchain dosyasını depolamak için ödeme yapar ve boyutuna göre oy verme hakkına sahip olur. Her madenci maliyetleri dengelemek ile ücretlerden elde edilen karı dengelemek arasında karar verir ve kendi kararını verir Blok oluşturmak için “yumuşak limit”. Ayrıca maksimum blok boyutuna ilişkin temel kural aşağıdakiler için gereklidir: blockchain'nin sahte işlemlerle doldurulması engelleniyor, ancak bu değerin sabit kodlanmış olmayın. MN, son N blok boyutunun medyan değeri olsun. Daha sonra boyut için "zor sınır" Blok kabul etme oranı \(2 \cdot M_N\)'dir. blockchain öğesinin şişmesini önler ancak yine de sınırın aşılmasına izin verir Gerekirse zamanla yavaş yavaş büyüyün. İşlem boyutunun açıkça sınırlandırılmasına gerek yoktur. Bir bloğun boyutuyla sınırlıdır; ve eğer birisi yüzlerce girdi/çıktı (veya Halka imzalardaki belirsizlik derecesinin yüksek olması nedeniyle) bunu yeterli ücret ödeyerek yapabilir. 6.2.3 Aşırı boyut cezası Bir madenci hâlâ kendi sıfır ücretli işlemleriyle dolu bir bloğu maksimum seviyeye kadar doldurma yeteneğine sahiptir boyut \(2 \cdot M_b\). Her ne kadar madencilerin yalnızca çoğunluğu medyan değeri değiştirebilse de, hala 13 6 Diğer avantajlar 6.1 Sorunsuz emisyon CryptoNote dijital paralarının toplam miktarının üst sınırı şöyledir: MSarzı = 264 −1 atom birimleri. Bu, sezgiye değil, yalnızca uygulama sınırlarına dayanan doğal bir kısıtlamadır. "N tane para herkese yetmeli" gibi. Emisyon sürecinin düzgünlüğünü sağlamak için blok için aşağıdaki formülü kullanıyoruz: ödüller: Temel Ödül = (MSarzı −A) ≫18, burada A, daha önce üretilen madeni paraların miktarıdır. 6.2 Ayarlanabilir parametreler 6.2.1 Zorluk CryptoNote, her bloğun zorluğunu değiştiren bir hedefleme algoritması içerir. Bu Ağ hashhızının yoğun şekilde arttığı veya daraldığı durumlarda sistemin tepki süresini azaltır, sabit bir blok oranının korunması. Orijinal Bitcoin yöntemi, gerçek değer ilişkisini hesaplar ve son 2016 blok arasındaki zaman aralığını hedef alır ve bunu mevcut blok için çarpan olarak kullanır zorluk. Açıkçası bu, hızlı yeniden hesaplamalar için uygun değildir (büyük atalet nedeniyle) ve salınımlarla sonuçlanır. Algoritmamızın arkasındaki genel fikir, düğümlerin tamamladığı tüm işleri toplamak ve harcadıkları zamana bölün. İşin ölçüsü karşılık gelen zorluk değerleridir her blokta. Ancak yanlış ve güvenilmeyen zaman damgaları nedeniyle kesin zamanı belirleyemiyoruz bloklar arasındaki zaman aralığı. Kullanıcı zaman damgasını geleceğe ve bir sonraki zamana kaydırabilir aralıklar beklenmedik derecede küçük veya hatta negatif olabilir. Muhtemelen birkaç olay yaşanacak bu tür, böylece zaman damgalarını sıralayabilir ve aykırı değerleri (yani %20) kesebiliriz. aralığı geri kalan değerler karşılık gelen blokların %80'i için harcanan süredir. 6.2.2 Boyut sınırları Kullanıcılar blockchain dosyasını depolamak için ödeme yapar ve boyutuna göre oy verme hakkına sahip olur. Her madenci dengeleme arasındaki değiş tokuşla ilgilenirÜcretlerden maliyetleri ve karı kendisi belirler Blok oluşturmak için “yumuşak limit”. Ayrıca maksimum blok boyutuna ilişkin temel kural aşağıdakiler için gereklidir: blockchain'nin sahte işlemlerle doldurulması engelleniyor, ancak bu değerin sabit kodlanmış olmayın. MN, son N blok boyutunun medyan değeri olsun. Daha sonra boyut için "zor sınır" Blok kabul etme oranı \(2 \cdot M_N\)'dir. blockchain öğesinin şişmesini önler ancak yine de sınırın aşılmasına izin verir Gerekirse zamanla yavaş yavaş büyüyün. İşlem boyutunun açıkça sınırlandırılmasına gerek yoktur. Bir bloğun boyutuyla sınırlıdır; ve eğer birisi yüzlerce girdi/çıktı (veya Halka imzalardaki belirsizlik derecesinin yüksek olması nedeniyle) bunu yeterli ücret ödeyerek yapabilir. 6.2.3 Aşırı boyut cezası Bir madenci hâlâ kendi sıfır ücretli işlemleriyle dolu bir bloğu maksimum seviyeye kadar doldurma yeteneğine sahiptir boyut \(2 \cdot M_b\). Her ne kadar madencilerin yalnızca çoğunluğu medyan değeri değiştirebilse de, hala 13 25 Bir birim zaman N blok olacak şekilde zamanı yeniden ölçeklendirdiğimizde, ortalama blok boyutu yine de teorik olarak 2ˆt ile orantılı olarak üstel olarak büyüyebilir. Öte yandan, daha genel bir sınır sonraki blokta bazı f fonksiyonları için M_nf(M_n) olacaktır. f'nin hangi özellikleri Blok boyutunun bir miktar "makul büyümesini" garanti etmek için mi seçiyoruz? ilerlemesi blok boyutları (yeniden ölçeklendirme süresinden sonra) şöyle olur: M_n f(M_n)M_n f(f(M_n)M_n)f(M_n)M_n f(f(f(M_n)M_n)f(M_n)M_n)f(f(M_n)M_n)f( ... Buradaki amaç, f dizisini doğrusal olarak daha hızlı büyümeyecek şekilde seçmektir: veya belki Log(t) olarak bile. Elbette, eğer bir a sabiti için f(M_n) = a ise, bu dizi şu şekildedir: aslında M_n aM_n aˆ2M_n aˆ3M_n ... Ve elbette, bunu en fazla doğrusal büyümeyle sınırlamanın tek yolu a=1'i seçmektir. Bu elbette mümkün değildir. Hiçbir şekilde büyümeye izin vermiyor. Öte yandan f(M_n) sabit olmayan bir fonksiyon ise durum çok daha karmaşıktır. karmaşıktır ve zarif bir çözüme izin verebilir. Bir süre bunun üzerinde düşüneceğim. Bu ücretin bir sonraki bölümdeki aşırı boyut cezasını indirecek kadar büyük olması gerekecektir. Genel bir kullanıcının neden erkek olduğu varsayılıyor? Ha?
blockchain'yi şişirme ve düğümlerde ek yük oluşturma olasılığı. Cesaretini kırmak Kötü niyetli katılımcıların büyük bloklar oluşturmasını önleyen bir ceza fonksiyonu sunuyoruz: Yeni Ödül = Temel Ödül \(\cdot\) BlkBoyut MN −1 2 Bu kural yalnızca BlkSize minimum serbest blok boyutundan büyük olduğunda uygulanır; maksimuma yakın olmalıdır (10kb, MN \(\cdot\) %110). Madencilerin "normal boyutta" bloklar oluşturmasına izin veriliyor ve hatta Toplam ücretler cezayı aştığında bunu kârla aşarsınız. Ancak ücretlerin artması pek olası değil Ceza değerinden ikinci dereceden farklı olarak bir denge oluşacaktır. 6.3 İşlem komut dosyaları CryptoNote'un oldukça minimalist bir komut dosyası alt sistemi vardır. Gönderici bir ifade belirtir: Φ = f (x1, x2, . . . , xn), burada n, {Pi}n hedef genel anahtarlarının sayısıdır ben=1. Yalnızca beş ikili operatörler desteklenir: min, max, sum, mul ve cmp. Alıcı bu ödemeyi harcadığında, \(0 \leq k \leq n\) adet imza üretip bunları işlem girişine aktarır. Doğrulama süreci genel anahtar Pi için geçerli bir imza olup olmadığını kontrol etmek için Φ'yi xi = 1 ile değerlendirir ve xi = 0'dır. Doğrulayıcı, eğer > 0 ise ispatı kabul eder. Basitliğine rağmen bu yaklaşım olası her durumu kapsar: • Çoklu/Eşik imzası. Bitcoin tarzı "N'den M" çoklu imza için (ör. alıcı en az \(0 \leq M \leq N\) geçerli imza sağlamalıdır) Φ = x1+x2+. . .+xN \(\geq M\) (açıklık sağlamak için ortak cebirsel gösterimi kullanıyoruz). Ağırlıklı eşik imzası (bazı tuşlar diğerlerinden daha önemli olabilir) Φ = \(w_1 \cdot x_1\) + olarak ifade edilebilir \(w_2 \cdot x_2\) + . . . + \(w_N \cdot x_N\) \(\geq wM\). Ve ana anahtarın Φ ='ye karşılık geldiği senaryo maks(\(M \cdot x\), x1 + x2 + . . . + xN) \(\geq M\). Herhangi bir karmaşık durumun olabileceğini göstermek kolaydır. bu operatörlerle ifade edilir, yani temeli oluştururlar. • Şifre koruması. Gizli bir şifreye sahip olmak, onu bilmekle eşdeğerdir. deterministik olarak şu paroladan türetilen özel bir anahtar: k = KDF(ler). Dolayısıyla bir alıcı k anahtarının altına başka bir imza sağlayarak şifreyi bildiğini kanıtlayabilir. Gönderen, ilgili genel anahtarı kendi çıktısına ekler. Bunu unutmayın yöntem, Bitcoin [13]'da kullanılan "işlem bulmacasından" çok daha güvenlidir; Girişlerde şifre açıkça iletilir. • Dejenere vakalar. Φ = 1 herkesin parayı harcayabileceği anlamına gelir; Φ = 0, çıktının sonsuza kadar harcanamaz olması. Genel anahtarlarla birleştirilmiş çıktı betiğinin gönderen için çok büyük olması durumunda, alıcının bu verileri girişine koyacağını belirten özel çıktı türünü kullanabilir gönderen bunun yalnızca hash kısmını sağlar. Bu yaklaşım, Bitcoin'nin "hash'ye öde" yaklaşımına benzer özelliği, ancak yeni komut dosyası komutları eklemek yerine bu durumu veri yapısında ele alıyoruz seviye. 7 Sonuç Bitcoin'daki ana kusurları araştırdık ve bazı olası çözümler önerdik. Bu avantajlı özellikler ve devam eden gelişimimiz, CryptoNote'u yeni elektronik nakit sistemi haline getiriyor Bitcoin'nin ciddi bir rakibi, tüm çatallarını geride bırakıyor. 14 blockchain'yi şişirme ve düğümlerde ek yük oluşturma olasılığı. Cesaretini kırmak Kötü niyetli katılımcıların büyük bloklar oluşturmasını önleyen bir ceza fonksiyonu sunuyoruz: Yeni Ödül = Temel Ödül \(\cdot\) BlkBoyut MN −1 2 Bu kural yalnızca BlkSize minimum serbest blok boyutundan büyük olduğunda uygulanır; maksimuma yakın olmalıdır (10kb, MN \(\cdot\) %110). Madencilerin "normal boyutta" bloklar oluşturmasına izin veriliyor ve hatta Toplam ücretler cezayı aştığında bunu kârla aşarsınız. Ancak ücretlerin artması pek olası değil Ceza değerinden ikinci dereceden farklı olarak bir denge oluşacaktır. 6.3 İşlem komut dosyaları CryptoNote'un oldukça minimalist bir komut dosyası alt sistemi vardır. Gönderici bir ifade belirtir: Φ = f (x1, x2, . . . , xn), burada n, {Pi}n hedef genel anahtarlarının sayısıdır ben=1. Yalnızca beş ikili operatörler desteklenir: min, max, sum, mul ve cmp. Alıcı bu ödemeyi harcadığında, \(0 \leq k \leq n\) adet imza üretip bunları işlem girişine aktarır. Doğrulama süreci Pi ortak anahtarının geçerli bir imzasını kontrol etmek için Φ'yi xi = 1 ile değerlendirir ve xi = 0'dır. Doğrulayıcı, eğer > 0 ise ispatı kabul eder. Basitliğine rağmen bu yaklaşım olası her durumu kapsar: • Çoklu/Eşik imzası. Bitcoin tarzı "N'den M" çoklu imza için (ör. alıcı en az \(0 \leq M \leq N\) geçerli imza sağlamalıdır) Φ = x1+x2+. . .+xN \(\geq M\) (açıklık sağlamak için ortak cebirsel gösterimi kullanıyoruz). Ağırlıklı eşik imzası (bazı tuşlar diğerlerinden daha önemli olabilir) Φ = \(w_1 \cdot x_1\) + olarak ifade edilebilir \(w_2 \cdot x_2\) + . . . + \(w_N \cdot x_N\) \(\geq wM\). Ve senaryoio burada ana anahtar şuna karşılık gelir: Φ = maks(\(M \cdot x\), x1 + x2 + . . . + xN) \(\geq M\). Herhangi bir karmaşık durumun olabileceğini göstermek kolaydır. bu operatörlerle ifade edilir, yani temeli oluştururlar. • Şifre koruması. Gizli bir şifreye sahip olmak, onu bilmekle eşdeğerdir. deterministik olarak şu paroladan türetilen özel bir anahtar: k = KDF(ler). Dolayısıyla bir alıcı k anahtarının altına başka bir imza sağlayarak şifreyi bildiğini kanıtlayabilir. Gönderen, ilgili genel anahtarı kendi çıktısına ekler. Bunu unutmayın yöntem, Bitcoin [13]'de kullanılan "işlem bulmacasından" çok daha güvenlidir; Girişlerde şifre açıkça iletilir. • Dejenere vakalar. Φ = 1 herkesin parayı harcayabileceği anlamına gelir; Φ = 0, çıktının sonsuza kadar harcanamaz olması. Genel anahtarlarla birleştirilmiş çıktı betiğinin gönderen için çok büyük olması durumunda, alıcının bu verileri girişine koyacağını belirten özel çıktı türünü kullanabilir gönderen bunun yalnızca hash kısmını sağlar. Bu yaklaşım Bitcoin'nin "hash'ye öde" yaklaşımına benzer özelliği, ancak yeni komut dosyası komutları eklemek yerine bu durumu veri yapısında ele alıyoruz seviye. 7 Sonuç Bitcoin'deki ana kusurları araştırdık ve bazı olası çözümler önerdik. Bu avantajlı özellikler ve devam eden gelişimimiz, CryptoNote'u yeni elektronik nakit sistemi haline getiriyor Bitcoin'nin ciddi bir rakibi, tüm çatallarını geride bırakıyor. 14 26 Eğer zaman içinde blok boyutunu sınırlamanın bir yolunu bulabilirsek bu gereksiz olabilir... Bu da doğru olamaz. "NewReward"ı yukarıya bakan bir parabole yerleştirdiler. blok boyutu bağımsız değişkendir. Böylece yeni ödül sonsuza kadar patlar. Diğer taraftan ise elde, yeni ödül Max(0,Base Reward(1-(BlkSize/Mn - 1)ˆ2)) olur, ardından yeni ödül tepe noktası blok boyutunda = Mn olan ve kesişme noktaları olan aşağıya doğru bakan bir parabol olacaktır. Blokboyutu = 0 ve Blokboyutu = 2Mn. Ve tanımlamaya çalıştıkları şey de bu gibi görünüyor. Ancak bu durum
المعاملات التي لا يمكن تعقبها
في هذا القسم، نقترح مخططًا للمعاملات المجهولة تمامًا والتي تلبي كلا من إمكانية التتبع
وشروط عدم الارتباط. من السمات المهمة لحلنا هو استقلاليته: المرسل
ليس مطلوبًا منه التعاون مع مستخدمين آخرين أو طرف ثالث موثوق به لإجراء معاملاته؛
ومن ثم يقوم كل مشارك بإنتاج حركة تغطية بشكل مستقل.
4.1
مراجعة الأدب
يعتمد مخططنا على التشفير البدائي المسمى بتوقيع المجموعة. تم تقديمه لأول مرة بواسطة
D. Chaum وE. van Heyst [19]، فهو يسمح للمستخدم بالتوقيع على رسالته نيابة عن المجموعة.
بعد التوقيع على الرسالة، يقدم المستخدم (لأغراض التحقق) وليس الجمهور الخاص به
1هذا ما يسمى "الحد الناعم" - تقييد العميل المرجعي لإنشاء كتل جديدة. الحد الأقصى الصعب
كان حجم الكتلة المحتمل 1 ميجابايت
4
لهم إذا لزم الأمر أن يسبب العيوب الرئيسية. لسوء الحظ، من الصعب التنبؤ بموعد حدوث ذلك
فقد تكون هناك حاجة إلى تغيير الثوابت، واستبدالها قد يؤدي إلى عواقب وخيمة.
من الأمثلة الجيدة على تغيير الحد المضمن الذي يؤدي إلى عواقب وخيمة هو الحظر
تم ضبط الحد الأقصى للحجم على 250 كيلو بايت1. وكان هذا الحد كافيا لإجراء حوالي 10000 معاملة قياسية. في
في أوائل عام 2013، كان هذا الحد قد تم الوصول إليه تقريبًا وتم التوصل إلى اتفاق لزيادة
الحد. تم تنفيذ التغيير في إصدار المحفظة 0.8 وانتهى بتقسيم سلسلة مكونة من 24 كتلة
وهجوم الإنفاق المزدوج الناجح [9]. في حين أن الخلل لم يكن في بروتوكول Bitcoin، ولكن
بل كان من الممكن اكتشافه بسهولة في محرك قاعدة البيانات عن طريق اختبار ضغط بسيط إذا كان هناك ذلك
لا يوجد حد لحجم الكتلة تم تقديمه بشكل مصطنع.
تعمل الثوابت أيضًا كشكل من أشكال نقطة المركزية.
على الرغم من طبيعة الند للند
Bitcoin، تستخدم الغالبية العظمى من العقد العميل المرجعي الرسمي [10] الذي تم تطويره بواسطة
مجموعة صغيرة من الناس. تتخذ هذه المجموعة القرار بتنفيذ التغييرات على البروتوكول
ومعظم الناس يقبلون هذه التغييرات بغض النظر عن "صحتها". تسببت بعض القرارات
نقاشات ساخنة وحتى دعوات للمقاطعة [11] مما يدل على أن المجتمع و
قد يختلف المطورون حول بعض النقاط المهمة. ولذلك يبدو من المنطقي أن يكون هناك بروتوكول
مع المتغيرات القابلة للتكوين والضبط الذاتي بواسطة المستخدم كطريقة ممكنة لتجنب هذه المشكلات.
2.5
مخطوطات ضخمة
يعد نظام البرمجة النصية في Bitcoin ميزة ثقيلة ومعقدة. من المحتمل أن يسمح للمرء بالإبداع
المعاملات المعقدة [12]، ولكن تم تعطيل بعض ميزاته بسبب مخاوف أمنية و
بعضها لم يتم استخدامه مطلقًا [13]. البرنامج النصي (بما في ذلك أجزاء المرسلين والمستقبلين)
تبدو المعاملة الأكثر شيوعًا في Bitcoin كما يلي:
المفتاح، بل مفاتيح جميع مستخدمي مجموعته. يكون المدقق مقتنعًا بأن الموقع الحقيقي هو أ عضو في المجموعة، ولكن لا يمكن تحديد الموقع بشكل حصري. يتطلب البروتوكول الأصلي وجود طرف ثالث موثوق به (يسمى مدير المجموعة)، وقد كان كذلك الشخص الوحيد الذي يمكنه تتبع الموقع. تم تقديم الإصدار التالي الذي يسمى التوقيع الدائري بواسطة ريفست وآخرون. في [34]، كان مخططًا مستقلاً بدون مدير المجموعة وعدم الكشف عن هويته الإلغاء. ظهرت تعديلات مختلفة على هذا المخطط لاحقًا: التوقيع الدائري القابل للربط [26، 27، 17] يسمح بتحديد ما إذا كان قد تم إنتاج توقيعين من قبل نفس عضو المجموعة، ويمكن تتبعهما التوقيع الدائري [24، 23] يحد من عدم الكشف عن هويته المفرطة من خلال توفير إمكانية تتبع الموقع رسالتان فيما يتعلق بنفس المعلومات التعريفية (أو "العلامة" فيما يتعلق بـ [24]). يُعرف أيضًا بناء التشفير المماثل بتوقيع المجموعة المخصصة [16، 38]. ذلك يؤكد على تشكيل المجموعة التعسفية، في حين أن مخططات توقيع المجموعة/الحلقة تعني ضمناً أ مجموعة ثابتة من الأعضاء بالنسبة للجزء الأكبر، يعتمد الحل الذي نقدمه على عمل "التوقيع الدائري القابل للتتبع" الذي قام به إي. فوجيساكي و ك. سوزوكي [24]. من أجل التمييز بين الخوارزمية الأصلية وتعديلنا، سنقوم بذلك نطلق على الأخير توقيع رنين لمرة واحدة، مع التركيز على قدرة المستخدم على إنتاج توقيع رنين واحد صالح فقط التوقيع تحت مفتاحه الخاص. لقد أضعفنا خاصية التتبع وحافظنا على إمكانية الارتباط فقط لتوفير مرة واحدة: قد يظهر المفتاح العام في العديد من مجموعات التحقق الأجنبية و يمكن استخدام المفتاح الخاص لإنشاء توقيع مجهول فريد. في حالة الإنفاق المزدوج محاولة ربط هذين التوقيعين معًا، لكن الكشف عن الموقع ليس ضروريًا لأغراضنا. 4.2 التعريفات 4.2.1 معلمات المنحنى الاهليلجي كخوارزمية التوقيع الأساسية لدينا، اخترنا استخدام المخطط السريع EdDSA، الذي تم تطويره و تم تنفيذه بواسطة د.ج. برنشتاين وآخرون. [18]. مثل Bitcoin ECDSA فهو يعتمد على المنحنى الإهليلجي مشكلة اللوغاريتم المنفصل، لذلك يمكن أيضًا تطبيق مخططنا على Bitcoin في المستقبل. المعلمات المشتركة هي: س: عدد أولي؛ ف = 2255 −19؛ d: عنصر Fq؛ د = −121665/121666؛ E: معادلة منحنى إهليلجي؛ −x2 + y2 = 1 + dx2y2; G: نقطة أساسية؛ G = (س، −4/5)؛ l: ترتيب أولي لنقطة الأساس؛ ل = 2252 + 27742317777372353535851937790883648493; \(H_s\): دالة تشفير hash \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): دالة حتمية hash \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 المصطلحات تتطلب الخصوصية المحسنة مصطلحات جديدة لا ينبغي الخلط بينها وبين كيانات Bitcoin. المفتاح ec الخاص هو مفتاح خاص ذو منحنى إهليلجي قياسي: رقم \(a \in [1, l - 1]\); المفتاح ec العام هو مفتاح عام قياسي لمنحنى إهليلجي: النقطة A = aG؛ زوج المفاتيح لمرة واحدة هو زوج من المفاتيح الإلكترونية الخاصة والعامة؛ 5 المفتاح، بل مفاتيح جميع مستخدمي مجموعته. يكون المدقق مقتنعًا بأن الموقع الحقيقي هو أ عضو في المجموعة، ولكن لا يمكن تحديد الموقع بشكل حصري. يتطلب البروتوكول الأصلي وجود طرف ثالث موثوق به (يسمى مدير المجموعة)، وقد كان كذلك الشخص الوحيد الذي يمكنه تتبع الموقع. تم تقديم الإصدار التالي الذي يسمى التوقيع الدائري بواسطة ريفست وآخرون. في [34]، كان نظامًا مستقلاً بدون مدير المجموعة وعدم الكشف عن هويته الإلغاء. ظهرت تعديلات مختلفة على هذا المخطط لاحقًا: التوقيع الدائري القابل للربط [26، 27، 17] يسمح بتحديد ما إذا كان قد تم إنتاج توقيعين من قبل نفس عضو المجموعة، ويمكن تتبعهما التوقيع الدائري [24، 23] يحد من عدم الكشف عن هويته المفرطة من خلال توفير إمكانية تتبع الموقع رسالتان فيما يتعلق بنفس المعلومات التعريفية (أو "العلامة" فيما يتعلق بـ [24]). يُعرف أيضًا بناء التشفير المماثل بتوقيع المجموعة المخصصة [16، 38]. ذلك يؤكد على تشكيل المجموعة التعسفية، في حين أن مخططات توقيع المجموعة/الحلقة تعني ضمناً أ مجموعة ثابتة من الأعضاء بالنسبة للجزء الأكبر، يعتمد الحل الذي نقدمه على عمل "التوقيع الدائري القابل للتتبع" الذي قام به إي. فوجيساكي و ك. سوزوكي [24]. من أجل التمييز بين الخوارزمية الأصلية وتعديلنا، سنقوم بذلك نطلق على الأخير توقيع رنين لمرة واحدة، مع التركيز على قدرة المستخدم على إنتاج توقيع رنين واحد صالح فقط التوقيع تحت مفتاحه الخاص. لقد أضعفنا خاصية التتبع وحافظنا على إمكانية الارتباط فقط لتوفير مرة واحدة: قد يظهر المفتاح العام في العديد من مجموعات التحقق الأجنبية و يمكن استخدام المفتاح الخاص لإنشاء توقيع مجهول فريد. في حالة الإنفاق المزدوج محاولة ربط هذين التوقيعين معًا، لكن الكشف عن الموقع ليس ضروريًا لأغراضنا. 4.2 التعريفات 4.2.1 معلمات المنحنى الاهليلجي نحن نختار خوارزمية التوقيع الأساسية لديناe لاستخدام المخطط السريع EdDSA، الذي تم تطويره و تم تنفيذه بواسطة د.ج. برنشتاين وآخرون. [18]. مثل Bitcoin ECDSA فهو يعتمد على المنحنى الإهليلجي مشكلة اللوغاريتم المنفصل، لذلك يمكن أيضًا تطبيق مخططنا على Bitcoin في المستقبل. المعلمات المشتركة هي: س: عدد أولي؛ ف = 2255 −19؛ d: عنصر Fq؛ د = −121665/121666؛ E: معادلة منحنى إهليلجي؛ −x2 + y2 = 1 + dx2y2; G: نقطة أساسية؛ G = (س، −4/5)؛ l: ترتيب أولي لنقطة الأساس؛ ل = 2252 + 27742317777372353535851937790883648493; \(H_s\): دالة تشفير hash \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): دالة حتمية hash \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 المصطلحات تتطلب الخصوصية المحسنة مصطلحات جديدة لا ينبغي الخلط بينها وبين كيانات Bitcoin. المفتاح ec الخاص هو مفتاح خاص ذو منحنى إهليلجي قياسي: رقم \(a \in [1, l - 1]\); المفتاح ec العام هو مفتاح عام قياسي لمنحنى إهليلجي: النقطة A = aG؛ زوج المفاتيح لمرة واحدة هو زوج من المفاتيح الإلكترونية الخاصة والعامة؛ 5 8 يعمل التوقيع الدائري على النحو التالي: تريد أليكس تسريب رسالة إلى ويكيليكس حول صاحب عملها. كل موظف في شركتها لديه زوج مفاتيح خاص/عام (Ri، Ui). هي تؤلف توقيعها مع تعيين الإدخال كرسالة لها، وm، ومفتاحها الخاص، وRi، وEVERYBODY's المفاتيح العامة (Ui;i=1...n). يمكن لأي شخص (دون معرفة أي مفاتيح خاصة) التحقق من ذلك بسهولة بعض الزوج (Rj, Uj) لا بد أنه تم استخدامه لبناء التوقيع... شخص يعمل بالنسبة لصاحب العمل الذي يعمل به أليكس... لكن معرفة أي شخص يمكن أن يكون هو مجرد تخمين عشوائي. http://en.wikipedia.org/wiki/Ring_signature#Crypto-currencies http://link.springer.com/chapter/10.1007/3-540-45682-1_32#page-1 http://link.springer.com/chapter/10.1007/11424826_65 http://link.springer.com/chapter/10.1007/978-3-540-27800-9_28 http://link.springer.com/chapter/10.1007%2F11774716_9 لاحظ أن التوقيع الدائري القابل للربط الموصوف هنا هو نوع من عكس "غير قابل للربط" الموصوفة أعلاه. هنا، نقوم باعتراض رسالتين، ويمكننا تحديد ما إذا كانا متماثلين أرسلهم الطرف، على الرغم من أننا لا نزال غير قادرين على تحديد من هو هذا الطرف. ال إن تعريف "غير قابل للربط" المستخدم لإنشاء Cryptonote يعني أننا لا نستطيع تحديد ما إذا كان ويستقبلهم نفس الطرف. وبالتالي، ما لدينا هنا حقًا هو أربعة أشياء تحدث. يمكن أن يكون النظام قابلاً للربط أو غير قابل للربط، اعتمادًا على ما إذا كان من الممكن تحديد ما إذا كان المرسل أم لا رسالتان متماثلتان (بغض النظر عما إذا كان ذلك يتطلب إلغاء عدم الكشف عن هويتك). و يمكن أن يكون النظام غير قابل للربط أو غير قابل للربط، اعتمادًا على ما إذا كان من الممكن ذلك أم لا تحديد ما إذا كان متلقي رسالتين هو نفسه (بغض النظر عما إذا كان متلقي الرسالتين أم لا). وهذا يتطلب إلغاء عدم الكشف عن هويته). من فضلك لا تلومني على هذه المصطلحات الرهيبة. من المحتمل أن يكون منظرو الرسم البياني كذلك يسر. قد يشعر البعض منكم براحة أكبر مع "إمكانية ربط جهاز الاستقبال" مقابل "إمكانية ربط المرسل". http://link.springer.com/chapter/10.1007/978-3-540-71677-8_13 عندما قرأت هذا، بدت هذه ميزة سخيفة. ثم قرأت أنه قد يكون ميزة ل التصويت الإلكتروني، ويبدو أن هذا منطقي. رائع نوعا ما، من هذا المنظور. ولكن أنا لست متأكدًا تمامًا من تنفيذ التوقيعات الحلقية التي يمكن تتبعها عن قصد. http://search.ieice.org/bin/summary.php?id=e95-a_1_151
المفتاح، بل مفاتيح جميع مستخدمي مجموعته. يكون المدقق مقتنعًا بأن الموقع الحقيقي هو أ عضو في المجموعة، ولكن لا يمكن تحديد الموقع بشكل حصري. يتطلب البروتوكول الأصلي وجود طرف ثالث موثوق به (يسمى مدير المجموعة)، وقد كان كذلك الشخص الوحيد الذي يمكنه تتبع الموقع. تم تقديم الإصدار التالي الذي يسمى التوقيع الدائري بواسطة ريفست وآخرون. في [34]، كان مخططًا مستقلاً بدون مدير المجموعة وعدم الكشف عن هويته الإلغاء. ظهرت تعديلات مختلفة على هذا المخطط لاحقًا: التوقيع الدائري القابل للربط [26، 27، 17] يسمح بتحديد ما إذا كان قد تم إنتاج توقيعين من قبل نفس عضو المجموعة، ويمكن تتبعهما التوقيع الدائري [24، 23] يحد من عدم الكشف عن هويته المفرطة من خلال توفير إمكانية تتبع الموقع رسالتان فيما يتعلق بنفس المعلومات التعريفية (أو "العلامة" فيما يتعلق بـ [24]). يُعرف أيضًا بناء التشفير المماثل بتوقيع المجموعة المخصصة [16، 38]. ذلك يؤكد على تشكيل المجموعة التعسفية، في حين أن مخططات توقيع المجموعة/الحلقة تعني ضمناً أ مجموعة ثابتة من الأعضاء بالنسبة للجزء الأكبر، يعتمد الحل الذي نقدمه على عمل "التوقيع الدائري القابل للتتبع" الذي قام به إي. فوجيساكي و ك. سوزوكي [24]. من أجل التمييز بين الخوارزمية الأصلية وتعديلنا، سنقوم بذلك نطلق على الأخير توقيع رنين لمرة واحدة، مع التركيز على قدرة المستخدم على إنتاج توقيع رنين واحد صالح فقط التوقيع تحت مفتاحه الخاص. لقد أضعفنا خاصية التتبع وحافظنا على إمكانية الارتباط فقط لتوفير مرة واحدة: قد يظهر المفتاح العام في العديد من مجموعات التحقق الأجنبية و يمكن استخدام المفتاح الخاص لإنشاء توقيع مجهول فريد. في حالة الإنفاق المزدوج محاولة ربط هذين التوقيعين معًا، لكن الكشف عن الموقع ليس ضروريًا لأغراضنا. 4.2 التعريفات 4.2.1 معلمات المنحنى الاهليلجي كخوارزمية التوقيع الأساسية لدينا، اخترنا استخدام المخطط السريع EdDSA، الذي تم تطويره و تم تنفيذه بواسطة د.ج. برنشتاين وآخرون. [18]. مثل Bitcoin ECDSA فهو يعتمد على المنحنى الإهليلجي مشكلة اللوغاريتم المنفصل، لذلك يمكن أيضًا تطبيق مخططنا على Bitcoin في المستقبل. المعلمات المشتركة هي: س: عدد أولي؛ ف = 2255 −19؛ d: عنصر Fq؛ د = −121665/121666؛ E: معادلة منحنى إهليلجي؛ −x2 + y2 = 1 + dx2y2; G: نقطة أساسية؛ G = (س، −4/5)؛ l: ترتيب أولي لنقطة الأساس؛ ل = 2252 + 27742317777372353535851937790883648493; \(H_s\): دالة تشفير hash \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): دالة حتمية hash \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 المصطلحات تتطلب الخصوصية المحسنة مصطلحات جديدة لا ينبغي الخلط بينها وبين كيانات Bitcoin. المفتاح ec الخاص هو مفتاح خاص ذو منحنى إهليلجي قياسي: رقم \(a \in [1, l - 1]\); المفتاح ec العام هو مفتاح عام قياسي لمنحنى إهليلجي: النقطة A = aG؛ زوج المفاتيح لمرة واحدة هو زوج من المفاتيح الإلكترونية الخاصة والعامة؛ 5 المفتاح، بل مفاتيح جميع مستخدمي مجموعته. يكون المدقق مقتنعًا بأن الموقع الحقيقي هو أ عضو في المجموعة، ولكن لا يمكن تحديد الموقع بشكل حصري. يتطلب البروتوكول الأصلي وجود طرف ثالث موثوق به (يسمى مدير المجموعة)، وقد كان كذلك الشخص الوحيد الذي يمكنه تتبع الموقع. تم تقديم الإصدار التالي الذي يسمى التوقيع الدائري بواسطة ريفست وآخرون. في [34]، كان مخططًا مستقلاً بدون مدير المجموعة وعدم الكشف عن هويته الإلغاء. ظهرت تعديلات مختلفة على هذا المخطط لاحقًا: التوقيع الدائري القابل للربط [26، 27، 17] يسمح بتحديد ما إذا كان قد تم إنتاج توقيعين من قبل نفس عضو المجموعة، ويمكن تتبعهما التوقيع الدائري [24، 23] يحد من عدم الكشف عن هويته المفرطة من خلال توفير إمكانية تتبع الموقع رسالتان فيما يتعلق بنفس المعلومات التعريفية (أو "العلامة" فيما يتعلق بـ [24]). يُعرف أيضًا بناء التشفير المماثل بتوقيع المجموعة المخصصة [16، 38]. ذلك يؤكد على تشكيل المجموعة التعسفية، في حين أن مخططات توقيع المجموعة/الحلقة تعني ضمناً أ مجموعة ثابتة من الأعضاء بالنسبة للجزء الأكبر، يعتمد الحل الذي نقدمه على عمل "التوقيع الدائري القابل للتتبع" الذي قام به إي. فوجيساكي و ك. سوزوكي [24]. من أجل التمييز بين الخوارزمية الأصلية وتعديلنا، سنقوم بذلك نطلق على الأخير توقيع رنين لمرة واحدة، مع التركيز على قدرة المستخدم على إنتاج توقيع رنين واحد صالح فقط التوقيع تحت مفتاحه الخاص. لقد أضعفنا خاصية التتبع وحافظنا على إمكانية الارتباط فقط لتوفير مرة واحدة: قد يظهر المفتاح العام في العديد من مجموعات التحقق الأجنبية و يمكن استخدام المفتاح الخاص لإنشاء توقيع مجهول فريد. في حالة الإنفاق المزدوج محاولة ربط هذين التوقيعين معًا، لكن الكشف عن الموقع ليس ضروريًا لأغراضنا. 4.2 التعريفات 4.2.1 معلمات المنحنى الاهليلجي نحن نختار خوارزمية التوقيع الأساسية لديناe لاستخدام المخطط السريع EdDSA، الذي تم تطويره و تم تنفيذه بواسطة د.ج. برنشتاين وآخرون. [18]. مثل Bitcoin's ECDSA فهو يعتمد على المنحنى الإهليلجي مشكلة اللوغاريتم المنفصل، لذلك يمكن أيضًا تطبيق مخططنا على Bitcoin في المستقبل. المعلمات المشتركة هي: س: عدد أولي؛ ف = 2255 −19؛ d: عنصر Fq؛ د = −121665/121666؛ E: معادلة منحنى إهليلجي؛ −x2 + y2 = 1 + dx2y2; G: نقطة أساسية؛ G = (س، −4/5)؛ l: ترتيب أولي لنقطة الأساس؛ ل = 2252 + 27742317777372353535851937790883648493; \(H_s\): دالة تشفير hash \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): دالة حتمية hash \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 المصطلحات تتطلب الخصوصية المحسنة مصطلحات جديدة لا ينبغي الخلط بينها وبين كيانات Bitcoin. المفتاح ec الخاص هو مفتاح خاص ذو منحنى إهليلجي قياسي: رقم \(a \in [1, l - 1]\); المفتاح ec العام هو مفتاح عام قياسي لمنحنى إهليلجي: النقطة A = aG؛ زوج المفاتيح لمرة واحدة هو زوج من المفاتيح الإلكترونية الخاصة والعامة؛ 5 9 يا إلهي، من المؤكد أن مؤلف هذه الورقة البيضاء كان بإمكانه صياغة هذا بشكل أفضل! دعنا نقول أن تريد الشركة المملوكة للموظفين إجراء تصويت على ما إذا كان سيتم شراء منتجات جديدة معينة أم لا الأصول، وأليكس وبريندا كلاهما موظفين. توفر الشركة لكل موظف أ رسالة مثل "أصوت بنعم على الاقتراح أ!" التي تحتوي على "مشكلة" المعلومات التعريفية [PROP A] ويطلب منهم التوقيع عليه بتوقيع حلقة يمكن تتبعه إذا كانوا يدعمون الاقتراح. باستخدام التوقيع الدائري التقليدي، يمكن للموظف غير الأمين التوقيع على الرسالة عدة مرات، من المفترض مع nonces مختلفة، من أجل التصويت عدة مرات كما يحلو لهم. من ناحية أخرى من ناحية، في مخطط التوقيع الدائري الذي يمكن تتبعه، ستذهب أليكس للتصويت، وسيحصل على مفتاحها الخاص تم استخدامها في المسألة [PROP A]. إذا حاول Alex التوقيع على رسالة مثل "أنا، بريندا، أوافق على ذلك الاقتراح أ!" "لتأطير" بريندا والتصويت المزدوج، ستواجه هذه الرسالة الجديدة المشكلة أيضًا [الدعوى أ]. نظرًا لأن مفتاح Alex الخاص قد نجح بالفعل في حل مشكلة [PROP A]، فقد تم تحديد هوية Alex سيتم الكشف عنها على الفور باعتبارها عملية احتيال. وهو، في مواجهة الأمر، رائع جدًا! فرض التشفير المساواة في التصويت. http://link.springer.com/chapter/10.1007/978-3-540-71677-8_13 هذه الورقة مثيرة للاهتمام، حيث تقوم بشكل أساسي بإنشاء توقيع حلقة مخصص ولكن بدون أي من موافقة المشارك الآخر. قد يكون هيكل التوقيع مختلفًا؛ لم أحفر عميقة، ولم أر ما إذا كانت آمنة. https://people.csail.mit.edu/rivest/AdidaHohenbergerRivest-AdHocGroupSignaturesFromHijackedKeypai توقيعات المجموعة المخصصة هي: التوقيعات الحلقية، وهي توقيعات جماعية بدون مجموعة المديرين، لا مركزية، ولكن يسمح لعضو في مجموعة مخصصة أن يدعي ذلك بشكل مثبت لقد (لم) يصدر التوقيع المجهول نيابة عن المجموعة. http://link.springer.com/chapter/10.1007/11908739_9 وهذا ليس صحيحًا تمامًا، حسب فهمي. ومن المرجح أن يتغير فهمي لقد تعمقت في هذا المشروع. لكن حسب فهمي، يبدو التسلسل الهرمي هكذا. علامات المجموعة: يتحكم مديرو المجموعة في إمكانية التتبع وإمكانية إضافة أو إزالة الأعضاء من كونهم موقعين. العلامات الدائرية: تشكيل جماعي تعسفي بدون مدير المجموعة. لا يوجد إبطال عدم الكشف عن هويته. لا توجد وسيلة للتنصل من توقيع معين. مع حلقة يمكن تتبعها وربطها التوقيعات، وعدم الكشف عن هويته قابلة للتحجيم إلى حد ما. توقيعات المجموعة المخصصة: مثل التوقيعات الحلقية، لكن يمكن للأعضاء إثبات أنهم لم يقموا بإنشائها توقيع معين. يعد هذا أمرًا مهمًا عندما يتمكن أي شخص في المجموعة من إنتاج توقيع. http://link.springer.com/chapter/10.1007/978-3-540-71677-8_13 تم تعديل خوارزمية فوجيساكي وسوزوكي لاحقًا من قبل المؤلف لتوفير مرة واحدة. هكذا سنقوم بتحليل خوارزمية فوجيساكي وسوزوكي بالتزامن مع الخوارزمية الجديدة بدلاً من ذلك من المرور هنا.
المفتاح، بل مفاتيح جميع مستخدمي مجموعته. يكون المدقق مقتنعًا بأن الموقع الحقيقي هو أ عضو في المجموعة، ولكن لا يمكن تحديد الموقع بشكل حصري. يتطلب البروتوكول الأصلي وجود طرف ثالث موثوق به (يسمى مدير المجموعة)، وقد كان كذلك الشخص الوحيد الذي يمكنه تتبع الموقع. تم تقديم الإصدار التالي الذي يسمى التوقيع الدائري بواسطة ريفست وآخرون. في [34]، كان مخططًا مستقلاً بدون مدير المجموعة وعدم الكشف عن هويته الإلغاء. ظهرت تعديلات مختلفة على هذا المخطط لاحقًا: التوقيع الدائري القابل للربط [26، 27، 17] يسمح بتحديد ما إذا كان قد تم إنتاج توقيعين من قبل نفس عضو المجموعة، ويمكن تتبعهما التوقيع الدائري [24، 23] يحد من عدم الكشف عن هويته المفرطة من خلال توفير إمكانية تتبع الموقع رسالتان فيما يتعلق بنفس المعلومات التعريفية (أو "العلامة" فيما يتعلق بـ [24]). يُعرف أيضًا بناء التشفير المماثل بتوقيع المجموعة المخصصة [16، 38]. ذلك يؤكد على تشكيل المجموعة التعسفية، في حين أن مخططات توقيع المجموعة/الحلقة تعني ضمناً أ مجموعة ثابتة من الأعضاء بالنسبة للجزء الأكبر، يعتمد الحل الذي نقدمه على عمل "التوقيع الدائري القابل للتتبع" الذي قام به إي. فوجيساكي و ك. سوزوكي [24]. من أجل التمييز بين الخوارزمية الأصلية وتعديلنا، سنقوم بذلك نطلق على الأخير توقيع رنين لمرة واحدة، مع التركيز على قدرة المستخدم على إنتاج توقيع رنين واحد صالح فقط التوقيع تحت مفتاحه الخاص. لقد أضعفنا خاصية التتبع وحافظنا على إمكانية الارتباط فقط لتوفير مرة واحدة: قد يظهر المفتاح العام في العديد من مجموعات التحقق الأجنبية و يمكن استخدام المفتاح الخاص لإنشاء توقيع مجهول فريد. في حالة الإنفاق المزدوج محاولة ربط هذين التوقيعين معًا، لكن الكشف عن الموقع ليس ضروريًا لأغراضنا. 4.2 التعريفات 4.2.1 معلمات المنحنى الاهليلجي كخوارزمية التوقيع الأساسية لدينا، اخترنا استخدام المخطط السريع EdDSA، الذي تم تطويره و تم تنفيذه بواسطة د.ج. برنشتاين وآخرون. [18]. مثل Bitcoin ECDSA فهو يعتمد على المنحنى الإهليلجي مشكلة اللوغاريتم المنفصل، لذلك يمكن أيضًا تطبيق مخططنا على Bitcoin في المستقبل. المعلمات المشتركة هي: س: عدد أولي؛ ف = 2255 −19؛ d: عنصر Fq؛ د = −121665/121666؛ E: معادلة منحنى إهليلجي؛ −x2 + y2 = 1 + dx2y2; G: نقطة أساسية؛ G = (س، −4/5)؛ l: ترتيب أولي لنقطة الأساس؛ ل = 2252 + 27742317777372353535851937790883648493; \(H_s\): دالة تشفير hash \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): دالة حتمية hash \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 المصطلحات تتطلب الخصوصية المحسنة مصطلحات جديدة لا ينبغي الخلط بينها وبين كيانات Bitcoin. المفتاح ec الخاص هو مفتاح خاص ذو منحنى إهليلجي قياسي: رقم \(a \in [1, l - 1]\); المفتاح ec العام هو مفتاح عام قياسي لمنحنى إهليلجي: النقطة A = aG؛ زوج المفاتيح لمرة واحدة هو زوج من المفاتيح الإلكترونية الخاصة والعامة؛ 5 المفتاح، بل مفاتيح جميع مستخدمي مجموعته. يكون المدقق مقتنعًا بأن الموقع الحقيقي هو أ عضو في المجموعة، ولكن لا يمكن تحديد الموقع بشكل حصري. يتطلب البروتوكول الأصلي وجود طرف ثالث موثوق به (يسمى مدير المجموعة)، وقد كان كذلك الشخص الوحيد الذي يمكنه تتبع الموقع. تم تقديم الإصدار التالي الذي يسمى التوقيع الدائري بواسطة ريفست وآخرون. في [34]، كان مخططًا مستقلاً بدون مدير المجموعة وعدم الكشف عن هويته الإلغاء. ظهرت تعديلات مختلفة على هذا المخطط لاحقًا: التوقيع الدائري القابل للربط [26، 27، 17] يسمح بتحديد ما إذا كان قد تم إنتاج توقيعين من قبل نفس عضو المجموعة، ويمكن تتبعهما التوقيع الدائري [24، 23] يحد من عدم الكشف عن هويته المفرطة من خلال توفير إمكانية تتبع الموقع رسالتان فيما يتعلق بنفس المعلومات التعريفية (أو "العلامة" فيما يتعلق بـ [24]). يُعرف أيضًا بناء التشفير المماثل بتوقيع المجموعة المخصصة [16، 38]. ذلك يؤكد على تشكيل المجموعة التعسفية، في حين أن مخططات توقيع المجموعة/الحلقة تعني ضمناً أ مجموعة ثابتة من الأعضاء بالنسبة للجزء الأكبر، يعتمد الحل الذي نقدمه على عمل "التوقيع الدائري القابل للتتبع" الذي قام به إي. فوجيساكي و ك. سوزوكي [24]. من أجل التمييز بين الخوارزمية الأصلية وتعديلنا، سنقوم بذلك نطلق على الأخير توقيع رنين لمرة واحدة، مع التركيز على قدرة المستخدم على إنتاج توقيع رنين واحد صالح فقط التوقيع تحت مفتاحه الخاص. لقد أضعفنا خاصية التتبع وحافظنا على إمكانية الارتباط فقط لتوفير مرة واحدة: قد يظهر المفتاح العام في العديد من مجموعات التحقق الأجنبية و يمكن استخدام المفتاح الخاص لإنشاء توقيع مجهول فريد. في حالة الإنفاق المزدوج محاولة ربط هذين التوقيعين معًا، لكن الكشف عن الموقع ليس ضروريًا لأغراضنا. 4.2 التعريفات 4.2.1 معلمات المنحنى الاهليلجي نحن نختار خوارزمية التوقيع الأساسية لديناe لاستخدام المخطط السريع EdDSA، الذي تم تطويره و تم تنفيذه بواسطة د.ج. برنشتاين وآخرون. [18]. مثل Bitcoin ECDSA فهو يعتمد على المنحنى الإهليلجي مشكلة اللوغاريتم المنفصل، لذلك يمكن أيضًا تطبيق مخططنا على Bitcoin في المستقبل. المعلمات المشتركة هي: س: عدد أولي؛ ف = 2255 −19؛ d: عنصر Fq؛ د = −121665/121666؛ E: معادلة منحنى إهليلجي؛ −x2 + y2 = 1 + dx2y2; G: نقطة أساسية؛ G = (س، −4/5)؛ l: ترتيب أولي لنقطة الأساس؛ ل = 2252 + 27742317777372353535851937790883648493; \(H_s\): دالة تشفير hash \(\{0, 1\}^* \to \mathbb{F}_q\); \(H_p\): دالة حتمية hash \(E(\mathbb{F}_q) \to E(\mathbb{F}_q)\). 4.2.2 المصطلحات تتطلب الخصوصية المحسنة مصطلحات جديدة لا ينبغي الخلط بينها وبين كيانات Bitcoin. المفتاح ec الخاص هو مفتاح خاص ذو منحنى إهليلجي قياسي: رقم \(a \in [1, l - 1]\); المفتاح ec العام هو مفتاح عام قياسي لمنحنى إهليلجي: النقطة A = aG؛ زوج المفاتيح لمرة واحدة هو زوج من المفاتيح الإلكترونية الخاصة والعامة؛ 5 10 تعني إمكانية الارتباط بمعنى "التوقيعات الحلقية القابلة للربط" أنه يمكننا معرفة ما إذا كانت المعاملتان الصادرتان جاءتا من نفس المصدر دون الكشف عن هوية المصدر. ضعف المؤلفون قابلية الارتباط وذلك من أجل (أ) الحفاظ على الخصوصية، ولكن (ب) اكتشاف أي معاملة باستخدام مفتاح خاص للمرة الثانية باطل حسنًا، هذا سؤال يتعلق بترتيب الأحداث. النظر في السيناريو التالي. التعدين الخاص بي سيكون لدى الكمبيوتر blockchain الحالي، وسيكون له كتلة المعاملات الخاصة به التي يستدعيها مشروعة، وستعمل على تلك الكتلة في لغز proof-of-work، وسيكون لها قائمة المعاملات المعلقة المراد إضافتها إلى الكتلة التالية. كما سيتم إرسال أي جديد المعاملات في تلك المجموعة من المعاملات المعلقة. إذا لم أحل الكتلة التالية، ولكن شخص آخر يفعل ذلك، أحصل على نسخة محدثة من blockchain. الكتلة التي كنت أعمل عليها و قد تحتوي قائمة المعاملات المعلقة الخاصة بي على بعض المعاملات التي تم دمجها الآن في blockchain. قم بكشف الكتلة المعلقة الخاصة بي، وادمجها مع قائمة المعاملات المعلقة الخاصة بي، وقم باستدعاء ذلك مجموعتي من المعاملات المعلقة. قم بإزالة أي شيء موجود رسميًا الآن في blockchain. الآن، ماذا أفعل؟ هل يجب أن أقوم أولاً بـ "إزالة كافة عمليات الإنفاق المزدوج"؟ من ناحية أخرى من ناحية، يجب أن أبحث في القائمة وأتأكد من أن كل مفتاح خاص لم يتم العثور عليه بعد المستخدمة، وإذا تم استخدامها بالفعل في قائمتي، فقد حصلت على النسخة الأولى أولاً، وبالتالي أي نسخة أخرى غير شرعية. وهكذا أشرع في حذف جميع الحالات بعد الأولى لنفس المفتاح الخاص. الهندسة الجبرية لم تكن أبدًا خياري القوي. http://en.wikipedia.org/wiki/EdDSA هذه السرعة، واو كثيرا. هذه هي الهندسة الجبرية للفوز. لا يعني ذلك أنني أعرف أي شيء حول ذلك. سواء أكان الأمر مثيرًا للمشاكل أم لا، فإن السجلات المنفصلة تصبح سريعة جدًا. وأجهزة الكمبيوتر الكمومية تأكلها لتناول الافطار. http://link.springer.com/article/10.1007/s13389-012-0027-1 يصبح هذا رقمًا مهمًا حقًا، لكن لا يوجد تفسير أو اقتباس لكيفية حدوثه تم اختياره. إن مجرد اختيار عدد أولي كبير واحد معروف سيكون أمرًا جيدًا، لكن إذا كان هناك عدد أولي معروف حقائق حول هذا العدد الأولي الكبير، والتي يمكن أن تؤثر على اختيارنا. أنواع مختلفة من العملات المشفرة يمكن اختيار قيم مختلفة لـ حسنًا، ولكن لا توجد مناقشة في هذه الورقة حول كيفية ذلك سيؤثر اختيارنا على اختياراتنا للمعلمات العالمية الأخرى المدرجة في الصفحة 5. تحتاج هذه الورقة إلى قسم حول اختيار قيم المعلمات.
مفتاح المستخدم الخاص هو زوج (أ، ب) من مفتاحين خاصين مختلفين؛ مفتاح التتبع هو زوج (أ، ب) من مفاتيح ec الخاصة والعامة (حيث B = bG وa ̸= b)؛ مفتاح المستخدم العام هو زوج (أ، ب) من مفتاحين عموميين مشتقين من (أ، ب)؛ العنوان القياسي هو تمثيل لمفتاح المستخدم العام المعطى في سلسلة سهلة الاستخدام مع تصحيح الخطأ العنوان المقطوع هو تمثيل للنصف الثاني (النقطة ب) من مفتاح المستخدم العام المحدد في سلسلة صديقة للإنسان مع تصحيح الخطأ. تظل بنية المعاملة مشابهة للبنية الموجودة في Bitcoin: يمكن لكل مستخدم الاختيار عدة دفعات واردة مستقلة (مخرجات المعاملات)، قم بتوقيعها مع ما يقابلها المفاتيح الخاصة وإرسالها إلى وجهات مختلفة. على عكس نموذج Bitcoin، حيث يمتلك المستخدم مفتاحًا خاصًا وعامًا فريدًا، في النموذج المقترح، حيث يقوم المرسل بإنشاء مفتاح عام لمرة واحدة بناءً على عنوان المستلم و بعض البيانات العشوائية. وبهذا المعنى، يتم إرسال المعاملة الواردة لنفس المستلم إلى مفتاح عام لمرة واحدة (ليس مباشرة إلى عنوان فريد) ويمكن للمستلم فقط استرداد الملف الجزء الخاص المقابل لاسترداد أمواله (باستخدام مفتاحه الخاص الفريد). يستطيع المتلقي إنفاق الأموال باستخدام التوقيع الدائري، مع الاحتفاظ بملكيته وإنفاقه الفعلي مجهولاً. يتم شرح تفاصيل البروتوكول في الأقسام الفرعية التالية. 4.3 مدفوعات غير قابلة للربط تصبح عناوين Bitcoin الكلاسيكية، بمجرد نشرها، معرفًا لا لبس فيه للواردات المدفوعات وربطها معًا وربطها بالأسماء المستعارة للمستلم. إذا أراد شخص ما إذا تلقى معاملة "غير مقيدة"، فعليه أن ينقل عنوانه إلى المرسل عبر قناة خاصة. إذا أراد استلام معاملات مختلفة لا يمكن إثبات ملكيتها لنفس المالك يجب عليه إنشاء جميع العناوين المختلفة وعدم نشرها أبدًا باسمه المستعار. عام خاص أليس كارول عنوان بوب 1 عنوان بوب 2 مفتاح بوب 1 مفتاح بوب 2 بوب الشكل 2. نموذج المفاتيح/المعاملات التقليدي Bitcoin. نقترح حلاً يسمح للمستخدم بنشر عنوان واحد والحصول عليه دون قيد أو شرط مدفوعات غير قابلة للربط. وجهة كل مخرجات CryptoNote (افتراضيًا) هي مفتاح عام، مشتقة من عنوان المستلم والبيانات العشوائية للمرسل. الميزة الرئيسية ضد Bitcoin هو أن كل مفتاح وجهة فريد بشكل افتراضي (ما لم يستخدم المرسل نفس البيانات لكل مفتاح معاملاته لنفس المستلم). وبالتالي، لا توجد مشكلة مثل "إعادة استخدام العنوان". التصميم ولا يمكن لأي مراقب تحديد ما إذا كانت أي معاملات قد تم إرسالها إلى عنوان أو رابط محدد عنوانين معا. 6 مفتاح المستخدم الخاص هو زوج (أ، ب) من مفتاحين خاصين مختلفين؛ مفتاح التتبع هو زوج (أ، ب) من مفاتيح ec الخاصة والعامة (حيث B = bG وa ̸= b)؛ مفتاح المستخدم العام هو زوج (أ، ب) من مفتاحين عموميين مشتقين من (أ، ب)؛ العنوان القياسي هو تمثيل لمفتاح المستخدم العام المعطى في سلسلة سهلة الاستخدام مع تصحيح الخطأ العنوان المقطوع هو تمثيل للنصف الثاني (النقطة ب) من مفتاح المستخدم العام المحدد في سلسلة صديقة للإنسان مع تصحيح الخطأ. تظل بنية المعاملة مشابهة للبنية الموجودة في Bitcoin: يمكن لكل مستخدم الاختيار عدة دفعات واردة مستقلة (مخرجات المعاملات)، قم بتوقيعها مع ما يقابلها المفاتيح الخاصة وإرسالها إلى وجهات مختلفة. على عكس نموذج Bitcoin، حيث يمتلك المستخدم مفتاحًا خاصًا وعامًا فريدًا، في النموذج المقترح، حيث يقوم المرسل بإنشاء مفتاح عام لمرة واحدة بناءً على عنوان المستلم و بعض البيانات العشوائية. وبهذا المعنى، يتم إرسال المعاملة الواردة لنفس المستلم إلى مفتاح عام لمرة واحدة (ليس مباشرة إلى عنوان فريد) ويمكن للمستلم فقط استرداد الملف الجزء الخاص المقابل لاسترداد أمواله (باستخدام مفتاحه الخاص الفريد). يستطيع المتلقي إنفاق الأموال باستخدام التوقيع الدائري، مع الاحتفاظ بملكيته وإنفاقه الفعلي مجهولاً. يتم شرح تفاصيل البروتوكول في الأقسام الفرعية التالية. 4.3 مدفوعات غير قابلة للربط تصبح عناوين Bitcoin الكلاسيكية، بمجرد نشرها، معرفًا لا لبس فيه للواردات المدفوعات وربطها معًا وربطها بالأسماء المستعارة للمستلم. إذا أراد شخص ما إذا تلقى معاملة "غير مقيدة"، فعليه أن ينقل عنوانه إلى المرسل عبر قناة خاصة. إذا أراد استلام معاملات مختلفة لا يمكن إثبات ملكيتها لنفس المالك يجب عليه إنشاء جميع العناوين المختلفة وعدم نشرها أبدًا باسمه المستعار. عام خاص أليس كارول عنوان بوب 1 عنوان بوب 2 مفتاح بوب 1 مفتاح بوب 2 بوب الشكل 2. المفاتيح/المعاملات التقليدية Bitcoinش. نقترح حلاً يسمح للمستخدم بنشر عنوان واحد والحصول عليه دون قيد أو شرط مدفوعات غير قابلة للربط. وجهة كل مخرجات CryptoNote (افتراضيًا) هي مفتاح عام، مشتقة من عنوان المستلم والبيانات العشوائية للمرسل. الميزة الرئيسية ضد Bitcoin هو أن كل مفتاح وجهة فريد بشكل افتراضي (ما لم يستخدم المرسل نفس البيانات لكل مفتاح معاملاته لنفس المستلم). وبالتالي، لا توجد مشكلة مثل "إعادة استخدام العنوان". التصميم ولا يمكن لأي مراقب تحديد ما إذا كانت أي معاملات قد تم إرسالها إلى عنوان أو رابط محدد عنوانين معا. 6 11 لذا فإن هذا يشبه Bitcoin، ولكن مع عدد لا نهائي من صناديق البريد المجهولة، والتي لا يمكن استردادها إلا بواسطة المتلقي إنشاء مفتاح خاص مجهول مثل التوقيع الدائري. Bitcoin يعمل بهذه الطريقة. إذا كان لدى Alex 0.112 Bitcoin في محفظتها التي تلقتها للتو من فرانك، فهذا يعني أن لديها بالفعل توقيعًا موقعًا الرسالة "أنا، [فرانك]، أرسل 0.112 Bitcoin إلى [أليكس] + H0 + N0" حيث 1) وقع فرانك على رسالة بمفتاحه الخاص [فرانك]، 2) وقع فرانك على الرسالة مع جمهور أليكس المفتاح، [أليكس]، 3) قام فرانك بتضمين شكل من أشكال تاريخ البيتكوين، H0، و4) فرانك يتضمن بتًا عشوائيًا من البيانات يسمى nonce، N0. إذا أراد Alex بعد ذلك إرسال 0.011 Bitcoin إلى شارلين، فسوف تتلقى رسالة فرانك، وهي ستقوم بتعيين ذلك على H1، وتوقيع رسالتين: واحدة لمعاملتها، وواحدة للتغيير. H1= "أنا، [فرانك]، أرسل 0.112 Bitcoin إلى [أليكس] + H0 + N" "أنا، [ALEX]، أرسل 0.011 Bitcoin إلى [شارلين] + H1 + N1" ""أنا، [ALEX]، أرسل 0.101 Bitcoin كتغيير إلى [alex] + H1 + N2." حيث تقوم Alex بتوقيع كلتا الرسالتين باستخدام مفتاحها الخاص [ALEX]، وهي الرسالة الأولى مع رسالة شارلين المفتاح العام [شارلين]، الرسالة الثانية التي تحتوي على المفتاح العام لـ Alex [alex]، بما في ذلك التواريخ وبعض nonces N1 وN2 التي تم إنشاؤها عشوائيًا بشكل مناسب. يعمل Cryptonote بهذه الطريقة: إذا كان لدى Alex 0.112 Cryptonote في محفظتها التي تلقتها للتو من Frank، فهي بالفعل تمتلك توقيعًا موقعًا الرسالة "أنا، [شخص ما في مجموعة مخصصة]، أرسل 0.112 Cryptonote إلى [عنوان لمرة واحدة] + H0 + ن0." اكتشفت أليكس أن هذه أموالها عن طريق التحقق من مفتاحها الخاص [أليكس] مقابلها [عنوان لمرة واحدة] لكل رسالة عابرة، وإذا أرادت أن تقضيها فعلت ذلك بالطريقة التالية. لقد اختارت متلقيًا للمال، ربما بدأت شارلين في التصويت لصالح ضربات الطائرات بدون طيار يريد Alex إرسال الأموال إلى Brenda بدلاً من ذلك. لذا يبحث أليكس عن مفتاح بريندا العام، [بريندا]، وتستخدم مفتاحها الخاص، [ALEX]، لإنشاء عنوان لمرة واحدة [ALEX+brenda]. هي ثم تختار مجموعة عشوائية C من شبكة مستخدمي العملات المشفرة وتقوم بإنشائها توقيع رنين من هذه المجموعة المخصصة. أضفنا تاريخنا كالرسالة السابقة nonces، والمتابعة كالمعتاد؟ H1 = "أنا، [شخص ما في مجموعة مخصصة]، أرسل 0.112 Cryptonote إلى [عنوان لمرة واحدة] + H0 + ن0." "أنا، [شخص ما في المجموعة C]، أرسل 0.011 Cryptonote إلى [عنوان لمرة واحدة مصنوع من ALEX+brenda] + H1 + N1" "أنا، [شخص ما في المجموعة C]، أرسل 0.101 Cryptonote كتغيير إلى [one-time-address-madefrom-ALEX+alex] + H1 + N2" الآن، يقوم كل من Alex وBrenda بفحص جميع الرسائل الواردة بحثًا عن أي عناوين لمرة واحدة تم إنشاؤها باستخدام مفتاحهم. وإذا وجدوا أيًا منها، فإن هذه الرسالة ستكون جديدة تمامًا بالنسبة لهم عملة مشفرة! وحتى ذلك الحين، ستظل المعاملة تصل إلى blockchain. إذا كانت العملات تدخل هذا العنوان ومن المعروف أنها مرسلة من المجرمين أو المساهمين السياسيين أو من اللجان والحسابات بميزانيات صارمة (أي الاختلاس)، أو إذا ارتكب المالك الجديد لهذه العملات خطأً ويرسل هذه العملات المعدنية إلى عنوان مشترك مع العملات المعدنية المعروف أنه يمتلكها، وهي رقصة عدم الكشف عن هويته هو ما يصل في البيتكوين.
مفتاح المستخدم الخاص هو زوج (أ، ب) من مفتاحين خاصين مختلفين؛ مفتاح التتبع هو زوج (أ، ب) من مفاتيح ec الخاصة والعامة (حيث B = bG وa ̸= b)؛ مفتاح المستخدم العام هو زوج (أ، ب) من مفتاحين عموميين مشتقين من (أ، ب)؛ العنوان القياسي هو تمثيل لمفتاح المستخدم العام المعطى في سلسلة سهلة الاستخدام مع تصحيح الخطأ العنوان المقطوع هو تمثيل للنصف الثاني (النقطة ب) من مفتاح المستخدم العام المحدد في سلسلة صديقة للإنسان مع تصحيح الخطأ. تظل بنية المعاملة مشابهة للبنية الموجودة في Bitcoin: يمكن لكل مستخدم الاختيار عدة دفعات واردة مستقلة (مخرجات المعاملات)، قم بتوقيعها مع ما يقابلها المفاتيح الخاصة وإرسالها إلى وجهات مختلفة. على عكس نموذج Bitcoin، حيث يمتلك المستخدم مفتاحًا خاصًا وعامًا فريدًا، في النموذج المقترح، حيث يقوم المرسل بإنشاء مفتاح عام لمرة واحدة بناءً على عنوان المستلم و بعض البيانات العشوائية. وبهذا المعنى، يتم إرسال المعاملة الواردة لنفس المستلم إلى مفتاح عام لمرة واحدة (ليس مباشرة إلى عنوان فريد) ويمكن للمستلم فقط استرداد الملف الجزء الخاص المقابل لاسترداد أمواله (باستخدام مفتاحه الخاص الفريد). يستطيع المتلقي إنفاق الأموال باستخدام التوقيع الدائري، مع الاحتفاظ بملكيته وإنفاقه الفعلي مجهولاً. يتم شرح تفاصيل البروتوكول في الأقسام الفرعية التالية. 4.3 مدفوعات غير قابلة للربط تصبح عناوين Bitcoin الكلاسيكية، بمجرد نشرها، معرفًا لا لبس فيه للواردات المدفوعات وربطها معًا وربطها بالأسماء المستعارة للمستلم. إذا أراد شخص ما إذا تلقى معاملة "غير مقيدة"، فعليه أن ينقل عنوانه إلى المرسل عبر قناة خاصة. إذا أراد استلام معاملات مختلفة لا يمكن إثبات ملكيتها لنفس المالك يجب عليه إنشاء جميع العناوين المختلفة وعدم نشرها أبدًا باسمه المستعار. عام خاص أليس كارول عنوان بوب 1 عنوان بوب 2 مفتاح بوب 1 مفتاح بوب 2 بوب الشكل 2. نموذج المفاتيح/المعاملات التقليدي Bitcoin. نقترح حلاً يسمح للمستخدم بنشر عنوان واحد والحصول عليه دون قيد أو شرط مدفوعات غير قابلة للربط. وجهة كل مخرجات CryptoNote (افتراضيًا) هي مفتاح عام، مشتقة من عنوان المستلم والبيانات العشوائية للمرسل. الميزة الرئيسية ضد Bitcoin هو أن كل مفتاح وجهة فريد بشكل افتراضي (ما لم يستخدم المرسل نفس البيانات لكل مفتاح معاملاته لنفس المستلم). وبالتالي، لا توجد مشكلة مثل "إعادة استخدام العنوان". التصميم ولا يمكن لأي مراقب تحديد ما إذا كانت أي معاملات قد تم إرسالها إلى عنوان أو رابط محدد عنوانين معا. 6 مفتاح المستخدم الخاص هو زوج (أ، ب) من مفتاحين خاصين مختلفين؛ مفتاح التتبع هو زوج (أ، ب) من مفاتيح ec الخاصة والعامة (حيث B = bG وa ̸= b)؛ مفتاح المستخدم العام هو زوج (أ، ب) من مفتاحين عموميين مشتقين من (أ، ب)؛ العنوان القياسي هو تمثيل لمفتاح المستخدم العام المعطى في سلسلة سهلة الاستخدام مع تصحيح الخطأ العنوان المقطوع هو تمثيل للنصف الثاني (النقطة ب) من مفتاح المستخدم العام المحدد في سلسلة صديقة للإنسان مع تصحيح الخطأ. تظل بنية المعاملة مشابهة للبنية الموجودة في Bitcoin: يمكن لكل مستخدم الاختيار عدة دفعات واردة مستقلة (مخرجات المعاملات)، قم بتوقيعها مع ما يقابلها المفاتيح الخاصة وإرسالها إلى وجهات مختلفة. على عكس نموذج Bitcoin، حيث يمتلك المستخدم مفتاحًا خاصًا وعامًا فريدًا، في النموذج المقترح، حيث يقوم المرسل بإنشاء مفتاح عام لمرة واحدة بناءً على عنوان المستلم و بعض البيانات العشوائية. وبهذا المعنى، يتم إرسال المعاملة الواردة لنفس المستلم إلى مفتاح عام لمرة واحدة (ليس مباشرة إلى عنوان فريد) ويمكن للمستلم فقط استرداد الملف الجزء الخاص المقابل لاسترداد أمواله (باستخدام مفتاحه الخاص الفريد). يستطيع المتلقي إنفاق الأموال باستخدام التوقيع الدائري، مع الاحتفاظ بملكيته وإنفاقه الفعلي مجهولاً. يتم شرح تفاصيل البروتوكول في الأقسام الفرعية التالية. 4.3 مدفوعات غير قابلة للربط تصبح عناوين Bitcoin الكلاسيكية، بمجرد نشرها، معرفًا لا لبس فيه للواردات المدفوعات وربطها معًا وربطها بالأسماء المستعارة للمستلم. إذا أراد شخص ما إذا تلقى معاملة "غير مقيدة"، فعليه أن ينقل عنوانه إلى المرسل عبر قناة خاصة. إذا أراد استلام معاملات مختلفة لا يمكن إثبات ملكيتها لنفس المالك يجب عليه إنشاء جميع العناوين المختلفة وعدم نشرها أبدًا باسمه المستعار. عام خاص أليس كارول عنوان بوب 1 عنوان بوب 2 مفتاح بوب 1 مفتاح بوب 2 بوب الشكل 2. المفاتيح/المعاملات التقليدية Bitcoinش. نقترح حلاً يسمح للمستخدم بنشر عنوان واحد والحصول عليه دون قيد أو شرط مدفوعات غير قابلة للربط. وجهة كل مخرجات CryptoNote (افتراضيًا) هي مفتاح عام، مشتقة من عنوان المستلم والبيانات العشوائية للمرسل. الميزة الرئيسية ضد Bitcoin هو أن كل مفتاح وجهة فريد بشكل افتراضي (ما لم يستخدم المرسل نفس البيانات لكل مفتاح معاملاته لنفس المستلم). وبالتالي، لا توجد مشكلة مثل "إعادة استخدام العنوان". التصميم ولا يمكن لأي مراقب تحديد ما إذا كانت أي معاملات قد تم إرسالها إلى عنوان أو رابط محدد عنوانين معا. 6 12 وبالتالي، بدلًا من قيام المستخدمين بإرسال العملات المعدنية من العنوان (وهو في الحقيقة مفتاح عام) إلى العنوان (مفتاح عام آخر) باستخدام مفاتيحهم الخاصة، يرسل المستخدمون العملات المعدنية من صندوق بريد لمرة واحدة (الذي يتم إنشاؤه باستخدام المفتاح العام لأصدقائك) إلى صندوق بريد لمرة واحدة (بالمثل) باستخدام الخاص بك المفاتيح الخاصة الخاصة. بمعنى ما، نحن نقول: "حسنًا، ليرفع الجميع أيديهم عن المال أثناء صرفه نقل حولها! يكفي ببساطة أن نعرف أن مفاتيحنا * يمكنها * فتح هذا الصندوق وذاك نحن نعرف مقدار المال الموجود في الصندوق. لا تضع بصمات أصابعك أبدًا على صندوق البريد أو استخدمه فعليًا، فقط قم بتداول الصندوق المليء بالنقود نفسها. وبهذه الطريقة لا نعرف من أرسل ماذا، لكن محتويات هذه العناوين العامة لا تزال غير قابلة للاحتكاك، وقابلة للاستبدال، وقابلة للقسمة، و لا تزال تمتلك كل الصفات اللطيفة الأخرى للأموال التي نرغب فيها مثل عملة البيتكوين." مجموعة لا حصر لها من صناديق البريد. قمت بنشر عنوان، لدي مفتاح خاص. أستخدم مفتاحي الخاص وعنوانك، و بعض البيانات العشوائية، لإنشاء مفتاح عام. تم تصميم الخوارزمية بحيث، منذ تم استخدام العنوان لإنشاء المفتاح العام، ويعمل مفتاحك الخاص فقط على فتح المفتاح رسالة. مراقب، حواء، يراك تنشر عنوانك، ويرى المفتاح العام الذي أعلنه. ومع ذلك، إنها لا تعرف ما إذا كنت قد أعلنت عن مفتاحي العام بناءً على عنوانك أو عنوانها أو عنوان بريندا أو شارلين، أو أيا كان. إنها تتحقق من مفتاحها الخاص مقابل المفتاح العام الذي أعلنته ويرى أنه لا يعمل؛ إنه ليس مالها. إنها لا تعرف المفتاح الخاص لأي شخص آخر، و فقط مستلم الرسالة لديه المفتاح الخاص الذي يمكنه فتح الرسالة. لذلك لا أحد الاستماع يمكن أن يحدد من الذي حصل على المال ناهيك عن أخذ المال.
عام خاص أليس كارول مفتاح لمرة واحدة مفتاح لمرة واحدة مفتاح لمرة واحدة بوب مفتاح بوب عنوان بوب الشكل 3. مفاتيح CryptoNote/نموذج المعاملات. أولاً، يقوم المرسل بإجراء تبادل Diffe-Hellman للحصول على سر مشترك من بياناته وبياناته نصف عنوان المستلم. ثم يقوم بحساب مفتاح الوجهة لمرة واحدة باستخدام المفتاح المشترك السر والنصف الثاني من العنوان. يلزم وجود مفتاحين إلكترونيين مختلفين من المستلم في هاتين الخطوتين، يكون حجم عنوان CryptoNote القياسي ضعف حجم محفظة Bitcoin تقريبًا عنوان. يقوم جهاز الاستقبال أيضًا بإجراء تبادل Diffe-Hellman لاسترداد ما يقابله المفتاح السري. يسير تسلسل المعاملات القياسي كما يلي: 1. تريد أليس إرسال دفعة إلى بوب، الذي نشر عنوانه القياسي. هي يقوم بفك العنوان ويحصل على المفتاح العام لبوب (أ، ب). 2. تولد أليس عشوائيًا \(r \in [1, l - 1]\) وتحسب مفتاحًا عامًا لمرة واحدة \(P = H_s(rA)G +\) ب. 3. تستخدم أليس P كمفتاح وجهة للإخراج وتحزم أيضًا القيمة R = rG (كجزء من بورصة Diffe-Hellman) في مكان ما من المعاملة. لاحظ أنها يمكن أن تخلق مخرجات أخرى ذات مفاتيح عامة فريدة: تشير مفاتيح المستلمين المختلفة (Ai، Bi) إلى Pi مختلف حتى مع نفس ص. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة ص = ص.ج P = Hs(rA)G + B المتلقي المفتاح العام البيانات العشوائية للمرسل ص (أ، ب) الشكل 4. هيكل المعاملات القياسي. 4. تقوم أليس بإرسال المعاملة. 5. يتحقق بوب من كل معاملة تمر باستخدام مفتاحه الخاص (a، b)، ويحسب P ′ = Hs(aR)G + B. إذا كانت معاملة أليس مع بوب باعتباره المستلم من بينها، ثم aR = arG = rA و P ′ = P. 7 عام خاص أليس كارول مفتاح لمرة واحدة مفتاح لمرة واحدة مفتاح لمرة واحدة بوب مفتاح بوب عنوان بوب الشكل 3. مفاتيح CryptoNote/نموذج المعاملات. أولاً، يقوم المرسل بإجراء تبادل Diffe-Hellman للحصول على سر مشترك من بياناته وبياناته نصف عنوان المستلم. ثم يقوم بحساب مفتاح الوجهة لمرة واحدة باستخدام المفتاح المشترك السر والنصف الثاني من العنوان. يلزم وجود مفتاحين إلكترونيين مختلفين من المستلم في هاتين الخطوتين، يكون حجم عنوان CryptoNote القياسي ضعف حجم محفظة Bitcoin تقريبًا عنوان. يقوم جهاز الاستقبال أيضًا بإجراء تبادل Diffe-Hellman لاسترداد ما يقابله المفتاح السري. يسير تسلسل المعاملات القياسي كما يلي: 1. تريد أليس إرسال دفعة إلى بوب، الذي نشر عنوانه القياسي. هي يقوم بفك العنوان ويحصل على المفتاح العام لبوب (أ، ب). 2. تولد أليس عشوائيًا \(r \in [1, l - 1]\) وتحسب مفتاحًا عامًا لمرة واحدة \(P = H_s(rA)G +\) ب. 3. تستخدم أليس P كمفتاح وجهة للإخراج وتحزم أيضًا القيمة R = rG (كجزء من بورصة Diffe-Hellman) في مكان ما من المعاملة. لاحظ أنها يمكن أن تخلق مخرجات أخرى ذات مفاتيح عامة فريدة: تشير مفاتيح المستلمين المختلفة (Ai، Bi) إلى Pi مختلف حتى مع نفس ص. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة ص = ص.ج P = Hs(rA)G + B المتلقي المفتاح العام البيانات العشوائية للمرسل ص (أ، ب) الشكل 4. هيكل المعاملات القياسي. 4. تقوم أليس بإرسال المعاملة. 5. يتحقق بوب من كل معاملة تمر باستخدام مفتاحه الخاص (a، b)، ويحسب P ′ = Hs(aR)G + B. إذا كانت معاملة أليس مع بوب باعتباره المستلم من بينها، ثم aR = arG = rA و P ′ = P. 7 13 أتساءل كم سيكون الألم في الرقبة عند تنفيذ اختيار التشفير مخطط. إهليلجي أو غير ذلك. لذلك، إذا تم كسر بعض المخططات في المستقبل، تتحول العملة دون قلق. ربما ألم كبير في المؤخرة. حسنًا، هذا بالضبط ما شرحته للتو في تعليقي السابق. نوع ديفي هيلمان التبادلات نظيفة. لنفترض أن كل من Alex وBrenda لديه رقم سري، A وB، ورقم إنهم لا يهتمون بالحفاظ على السر، أ و ب. إنهم يرغبون في إنشاء سر مشترك بدون إيفا تكتشف ذلك. توصل ديفل وهيلمان إلى طريقة لمشاركة أليكس وبريندا الأرقام العامة a وb، ولكن ليس الأرقام الخاصة A وB، وإنشاء سر مشترك، K. باستخدام هذا السر المشترك، K، دون أن تستمع إيفا إلى القدرة على توليد نفس السر يمكن لـ K وAlex وBrenda الآن استخدام K كمفتاح تشفير سري وتمرير الرسائل السرية مرة أخرى وإيابا. وإليك كيفية عمل ذلك، على الرغم من أنه يجب أن يعمل مع أرقام أكبر بكثير من 100. سنستخدم 100 لأن العمل على الأعداد الصحيحة modulo 100 يعادل "التخلص من كل شيء" ولكن آخر رقمين من الرقم." يختار كل من Alex وBrenda A وa وB وb. إنهم يحتفظون بسرية A و B. تخبر أليكس بريندا بقيمتها وهي 100 (آخر رقمين فقط) وتخبر بريندا أليكس قيمة b modulo 100. الآن إيفا تعرف (a,b) modulo 100. لكن Alex تعرف (a,b,A) لذا فهي يمكن حساب x=abA modulo 100.يقطع Alex كل الرقم باستثناء الرقم الأخير لأننا نعمل تحت الأعداد الصحيحة modulo 100 مرة أخرى. وبالمثل، تعرف بريندا (أ، ب، ب) حتى تتمكن من إجراء العمليات الحسابية y=abB modulo 100. يستطيع Alex الآن نشر x ويمكن لبريندا نشر y. لكن الآن يستطيع Alex حساب yA = abBA modulo 100، ويمكن لبريندا حساب xB = أببأ مودولو 100. كلاهما يعرف نفس الرقم! لكن كل ما سمعته إيفا هو (أ، ب، أ * ب * أ، أ * ب * ب). ليس لديها طريقة سهلة لحساب أبأ*ب. الآن، هذه هي الطريقة الأسهل والأقل أمانًا للتفكير في بورصة Diffe-Hellman. توجد إصدارات أكثر أمانا. لكن معظم الإصدارات تعمل بسبب عوامل الأعداد الصحيحة والمنفصلة اللوغاريتمات صعبة، ويمكن حل هاتين المشكلتين بسهولة بواسطة أجهزة الكمبيوتر الكمومية. سأبحث في ما إذا كانت هناك أي إصدارات مقاومة للكم. http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange يفتقد "تسلسل txn القياسي" المدرج هنا مجموعة كاملة من الخطوات، مثل التوقيعات. لقد تم أخذهم كأمر مسلم به هنا. وهو أمر سيء حقا، لأن الترتيب الذي نحن فيه أشياء التوقيع، والمعلومات المضمنة في الرسالة الموقعة، وما إلى ذلك... كل هذا للغاية مهم للبروتوكول. الخطأ في خطوة أو خطوتين من الخطوات، حتى لو كان خارج الترتيب قليلاً، أثناء تنفيذ " "تسلسل المعاملات القياسي" يمكن أن يلقي بظلال من الشك على أمن النظام بأكمله. علاوة على ذلك، فإن الأدلة المقدمة لاحقًا في الورقة قد لا تكون صارمة بما فيه الكفاية إذا كانت يتم تعريف الإطار الذي يعملون ضمنه بشكل فضفاض كما هو الحال في هذا القسم.
عام خاص أليس كارول مفتاح لمرة واحدة مفتاح لمرة واحدة مفتاح لمرة واحدة بوب مفتاح بوب عنوان بوب الشكل 3. مفاتيح CryptoNote/نموذج المعاملات. أولاً، يقوم المرسل بإجراء تبادل Diffe-Hellman للحصول على سر مشترك من بياناته وبياناته نصف عنوان المستلم. ثم يقوم بحساب مفتاح الوجهة لمرة واحدة باستخدام المفتاح المشترك السر والنصف الثاني من العنوان. يلزم وجود مفتاحين إلكترونيين مختلفين من المستلم في هاتين الخطوتين، يكون حجم عنوان CryptoNote القياسي ضعف حجم محفظة Bitcoin تقريبًا عنوان. يقوم جهاز الاستقبال أيضًا بإجراء تبادل Diffe-Hellman لاسترداد ما يقابله المفتاح السري. يسير تسلسل المعاملات القياسي كما يلي: 1. تريد أليس إرسال دفعة إلى بوب، الذي نشر عنوانه القياسي. هي يقوم بفك العنوان ويحصل على المفتاح العام لبوب (أ، ب). 2. تولد أليس عشوائيًا \(r \in [1, l - 1]\) وتحسب مفتاحًا عامًا لمرة واحدة \(P = H_s(rA)G +\) ب. 3. تستخدم أليس P كمفتاح وجهة للإخراج وتحزم أيضًا القيمة R = rG (كجزء من بورصة Diffe-Hellman) في مكان ما من المعاملة. لاحظ أنها يمكن أن تخلق مخرجات أخرى ذات مفاتيح عامة فريدة: تشير مفاتيح المستلمين المختلفة (Ai، Bi) إلى Pi مختلف حتى مع نفس ص. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة ص = ص.ج P = Hs(rA)G + B المتلقي المفتاح العام البيانات العشوائية للمرسل ص (أ، ب) الشكل 4. هيكل المعاملات القياسي. 4. تقوم أليس بإرسال المعاملة. 5. يتحقق بوب من كل معاملة تمر باستخدام مفتاحه الخاص (a، b)، ويحسب P ′ = Hs(aR)G + B. إذا كانت معاملة أليس مع بوب باعتباره المستلم من بينها، ثم aR = arG = rA و P ′ = P. 7 عام خاص أليس كارول مفتاح لمرة واحدة مفتاح لمرة واحدة مفتاح لمرة واحدة بوب مفتاح بوب عنوان بوب الشكل 3. مفاتيح CryptoNote/نموذج المعاملات. أولاً، يقوم المرسل بإجراء تبادل Diffe-Hellman للحصول على سر مشترك من بياناته وبياناته نصف عنوان المستلم. ثم يقوم بحساب مفتاح الوجهة لمرة واحدة باستخدام المفتاح المشترك السر والنصف الثاني من العنوان. يلزم وجود مفتاحين إلكترونيين مختلفين من المستلم في هاتين الخطوتين، يكون حجم عنوان CryptoNote القياسي ضعف حجم محفظة Bitcoin تقريبًا عنوان. يقوم جهاز الاستقبال أيضًا بإجراء تبادل Diffe-Hellman لاسترداد ما يقابله المفتاح السري. يسير تسلسل المعاملات القياسي كما يلي: 1. تريد أليس إرسال دفعة إلى بوب، الذي نشر عنوانه القياسي. هي يقوم بفك العنوان ويحصل على المفتاح العام لبوب (أ، ب). 2. تولد أليس عشوائيًا \(r \in [1, l - 1]\) وتحسب مفتاحًا عامًا لمرة واحدة \(P = H_s(rA)G +\) ب. 3. تستخدم أليس P كمفتاح وجهة للإخراج وتحزم أيضًا القيمة R = rG (كجزء من بورصة Diffe-Hellman) في مكان ما من المعاملة. لاحظ أنها يمكن أن تخلق مخرجات أخرى ذات مفاتيح عامة فريدة: تشير مفاتيح المستلمين المختلفة (Ai، Bi) إلى Pi مختلف حتى مع نفس ص. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة ص = ص.ج P = Hs(rA)G + B المتلقي المفتاح العام البيانات العشوائية للمرسل ص (أ، ب) الشكل 4. هيكل المعاملات القياسي. 4. تقوم أليس بإرسال المعاملة. 5. يتحقق بوب من كل معاملة تمر باستخدام مفتاحه الخاص (a، b)، ويحسب P ′ = Hs(aR)G + B. إذا كانت معاملة أليس مع بوب باعتباره المستلم من بينها، ثم aR = arG = rA و P ′ = P. 7 14 لاحظ أن المؤلف (المؤلفين؟) يقومون بعمل رهيب في الحفاظ على مصطلحاتهم مباشرة طوال الوقت النص، ولكن بشكل خاص في هذا الجزء التالي. سيكون التجسيد التالي لهذه الورقة بالضرورة أكثر صرامة. يشيرون في النص إلى P كمفتاحهم العام لمرة واحدة. في الرسم البياني، يشيرون إلى R كـ "مفتاح Tx العام" الخاص بهم وP باعتباره "مفتاح الوجهة". لو كنت سأعيد كتابة هذا، لفعلت ضع بعض المصطلحات على وجه التحديد قبل مناقشة هذه الأقسام. هذا هائل. انظر الصفحة 5. من يختار ايل؟ يوضح الرسم البياني أن المفتاح العام للمعاملة R = rG، وهو عشوائي ومختار بواسطة المرسل، ليس جزءًا من إخراج Tx. هذا لأنه يمكن أن يكون هو نفسه بالنسبة لعدة المعاملات لعدة أشخاص، ولا يتم استخدامها لاحقًا للإنفاق. يتم إنشاء R جديد في كل مرة تريد بث معاملة CryptoNote جديدة. علاوة على ذلك، يتم استخدام R فقط للتحقق مما إذا كنت متلقي المعاملة. إنها ليست بيانات غير هامة، ولكنها غير هامة لأي شخص بدون المفاتيح الخاصة المرتبطة بـ (أ، ب). من ناحية أخرى، يعد مفتاح الوجهة P = Hs(rA)G + B جزءًا من إخراج Tx. الجميع يجب أن يتم فحص بيانات كل معاملة عابرة من خلال التحقق من P* الذي تم إنشاؤه مقابلها هذا P لمعرفة ما إذا كانوا يمتلكون هذه المعاملة العابرة. أي شخص لديه مخرجات معاملة غير منفقة (UTXO) ستحتوي على مجموعة من هذه العناصر مع كميات. من أجل قضاءد، هم قم بالتوقيع على بعض الرسائل الجديدة بما في ذلك P. يجب أن تقوم أليس بتوقيع هذه المعاملة باستخدام مفتاح (مفاتيح) خاصة لمرة واحدة مرتبطة بمفتاح (مفاتيح) الوجهة لمخرجات المعاملة غير المنفقة. يأتي كل مفتاح وجهة تملكه أليس مجهزًا بمفتاح خاص لمرة واحدة مملوك أيضًا (على الأرجح) لأليس. في كل مرة تريد أليس ذلك أرسل محتويات مفتاح الوجهة لي، أو لبوب، أو بريندا، أو تشارلي أو شارلين، هي تستخدم مفتاحها الخاص لتوقيع المعاملة. عند استلام المعاملة، سأحصل على جديد Tx، ومفتاح عام جديد للوجهة، وسأكون قادرًا على استعادة مفتاح خاص جديد لمرة واحدة x. الجمع بين مفتاحي الخاص لمرة واحدة، x، مع الوجهة العامة للمعاملة الجديدة المفتاح (المفاتيح) هو كيفية إرسال معاملة جديدة
- يستطيع بوب استرداد المفتاح الخاص المقابل لمرة واحدة: x = Hs(aR) + b، بحيث يكون P = xG. يمكنه إنفاق هذا الإخراج في أي وقت عن طريق توقيع معاملة مع x. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة P ′ = Hs(aR)G + bG المفتاح العام لمرة واحدة س = Hs(aR) + ب مفتاح خاص لمرة واحدة المتلقي مفتاح خاص (أ، ب) ر ف ′ ?= ص الشكل 5. فحص المعاملات الواردة. ونتيجة لذلك، يحصل بوب على المدفوعات الواردة المرتبطة بالمفاتيح العامة لمرة واحدة والتي هي غير قابل للربط بالنسبة للمتفرج. بعض الملاحظات الإضافية: • عندما "يتعرف" بوب على معاملاته (راجع الخطوة 5)، فإنه يستخدم عمليًا نصف معاملاته فقط معلومات خاصة: (أ، ب). يمكن تمرير هذا الزوج، المعروف أيضًا باسم مفتاح التتبع لطرف ثالث (كارول). يمكن لبوب تفويضها بمعالجة المعاملات الجديدة. بوب لا تحتاج إلى أن تثق بكارول بشكل صريح، لأنها لا تستطيع استعادة المفتاح السري لمرة واحدة بدون مفتاح بوب الخاص الكامل (أ، ب). يكون هذا الأسلوب مفيدًا عندما يفتقر بوب إلى النطاق الترددي أو قوة الحساب (الهواتف الذكية ومحافظ الأجهزة وما إلى ذلك). • في حالة رغبة أليس في إثبات أنها أرسلت معاملة إلى عنوان بوب، فيمكنها إما الكشف عنها r أو استخدام أي نوع من بروتوكول المعرفة الصفرية لإثبات أنها تعرف r (على سبيل المثال عن طريق التوقيع المعاملة مع ص). • إذا أراد بوب الحصول على عنوان متوافق مع التدقيق حيث توجد جميع المعاملات الواردة قابل للربط، يمكنه إما نشر مفتاح التتبع الخاص به أو استخدام عنوان مقطوع. هذا العنوان تمثل مفتاح EC عام واحد فقط B، والجزء المتبقي الذي يتطلبه البروتوكول هو مشتق منه على النحو التالي: أ = Hs(B) و A = Hs(B)G. وفي كلتا الحالتين كل شخص كذلك قادر على "التعرف" على جميع المعاملات الواردة لبوب، ولكن، بالطبع، لا يستطيع أي منهم إنفاق الأموال الموجودة بداخلها بدون المفتاح السري ب. 4.4 التوقيعات الدائرية لمرة واحدة يتيح البروتوكول المعتمد على التوقيعات الحلقية لمرة واحدة للمستخدمين تحقيق إمكانية إلغاء الارتباط غير المشروط. لسوء الحظ، تسمح الأنواع العادية من التوقيعات المشفرة بتتبع المعاملات حتى تصل إلى حساباتها المرسلين والمستقبلين المعنيين. ويكمن حلنا لهذا النقص في استخدام توقيع مختلف نوع من تلك المستخدمة حاليا في أنظمة النقد الإلكترونية. سنقدم أولاً وصفًا عامًا للخوارزمية الخاصة بنا دون أي إشارة صريحة إليها النقود الإلكترونية. يحتوي التوقيع الحلقي لمرة واحدة على أربع خوارزميات: (GEN، SIG، VER، LNK): GEN: يأخذ المعلمات العامة ويخرج زوجًا ec (P، x) ومفتاحًا عامًا I. SIG: يأخذ رسالة m، ومجموعة \(S'\) من المفاتيح العامة {Pi}i̸=s، وزوج (Ps، xs) ويخرج التوقيع \(\sigma\) والمجموعة \(S = \)S'\( \cup \{P_s\}\). 8
-
يستطيع بوب استرداد المفتاح الخاص المقابل لمرة واحدة: x = Hs(aR) + b، بحيث يكون P = xG. يمكنه إنفاق هذا الإخراج في أي وقت عن طريق توقيع معاملة مع x. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة P ′ = Hs(aR)G + bG المفتاح العام لمرة واحدة س = Hs(aR) + ب مفتاح خاص لمرة واحدة المتلقي مفتاح خاص (أ، ب) ر ف ′ ?= ص الشكل 5. فحص المعاملات الواردة. ونتيجة لذلك، يحصل بوب على المدفوعات الواردة المرتبطة بالمفاتيح العامة لمرة واحدة والتي هي غير قابل للربط بالنسبة للمتفرج. بعض الملاحظات الإضافية: • عندما "يتعرف" بوب على معاملاته (راجع الخطوة 5)، فإنه يستخدم عمليًا نصف معاملاته فقط معلومات خاصة: (أ، ب). يمكن تمرير هذا الزوج، المعروف أيضًا باسم مفتاح التتبع لطرف ثالث (كارول). يمكن لبوب تفويضها بمعالجة المعاملات الجديدة. بوب لا تحتاج إلى أن تثق بكارول بشكل صريح، لأنها لا تستطيع استعادة المفتاح السري لمرة واحدة بدون مفتاح بوب الخاص الكامل (أ، ب). يكون هذا الأسلوب مفيدًا عندما يفتقر بوب إلى النطاق الترددي أو قوة الحساب (الهواتف الذكية ومحافظ الأجهزة وما إلى ذلك). • في حالة رغبة أليس في إثبات أنها أرسلت معاملة إلى عنوان بوب، فيمكنها إما الكشف عنها r أو استخدام أي نوع من بروتوكول المعرفة الصفرية لإثبات أنها تعرف r (على سبيل المثال عن طريق التوقيع المعاملة مع ص). • إذا أراد بوب الحصول على عنوان متوافق مع التدقيق حيث توجد جميع المعاملات الواردة قابل للربط، يمكنه إما نشر مفتاح التتبع الخاص به أو استخدام عنوان مقطوع. هذا العنوان تمثل مفتاح EC عام واحد فقط B، والجزء المتبقي الذي يتطلبه البروتوكول هو مشتق منه على النحو التالي: أ = Hs(B) و A = Hs(B)G. وفي كلتا الحالتين كل شخص كذلك قادر على "التعرف" على جميع المعاملات الواردة لبوب، ولكن، بالطبع، لا يستطيع أي منهم إنفاق الأموال الموجودة بداخلها بدون المفتاح السري ب. 4.4 التوقيعات الدائرية لمرة واحدة يتيح البروتوكول المعتمد على التوقيعات الحلقية لمرة واحدة للمستخدمين تحقيق إمكانية إلغاء الارتباط غير المشروط. لسوء الحظ، تسمح الأنواع العادية من التوقيعات المشفرة بتتبع المعاملات حتى تصل إلى حساباتها المرسلين والمستقبلين المعنيين. ويكمن حلنا لهذا النقص في استخدام توقيع مختلف نوع من تلك المستخدمة حاليا في أنظمة النقد الإلكترونية. سنقدم أولاً جنرالًاالوصف الكامل لخوارزميتنا بدون إشارة صريحة إلى النقود الإلكترونية. يحتوي التوقيع الحلقي لمرة واحدة على أربع خوارزميات: (GEN، SIG، VER، LNK): GEN: يأخذ المعلمات العامة ويخرج زوجًا ec (P، x) ومفتاحًا عامًا I. SIG: يأخذ رسالة m، ومجموعة \(S'\) من المفاتيح العامة {Pi}i̸=s، وزوج (Ps، xs) ويخرج التوقيع \(\sigma\) والمجموعة \(S = \)S'\( \cup \{P_s\}\). 8 15 كيف تبدو مخرجات المعاملة غير المنفقة هنا؟ يشير الرسم البياني إلى أن مخرجات المعاملة تتكون فقط من نقطتي بيانات: المبلغ ومفتاح الوجهة. ولكن هذا ليس كذلك كافية لأنه عندما أحاول إنفاق هذا "الإخراج" سأظل بحاجة إلى معرفة R=rG. تذكر أنه يتم اختيار r من قبل المرسل، وR هو أ) يستخدم للتعرف على العملات المشفرة الواردة باعتبارها خاصة بك الخاصة و ب) المستخدمة لإنشاء المفتاح الخاص لمرة واحدة المستخدم "للمطالبة" بعملتك المشفرة. الجزء الذي لا أفهمه في هذا؟ أخذ النظرية "حسنًا، لدينا هذه التوقيعات والمعاملات، ونمررها ذهابًا وإيابًا" إلى عالم البرمجة "حسنًا، ما هي المعلومات على وجه التحديد التي تشكل الفرد UTXO؟" أفضل طريقة للإجابة على هذا السؤال هي البحث في نص التعليمات البرمجية غير المعلقة تمامًا. أحسنتم يا فريق بايتكوين. تذكر: إمكانية الارتباط تعني "هل أرسل نفس الشخص؟" وإلغاء الارتباط يعني "فعل الشيء نفسه". شخص يتلقى؟". لذلك يمكن أن يكون النظام قابلاً للربط أو غير قابل للربط، أو غير قابل للربط أو غير قابل للربط. مزعج، وأنا أعلم. لذلك عندما يقول نيك فان سابيرهاجن هنا "...المدفوعات الواردة [هي] مرتبطة لمرة واحدة المفاتيح العامة التي لا يمكن للمشاهد ربطها،" دعونا نرى ما يعنيه. أولاً، فكر في الموقف الذي ترسل فيه أليس إلى بوب معاملتين منفصلتين من نفس المعاملة عنوان إلى نفس العنوان. في الكون Bitcoin، ارتكبت أليس الخطأ بالفعل من الإرسال من نفس العنوان وهكذا فشلت الصفقة رغبتنا المحدودة قابلية الربط. علاوة على ذلك، بما أنها أرسلت الأموال إلى نفس العنوان، فقد فشلت في تحقيق رغبتنا لعدم قابلية الارتباط. كانت معاملة البيتكوين هذه قابلة للربط (بالكامل) وغير قابلة للربط. من ناحية أخرى، في عالم العملات المشفرة، لنفترض أن أليس أرسلت لبوب بعض الأوراق النقدية المشفرة، باستخدام عنوان بوب العام. لقد اختارت مجموعتها المبهمة من المفاتيح العامة المعروفة للجميع مفاتيح في منطقة مترو واشنطن العاصمة. تقوم Alex بإنشاء مفتاح عام لمرة واحدة باستخدام مفتاحها الخاص المعلومات والمعلومات العامة لبوب. إنها ترسل الأموال، وأي مراقب سيفعل ذلك لن يكون قادرًا إلا على جمع "أرسل شخص ما من منطقة مترو واشنطن العاصمة 2.3 عملة مشفرة إلى العنوان العام لمرة واحدة XYZ123." لدينا سيطرة احتمالية على قابلية الارتباط هنا، لذلك سنسميها "غير قابلة للربط تقريبًا". نرى أيضًا أنه يتم إرسال أموال المفاتيح العامة لمرة واحدة فقط. حتى لو اشتبهنا في المتلقي كما كان بوب، ليس لدينا مفاتيحه الخاصة وبالتالي لا يمكننا اختبار ما إذا كانت المعاملة ناجحة أم لا ينتمي إلى بوب ناهيك عن إنشاء مفتاحه الخاص لمرة واحدة لاسترداد ورقته المشفرة. إذن هذا هو، في الواقع، "غير قابل للربط" تمامًا. إذن، هذه هي الخدعة الأفضل على الإطلاق. من يريد أن يثق حقًا في MtGox آخر؟ قد نكون كذلك من المريح تخزين بعض كمية BTC على Coinbase، ولكن أقصى درجات أمان البيتكوين هي ذلك محفظة مادية. وهو أمر غير مريح. في هذه الحالة، يمكنك بكل ثقة التخلي عن نصف مفتاحك الخاص دون المساس بملكيتك القدرة الخاصة على إنفاق المال. عند القيام بذلك، كل ما تفعله هو إخبار شخص ما بكيفية كسر عدم إمكانية الارتباط. الآخر يتم الحفاظ على خصائص CN التي تعمل كعملة، كدليل ضد الإنفاق المزدوج و ماذا.
-
يستطيع بوب استرداد المفتاح الخاص المقابل لمرة واحدة: x = Hs(aR) + b، بحيث يكون P = xG. يمكنه إنفاق هذا الإخراج في أي وقت عن طريق توقيع معاملة مع x. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة P ′ = Hs(aR)G + bG المفتاح العام لمرة واحدة س = Hs(aR) + ب مفتاح خاص لمرة واحدة المتلقي مفتاح خاص (أ، ب) ر ف ′ ?= ص الشكل 5. فحص المعاملات الواردة. ونتيجة لذلك، يحصل بوب على المدفوعات الواردة المرتبطة بالمفاتيح العامة لمرة واحدة والتي هي غير قابل للربط بالنسبة للمتفرج. بعض الملاحظات الإضافية: • عندما "يتعرف" بوب على معاملاته (راجع الخطوة 5)، فإنه يستخدم عمليًا نصف معاملاته فقط معلومات خاصة: (أ، ب). يمكن تمرير هذا الزوج، المعروف أيضًا باسم مفتاح التتبع لطرف ثالث (كارول). يمكن لبوب تفويضها بمعالجة المعاملات الجديدة. بوب لا تحتاج إلى أن تثق بكارول بشكل صريح، لأنها لا تستطيع استعادة المفتاح السري لمرة واحدة بدون مفتاح بوب الخاص الكامل (أ، ب). يكون هذا الأسلوب مفيدًا عندما يفتقر بوب إلى النطاق الترددي أو قوة الحساب (الهواتف الذكية ومحافظ الأجهزة وما إلى ذلك). • في حالة رغبة أليس في إثبات أنها أرسلت معاملة إلى عنوان بوب، فيمكنها إما الكشف عنها r أو استخدام أي نوع من بروتوكول المعرفة الصفرية لإثبات أنها تعرف r (على سبيل المثال عن طريق التوقيع المعاملة مع ص). • إذا أراد بوب الحصول على عنوان متوافق مع التدقيق حيث توجد جميع المعاملات الواردة قابل للربط، يمكنه إما نشر مفتاح التتبع الخاص به أو استخدام عنوان مقطوع. هذا العنوان تمثل مفتاح EC عام واحد فقط B، والجزء المتبقي الذي يتطلبه البروتوكول هو مشتق منه على النحو التالي: أ = Hs(B) و A = Hs(B)G. وفي كلتا الحالتين كل شخص كذلك قادر على "التعرف" على جميع المعاملات الواردة لبوب، ولكن، بالطبع، لا يستطيع أي منهم إنفاق الأموال الموجودة بداخلها بدون المفتاح السري ب. 4.4 التوقيعات الدائرية لمرة واحدة يتيح البروتوكول المعتمد على التوقيعات الحلقية لمرة واحدة للمستخدمين تحقيق إمكانية إلغاء الارتباط غير المشروط. لسوء الحظ، تسمح الأنواع العادية من التوقيعات المشفرة بتتبع المعاملات حتى تصل إلى حساباتها المرسلين والمستقبلين المعنيين. ويكمن حلنا لهذا النقص في استخدام توقيع مختلف نوع من تلك المستخدمة حاليا في أنظمة النقد الإلكترونية. سنقدم أولاً وصفًا عامًا للخوارزمية الخاصة بنا دون أي إشارة صريحة إليها النقود الإلكترونية. يحتوي التوقيع الحلقي لمرة واحدة على أربع خوارزميات: (GEN، SIG، VER، LNK): GEN: يأخذ المعلمات العامة ويخرج زوجًا ec (P، x) ومفتاحًا عامًا I. SIG: يأخذ رسالة m، ومجموعة \(S'\) من المفاتيح العامة {Pi}i̸=s، وزوج (Ps، xs) ويخرج التوقيع \(\sigma\) والمجموعة \(S = \)S'\( \cup \{P_s\}\). 8
- يستطيع بوب استرداد المفتاح الخاص المقابل لمرة واحدة: x = Hs(aR) + b، بحيث يكون P = xG. يمكنه إنفاق هذا الإخراج في أي وقت عن طريق توقيع معاملة مع x. الصفقة مفتاح تكساس العام إخراج تكساس المبلغ مفتاح الوجهة P ′ = Hs(aR)G + bG المفتاح العام لمرة واحدة س = Hs(aR) + ب مفتاح خاص لمرة واحدة المتلقي مفتاح خاص (أ، ب) ر ف ′ ?= ص الشكل 5. فحص المعاملات الواردة. ونتيجة لذلك، يحصل بوب على المدفوعات الواردة المرتبطة بالمفاتيح العامة لمرة واحدة والتي هي غير قابل للربط بالنسبة للمتفرج. بعض الملاحظات الإضافية: • عندما "يتعرف" بوب على معاملاته (راجع الخطوة 5)، فإنه يستخدم عمليًا نصف معاملاته فقط معلومات خاصة: (أ، ب). يمكن تمرير هذا الزوج، المعروف أيضًا باسم مفتاح التتبع لطرف ثالث (كارول). يمكن لبوب تفويضها بمعالجة المعاملات الجديدة. بوب لا تحتاج إلى أن تثق بكارول بشكل صريح، لأنها لا تستطيع استعادة المفتاح السري لمرة واحدة بدون مفتاح بوب الخاص الكامل (أ، ب). يكون هذا الأسلوب مفيدًا عندما يفتقر بوب إلى النطاق الترددي أو قوة الحساب (الهواتف الذكية ومحافظ الأجهزة وما إلى ذلك). • في حالة رغبة أليس في إثبات أنها أرسلت معاملة إلى عنوان بوب، فيمكنها إما الكشف عنها r أو استخدام أي نوع من بروتوكول المعرفة الصفرية لإثبات أنها تعرف r (على سبيل المثال عن طريق التوقيع المعاملة مع ص). • إذا أراد بوب الحصول على عنوان متوافق مع التدقيق حيث توجد جميع المعاملات الواردة قابل للربط، يمكنه إما نشر مفتاح التتبع الخاص به أو استخدام عنوان مقطوع. هذا العنوان تمثل مفتاح EC عام واحد فقط B، والجزء المتبقي الذي يتطلبه البروتوكول هو مشتق منه على النحو التالي: أ = Hs(B) و A = Hs(B)G. وفي كلتا الحالتين كل شخص كذلك قادر على "التعرف" على جميع المعاملات الواردة لبوب، ولكن، بالطبع، لا يستطيع أي منهم إنفاق الأموال الموجودة بداخلها بدون المفتاح السري ب. 4.4 التوقيعات الدائرية لمرة واحدة يتيح البروتوكول المعتمد على التوقيعات الحلقية لمرة واحدة للمستخدمين تحقيق إمكانية إلغاء الارتباط غير المشروط. لسوء الحظ، تسمح الأنواع العادية من التوقيعات المشفرة بتتبع المعاملات حتى تصل إلى حساباتها المرسلين والمستقبلين المعنيين. ويكمن حلنا لهذا النقص في استخدام توقيع مختلف نوع من تلك المستخدمة حاليا في أنظمة النقد الإلكترونية. سنقدم أولاً جنرالًاالوصف الكامل لخوارزميتنا بدون إشارة صريحة إلى النقود الإلكترونية. يحتوي التوقيع الحلقي لمرة واحدة على أربع خوارزميات: (GEN، SIG، VER، LNK): GEN: يأخذ المعلمات العامة ويخرج زوجًا ec (P، x) ومفتاحًا عامًا I. SIG: يأخذ رسالة m، ومجموعة \(S'\) من المفاتيح العامة {Pi}i̸=s، وزوج (Ps، xs) ويخرج التوقيع \(\sigma\) والمجموعة \(S = \)S'\( \cup \{P_s\}\). 8 16 نعم، لدينا الآن أ) عنوان الدفع و ب) معرف الدفع. يمكن للناقد أن يتساءل "هل نحتاج حقًا إلى القيام بذلك؟ بعد كل شيء، إذا تلقى التاجر 112.00678952 CN بالضبط، وكان هذا طلبي، ولدي لقطة شاشة أو إيصال أو أي شيء آخر، أليس كذلك درجة مجنونة من الدقة كافية؟" الجواب هو "ربما، في أغلب الأحيان، بشكل يومي، المعاملات وجهاً لوجه." ومع ذلك، فإن الوضع الأكثر شيوعًا (خاصة في العالم الرقمي) هو: التاجر يبيع مجموعة من الأشياء، لكل منها سعر ثابت. لنفترض أن الكائن A هو 0.001 CN، والكائن B هو 0.01 CN و الكائن C هو 0.1 CN. الآن، إذا تلقى التاجر طلبًا بقيمة 1.618 CN، فهناك الكثير (كثيرة!) طرق لترتيب طلب للعميل. وهكذا بدون أي نوع من معرف الدفع، تحديد ما يسمى بالطلب "الفريد" للعميل مع ما يسمى بالتكلفة "الفريدة" الخاصة به يصبح النظام مستحيلا. والأكثر تسلية: إذا كان كل شيء في متجري عبر الإنترنت يكلف 1.0 بالضبط CN، وأحصل على 1000 عميل يوميا؟ وتريد أن تثبت أنك اشتريت 3 أشياء بالضبط قبل اسبوعين؟ بدون معرف الدفع؟ حظا سعيدا يا صديقي. قصة قصيرة طويلة: عندما ينشر بوب عنوان الدفع، فقد ينتهي به الأمر أيضًا إلى نشر عنوان معرف الدفع أيضًا (راجع، على سبيل المثال، ودائع Poloniex XMR). وهذا مختلف عما هو موصوف في النص هنا حيث أليس هي التي تنشئ معرف الدفع. يجب أن تكون هناك طريقة ما ليقوم Bob بإنشاء معرف الدفع أيضًا. (أ،ب) تذكر أنه يمكن نشر مفتاح التتبع (أ، ب)؛ فقدان سرية قيمة الوصية "أ". لا تنتهك قدرتك على الإنفاق أو تسمح للآخرين بالسرقة منك (على ما أعتقد... ليتم إثباتها)، فهو سيسمح للأشخاص ببساطة برؤية جميع المعاملات الواردة. العنوان المقطوع، كما هو موضح في هذه الفقرة، يأخذ ببساطة الجزء "الخاص" من المفتاح ويولدها من الجزء "العام". سيؤدي الكشف عن قيمة "a" إلى إزالة عدم قابلية الارتباط ولكنها ستحافظ على بقية المعاملات. المؤلف يعني "غير قابل للربط" لأن غير قابل للربط يشير إلى المتلقي والقابل للربط يشير إلى المرسل. ومن الواضح أيضًا أن المؤلف لم يدرك أن هناك جانبين مختلفين لقابلية الارتباط. نظرًا لأن المعاملة هي كائن موجه على الرسم البياني، فسيكون هناك سؤالان: "هل هاتان المعاملتان تذهبان إلى نفس الشخص؟" و"هل هاتان المعاملتان قادمتان من نفس الشخص؟" هذه سياسة "عدم الرجوع" والتي بموجبها تكون خاصية إلغاء الارتباط الخاصة بـ CryptoNote مشروط. وهذا يعني أن بوب يمكنه اختيار معاملاته الواردة لتكون غير قابلة للربط باستخدام هذه السياسة. وهذا ادعاء أثبتوه بموجب نموذج أوراكل العشوائي. سوف نصل إلى ذلك؛ العشوائية أوراكل لديها إيجابيات وسلبيات.
VER: يأخذ رسالة m ومجموعة S وتوقيع \(\sigma\) ويخرج "صحيح" أو "خطأ". LNK: يأخذ المجموعة I = {Ii} والتوقيع \(\sigma\) ويخرج "مرتبط" أو "indep". الفكرة وراء البروتوكول بسيطة إلى حد ما: يقوم المستخدم بإنشاء توقيع يمكن أن يكون يتم التحقق منها بواسطة مجموعة من المفاتيح العامة بدلاً من مفتاح عام فريد. هوية الموقع هي لا يمكن تمييزه عن المستخدمين الآخرين الذين توجد مفاتيحهم العامة في المجموعة حتى ينتجها المالك توقيع ثانٍ باستخدام نفس زوج المفاتيح. مفاتيح خاصة x0 \(\cdots\) الحادي عشر \(\cdots\) xn المفاتيح العامة ص0 \(\cdots\) بي \(\cdots\) ب خاتم التوقيع علامة تحقق الشكل 6. عدم الكشف عن هوية توقيع الحلقة. GEN: يختار الموقّع مفتاحًا سريًا عشوائيًا \(x \in [1, l - 1]\) ويحسب المقابل المفتاح العام P = xG. بالإضافة إلى ذلك، فهو يحسب مفتاحًا عامًا آخر I = xHp(P) وهو ما سنقوم به استدعاء "الصورة الرئيسية". SIG: يقوم المُوقع بإنشاء توقيع رنين لمرة واحدة مع معرفة صفرية غير تفاعلية إثبات باستخدام التقنيات من [21]. يختار مجموعة فرعية عشوائية \(S'\) من n من المستخدمين الآخرين المفاتيح العامة Pi، وزوج المفاتيح الخاص به (x، P) والصورة الرئيسية I. دع 0 \(\geq s\) \(\geq n\) يكون الفهرس السري للموقع في S (بحيث يكون مفتاحه العام هو Ps). يختار {qi | بشكل عشوائي ط = 0 . . . ن} و {واي | ط = 0 . . . n,i̸=s} من (1 . . . ل) ويطبق التحولات التالية: لى = ( كيغ, إذا كنت = ق كيغ + ويبي، إذا أنا̸= س ري = ( كيهب (بي)، إذا كنت = ق كيهب (بي) + وي، إذا أنا̸= س الخطوة التالية هي الحصول على التحدي غير التفاعلي: ج = Hs(م، L1،.. ، Ln، R1،...، Rn) وأخيرا يقوم الموقع بحساب الاستجابة: سي = واي, إذا أنا̸= س ج - nP أنا = 0 ci مود ل, إذا كنت = ق ري = ( تشي, إذا أنا̸= س سؤال -CSX مود ل, إذا كنت = ق التوقيع الناتج هو \(\sigma\) = (I, c1, . . . , cn, r1, . . . , rn). 9 VER: يأخذ رسالة m ومجموعة S وتوقيع \(\sigma\) ويخرج "صحيح" أو "خطأ". LNK: يأخذ المجموعة I = {Ii} والتوقيع \(\sigma\) ويخرج "مرتبط" أو "indep". الفكرة وراء البروتوكول بسيطة إلى حد ما: يقوم المستخدم بإنشاء توقيع يمكن أن يكون يتم التحقق منها بواسطة مجموعة من المفاتيح العامة بدلاً من مفتاح عام فريد. هوية الموقع هي لا يمكن تمييزه عن المستخدمين الآخرين الذين توجد مفاتيحهم العامة في المجموعة حتى ينتجها المالك توقيع ثانٍ باستخدام نفس زوج المفاتيح. مفاتيح خاصة x0 \(\cdots\) الحادي عشر \(\cdots\) xn المفاتيح العامة ص0 \(\cdots\) بي \(\cdots\) ب خاتم التوقيع علامة تحقق الشكل 6. عدم الكشف عن هوية توقيع الحلقة. GEN: يختار الموقّع مفتاحًا سريًا عشوائيًا \(x \in [1, l - 1]\) ويحسب المقابل المفتاح العام P = xG. بالإضافة إلى ذلك، فهو يحسب مفتاحًا عامًا آخر I = xHp(P) وهو ما سنقوم به استدعاء "الصورة الرئيسية". SIG: يقوم المُوقع بإنشاء توقيع رنين لمرة واحدة مع معرفة صفرية غير تفاعلية إثبات باستخدام التقنيات من [21]. يختار مجموعة فرعية عشوائية \(S'\) من n من المستخدمين الآخرين المفاتيح العامة Pi، وزوج المفاتيح الخاص به (x، P) والصورة الرئيسية I. دع 0 \(\geq s\) \(\geq n\) يكون الفهرس السري للموقع في S (بحيث يكون مفتاحه العام هو Ps). يختار {qi | بشكل عشوائي ط = 0 . . . ن} و {واي | ط = 0 . . . n,i̸=s} من (1 . . . ل) ويطبق التحولات التالية: لى = ( كيغ, إذا كنت = ق كيغ + ويبي، إذا أنا̸= س ري = ( كيهب (بي)، إذا كنت = ق كيهب (بي) + وي، إذا أنا̸= س الخطوة التالية هي الحصول على التحدي غير التفاعلي: ج = Hs(م، L1،.. ، Ln، R1،...، Rn) وأخيرا يقوم الموقع بحساب الاستجابة: سي = واي, إذا أنا̸= س ج - nP أنا = 0 ci مود ل, إذا كنت = ق ري = ( تشي, إذا أنا̸= س سؤال -CSX مود ل, إذا كنت = ق التوقيع الناتج هو \(\sigma\) = (I, c1, . . . , cn, r1, . . . , rn). 9 17 ربما يكون هذا غبيًا، ولكن يجب توخي الحذر عند توحيد S وP_s. إذا قمت فقط بإلحاق المفتاح العام الأخير حتى النهاية، يتم كسر عدم إمكانية الارتباط لأن أي شخص يتحقق من المعاملات العابرة يمكن فقط التحقق من آخر مفتاح عام مدرج في كل معاملة وازدهار. هذا هو المفتاح العام المرتبطة بالمرسل. لذلك بعد الاتحاد، يجب أن يكون هناك مولد أرقام عشوائية زائفة تستخدم لتبديل المفاتيح العامة المختارة. "...حتى ينتج المالك توقيعًا ثانيًا باستخدام نفس زوج المفاتيح." أتمنى للمؤلف (المؤلفين؟) سوف أشرح هذا بالتفصيل. أعتقد أن هذا يعني "تأكد في كل مرة تختار فيها مجموعة من المفاتيح العامة للتشويش بنفسك، يمكنك اختيار مجموعة جديدة تمامًا بدون مفتاحين متشابهين." والذي يبدو وكأنه حالة قوية جدًا لوضعها عند عدم إمكانية الارتباط. ربما "تختار مجموعة عشوائية جديدة من جميع المفاتيح الممكنة" مع افتراض أنه على الرغم من أن التقاطعات غير التافهة ستحدث حتماً يحدث، فلن يحدث كثيرًا. وفي كلتا الحالتين، أحتاج إلى التعمق في هذا البيان. يؤدي هذا إلى إنشاء التوقيع الدائري. أدلة صفر المعرفة رائعة: أتحداك أن تثبت لي أنك تعرف سرًا دون الكشف عن السر. على سبيل المثال، لنفترض أننا عند مدخل كهف على شكل كعكة الدونات، وفي الجزء الخلفي من الكهف (بعيدًا عن الأنظار من المدخل) يوجد oالطريق الجديد الباب الذي أنت ادعي أن لديك المفتاح. إذا ذهبت في اتجاه واحد، فإنه يسمح لك دائمًا بالمرور، ولكن إذا ذهبت الاتجاه الآخر، تحتاج إلى مفتاح. لكنك لا تريد حتى أن تريني المفتاح، ناهيك عن ذلك تبين لي أنه يفتح الباب. لكنك تريد أن تثبت لي أنك تعرف كيفية فتح الملف باب. في الوضع التفاعلي، أقوم بقلب العملة المعدنية. الرؤوس على اليسار، والذيول على اليمين، وتنزل إلى الأسفل كهف على شكل كعكة الدونات أينما توجهك العملة. في الخلف، بعيدًا عن عيني، أنت افتح الباب للعودة إلى الجانب الآخر. نكرر تجربة رمي العملة حتى أقتنع بأن لديك المفتاح. ولكن من الواضح أن هذا هو الدليل التفاعلي للمعرفة الصفرية. هناك إصدارات غير تفاعلية لا يتعين علينا أنا وأنت التواصل فيها أبدًا؛ بهذه الطريقة، لا يمكن لأي متنصت أن يتدخل. http://en.wikipedia.org/wiki/Zero-knowledge_proof وهذا عكس التعريف السابق.
VER: يأخذ رسالة m ومجموعة S وتوقيع \(\sigma\) ويخرج "صحيح" أو "خطأ". LNK: يأخذ المجموعة I = {Ii} والتوقيع \(\sigma\) ويخرج "مرتبط" أو "indep". الفكرة وراء البروتوكول بسيطة إلى حد ما: يقوم المستخدم بإنشاء توقيع يمكن أن يكون يتم التحقق منها بواسطة مجموعة من المفاتيح العامة بدلاً من مفتاح عام فريد. هوية الموقع هي لا يمكن تمييزه عن المستخدمين الآخرين الذين توجد مفاتيحهم العامة في المجموعة حتى ينتجها المالك توقيع ثانٍ باستخدام نفس زوج المفاتيح. مفاتيح خاصة x0 \(\cdots\) الحادي عشر \(\cdots\) xn المفاتيح العامة ص0 \(\cdots\) بي \(\cdots\) ب خاتم التوقيع علامة تحقق الشكل 6. عدم الكشف عن هوية توقيع الحلقة. GEN: يختار الموقّع مفتاحًا سريًا عشوائيًا \(x \in [1, l - 1]\) ويحسب المقابل المفتاح العام P = xG. بالإضافة إلى ذلك، فهو يحسب مفتاحًا عامًا آخر I = xHp(P) وهو ما سنقوم به استدعاء "الصورة الرئيسية". SIG: يقوم المُوقع بإنشاء توقيع رنين لمرة واحدة مع معرفة صفرية غير تفاعلية إثبات باستخدام التقنيات من [21]. يختار مجموعة فرعية عشوائية \(S'\) من n من المستخدمين الآخرين المفاتيح العامة Pi، وزوج المفاتيح الخاص به (x، P) والصورة الرئيسية I. دع 0 \(\geq s\) \(\geq n\) يكون الفهرس السري للموقع في S (بحيث يكون مفتاحه العام هو Ps). يختار {qi | بشكل عشوائي ط = 0 . . . ن} و {واي | ط = 0 . . . n,i̸=s} من (1 . . . ل) ويطبق التحولات التالية: لى = ( كيغ, إذا كنت = ق كيغ + ويبي، إذا أنا̸= س ري = ( كيهب (بي)، إذا كنت = ق كيهب (بي) + وي، إذا أنا̸= س الخطوة التالية هي الحصول على التحدي غير التفاعلي: ج = Hs(م، L1،.. ، Ln، R1،...، Rn) وأخيرا يقوم الموقع بحساب الاستجابة: سي = واي, إذا أنا̸= س ج - nP أنا = 0 ci مود ل, إذا كنت = ق ري = ( تشي, إذا أنا̸= س سؤال -CSX مود ل, إذا كنت = ق التوقيع الناتج هو \(\sigma\) = (I, c1, . . . , cn, r1, . . . , rn). 9 VER: يأخذ رسالة m ومجموعة S وتوقيع \(\sigma\) ويخرج "صحيح" أو "خطأ". LNK: يأخذ المجموعة I = {Ii} والتوقيع \(\sigma\) ويخرج "مرتبط" أو "indep". الفكرة وراء البروتوكول بسيطة إلى حد ما: يقوم المستخدم بإنشاء توقيع يمكن أن يكون يتم التحقق منها بواسطة مجموعة من المفاتيح العامة بدلاً من مفتاح عام فريد. هوية الموقع هي لا يمكن تمييزه عن المستخدمين الآخرين الذين توجد مفاتيحهم العامة في المجموعة حتى ينتجها المالك توقيع ثانٍ باستخدام نفس زوج المفاتيح. مفاتيح خاصة x0 \(\cdots\) الحادي عشر \(\cdots\) xn المفاتيح العامة ص0 \(\cdots\) بي \(\cdots\) ب خاتم التوقيع علامة تحقق الشكل 6. عدم الكشف عن هوية توقيع الحلقة. GEN: يختار الموقّع مفتاحًا سريًا عشوائيًا \(x \in [1, l - 1]\) ويحسب المقابل المفتاح العام P = xG. بالإضافة إلى ذلك، فهو يحسب مفتاحًا عامًا آخر I = xHp(P) وهو ما سنقوم به استدعاء "الصورة الرئيسية". SIG: يقوم المُوقع بإنشاء توقيع رنين لمرة واحدة مع معرفة صفرية غير تفاعلية إثبات باستخدام التقنيات من [21]. يختار مجموعة فرعية عشوائية \(S'\) من n من المستخدمين الآخرين المفاتيح العامة Pi، وزوج المفاتيح الخاص به (x، P) والصورة الرئيسية I. دع 0 \(\geq s\) \(\geq n\) يكون الفهرس السري للموقع في S (بحيث يكون مفتاحه العام هو Ps). يختار {qi | بشكل عشوائي ط = 0 . . . ن} و {واي | ط = 0 . . . n,i̸=s} من (1 . . . ل) ويطبق التحولات التالية: لى = ( كيغ, إذا كنت = ق كيغ + ويبي، إذا أنا̸= س ري = ( كيهب (بي)، إذا كنت = ق كيهب (بي) + وي، إذا أنا̸= س الخطوة التالية هي الحصول على التحدي غير التفاعلي: ج = Hs(م، L1،.. ، Ln، R1،...، Rn) وأخيرا يقوم الموقع بحساب الاستجابة: سي = واي, إذا أنا̸= س ج - nP أنا = 0 ci مود ل, إذا كنت = ق ري = ( تشي, إذا أنا̸= س سؤال -CSX مود ل, إذا كنت = ق التوقيع الناتج هو \(\sigma\) = (I, c1, . . . , cn, r1, . . . , rn). 9 18 هذه المنطقة بأكملها لا تعرف العملات المشفرة، فهي تصف ببساطة خوارزمية التوقيع الحلقي بدونها الإشارة إلى العملات. أظن أن بعض التدوين يتوافق مع بقية الورقة، رغم ذلك. على سبيل المثال، x هو المفتاح السري "العشوائي" الذي تم اختياره في GEN، والذي يعطي المفتاح العام P وصورة المفتاح العام I. قيمة x هذه هي القيمة التي يحسبها بوب في الجزء 6 الصفحة 8. إذن هذه هي البدء في توضيح بعض الالتباس من الوصف السابق. هذا رائع نوعًا ما؛ لا يتم تحويل الأموال من "عنوان أليس العام إلى عنوان بوب العام العنوان." يتم نقله من عنوان لمرة واحدة إلى عنوان لمرة واحدة. لذا، إلى حد ما، إليك كيفية عمل الأشياء. إذا كان لدى Alex بعض العملات المشفرة لأن شخصًا ما أرسلتها إليها، وهذا يعني أن لديها المفاتيح الخاصة اللازمة لإرسالها إلى بوب. انها تستخدم تبادل Diffe-Hellman باستخدام المعلومات العامة لبوب لإنشاء عنوان جديد لمرة واحدة ويتم نقل العملات المشفرة إلى هذا العنوان. الآن، منذ استخدام تبادل DH (الذي يُفترض أنه آمن) لإنشاء عنوان جديد لمرة واحدة التي أرسلت إليها أليكس CN، بوب هو الوحيد الذي لديه المفاتيح الخاصة اللازمة لتكرار الرسالة أعلاه. والآن، بوب هو أليكس. http://en.wikipedia.org/wiki/Piecewise#Notation_and_interpretation يجب فهرسة الجمع على j وليس i. كل c_i عبارة عن خردة عشوائية (نظرًا لأن w_i عشوائية) باستثناء الحمار c_iمرتبط بالمفتاح الفعلي المتضمن في هذا التوقيع. قيمة ج هي hash من المعلومات السابقة. أعتقد أن هذا قد يحتوي على خطأ مطبعي أسوأ من إعادة استخدام الفهرس "i"، لأن c_s يبدو أن يتم تعريفها ضمنا، وليس صراحة. وبالفعل، إذا أخذنا هذه المعادلة على الإيمان، فإننا نحدد أن c_s = (1/2)c - (1/2) sum_i neq s c_i. أي hash ناقص مجموعة كاملة من الأرقام العشوائية. من ناحية أخرى، إذا كان المقصود من هذا الجمع أن يقرأ "c_s = (c - sum_j neq s c_j) mod l"، ثم نأخذ hash من معلوماتنا السابقة، ونولد مجموعة من الأرقام العشوائية، اطرح كل هذه الأرقام العشوائية من hash، وهذا يعطينا c_s. يبدو أن هذا ما "يجب" أن يحدث وفقًا لحدسي، ويطابق خطوة التحقق في الصفحة 10. ولكن الحدس ليس الرياضيات. سوف أتعمق في هذا. كما كان من قبل؛ كل هذه الأشياء ستكون عشوائية باستثناء تلك المرتبطة بالفعلي المفتاح العام للموقع x. باستثناء هذه المرة، هذا أكثر ما أتوقعه من الهيكل: r_i عشوائي لـ i!=s ويتم تحديد r_s فقط بواسطة السر x والقيم المفهرسة s لـ q_i وc_i.
VER: يتحقق المدقق من التوقيع من خلال تطبيق التحويلات العكسية: ( ل ′ أنا = تلاعب + CIPi ص' أنا = riHp(Pi) + CII وأخيرا، يتحقق المدقق مما إذا كان nP أنا = 0 ci ?= هس (م، ل ' 0، . . . ، ل' ن، ر' 0، . . . ، ر′ ن) وزارة الدفاع ل إذا كانت هذه المساواة صحيحة، يقوم المدقق بتشغيل الخوارزمية LNK. وإلا فإن المدقق يرفض التوقيع. LNK: يتحقق المدقق مما إذا كان قد تم استخدامي في التوقيعات السابقة (يتم تخزين هذه القيم في ملف مجموعة أنا). تشير الاستخدامات المتعددة إلى أنه تم إنتاج توقيعين تحت نفس المفتاح السري. معنى البروتوكول: من خلال تطبيق تحويلات L، يثبت الموقع أنه يعرف مثل x بحيث يكون Pi واحد على الأقل = xG. ولجعل هذا الدليل غير قابل للتكرار، نقدم الصورة الرئيسية كما أنا = xHp(P). يستخدم الموقع نفس المعاملات (ri، ci) لإثبات نفس العبارة تقريبًا: إنه يعرف أن x واحد على الأقل \(H_p(P_i) = I \cdot x^{-1}\). إذا كان التعيين \(x \to I\) عبارة عن حقنة: 1. لا يمكن لأحد استعادة المفتاح العام من الصورة الرئيسية وتحديد هوية الموقّع؛ 2. لا يمكن للموقع عمل توقيعين بحرف I مختلف ونفس x. ويرد تحليل أمني كامل في الملحق أ. 4.5 معاملة CryptoNote القياسية من خلال الجمع بين كلا الطريقتين (المفاتيح العامة غير القابلة للربط والتوقيع الدائري الذي لا يمكن تعقبه) يحقق بوب ذلك مستوى جديد من الخصوصية بالمقارنة مع نظام Bitcoin الأصلي. ويتطلب منه تخزين فقط مفتاح خاص واحد (أ، ب) ونشر (أ، ب) لبدء تلقي وإرسال المعاملات المجهولة. أثناء التحقق من صحة كل معاملة، يقوم بوب بالإضافة إلى ذلك بإجراء عمليتين فقط لمضاعفات المنحنى الناقص وإضافة واحدة لكل ناتج للتحقق مما إذا كانت المعاملة تخصه. لكل له يستعيد بوب زوج المفاتيح لمرة واحدة (pi، Pi) ويخزنه في محفظته. أي مدخلات يمكن أن تكون ثبت ظرفياً أنهما يملكان نفس المالك فقط إذا ظهرا في معاملة واحدة. في في الواقع، يصعب إنشاء هذه العلاقة بسبب التوقيع الدائري لمرة واحدة. باستخدام التوقيع الدائري، يستطيع بوب إخفاء كل المدخلات بشكل فعال بين مدخلات شخص آخر؛ كل ما هو ممكن سيكون المنفقون محتملين، حتى المالك السابق (أليس) ليس لديه معلومات أكثر من ذلك أي مراقب. عند التوقيع على صفقته، يحدد بوب المخرجات الأجنبية بنفس المبلغ الذي حدده الإخراج، وخلط كل منهم دون مشاركة مستخدمين آخرين. بوب نفسه (وكذلك أي شخص آخر) لا يعرف ما إذا كان قد تم إنفاق أي من هذه المدفوعات: يمكن استخدام المخرج بآلاف التوقيعات كعامل غموض وليس كهدف للاختباء أبدًا. المزدوج يحدث التحقق من الإنفاق في مرحلة LNK عند التحقق من مجموعة الصور الرئيسية المستخدمة. يمكن لبوب أن يختار درجة الغموض بنفسه: n = 1 يعني أن الاحتمال لديه قضى الناتج هو احتمال 50٪، ن = 99 يعطي 1٪. يزداد حجم التوقيع الناتج خطيًا كـ O(n+1)، وبالتالي فإن تحسين إخفاء الهوية يكلف بوب رسوم معاملات إضافية. يمكنه أيضًا قم بتعيين n = 0 وجعل توقيعه الدائري يتكون من عنصر واحد فقط، ولكن هذا سيتم على الفور كشف عنه منفقا. 10 VER: يتحقق المدقق من التوقيع من خلال تطبيق التحويلات العكسية: ( ل ′ أنا = تلاعب + CIPi ص' أنا = riHp(Pi) + CII وأخيرا، يتحقق المدقق مما إذا كان nP أنا = 0 ci ?= هس (م، ل ' 0، . . . ، ل' ن، ر' 0، . . . ، ر' ن) وزارة الدفاع ل إذا كانت هذه المساواة صحيحة، يقوم المدقق بتشغيل الخوارزمية LNK. وإلا فإن المدقق يرفض التوقيع. LNK: يتحقق المدقق مما إذا كان قد تم استخدامي في التوقيعات السابقة (يتم تخزين هذه القيم في ملف مجموعة أنا). تشير الاستخدامات المتعددة إلى أنه تم إنتاج توقيعين تحت نفس المفتاح السري. معنى البروتوكول: من خلال تطبيق تحويلات L، يثبت الموقع أنه يعرف مثل x بحيث يكون Pi واحد على الأقل = xG. ولجعل هذا الدليل غير قابل للتكرار، نقدم الصورة الرئيسية كما أنا = xHp(P). يستخدم الموقع نفس المعاملات (ri، ci) لإثبات نفس العبارة تقريبًا: إنه يعرف أن x واحد على الأقل \(H_p(P_i) = I \cdot x^{-1}\). إذا كان التعيين \(x \to I\) عبارة عن حقنة: 1. لا يمكن لأحد استعادة المفتاح العام من الصورة الرئيسية وتحديد هوية الموقّع؛ 2. لا يمكن للموقع عمل توقيعين بحرف I مختلف ونفس x. ويرد تحليل أمني كامل في الملحق أ. 4.5 معاملة CryptoNote القياسية من خلال الجمع بين كلا الطريقتين (المفاتيح العامة غير القابلة للربط والتوقيع الدائري الذي لا يمكن تعقبه) يحقق بوب ذلك مستوى جديد من الخصوصية بالمقارنة مع نظام Bitcoin الأصلي. ويتطلب منه تخزين فقط مفتاح خاص واحد (أ، ب) ونشر (أ، ب) لبدء تلقي وإرسال المعاملات المجهولة. أثناء التحقق من صحة كل معاملة، يقوم بوب بالإضافة إلى ذلك بإجراء عمليتين فقط لمضاعفات المنحنى الناقص وإضافة واحدة لكل ناتج للتحقق مما إذا كانت المعاملة تخصه. لكل له يستعيد إخراج Bob زوج مفاتيح لمرة واحدة (pi، Pi) وstالخامات في محفظته. أي مدخلات يمكن أن تكون ثبت ظرفياً أنهما يملكان نفس المالك فقط إذا ظهرا في معاملة واحدة. في في الواقع، يصعب إنشاء هذه العلاقة بسبب التوقيع الدائري لمرة واحدة. باستخدام التوقيع الدائري، يستطيع بوب إخفاء كل المدخلات بشكل فعال بين مدخلات شخص آخر؛ كل ما هو ممكن سيكون المنفقون محتملين، حتى المالك السابق (أليس) ليس لديه معلومات أكثر من ذلك أي مراقب. عند التوقيع على صفقته، يحدد بوب المخرجات الأجنبية بنفس المبلغ الذي حدده الإخراج، وخلط كل منهم دون مشاركة مستخدمين آخرين. بوب نفسه (وكذلك أي شخص آخر) لا يعرف ما إذا كان قد تم إنفاق أي من هذه المدفوعات: يمكن استخدام المخرج بآلاف التوقيعات كعامل غموض وليس كهدف للاختباء أبدًا. المزدوج يحدث التحقق من الإنفاق في مرحلة LNK عند التحقق من مجموعة الصور الرئيسية المستخدمة. يمكن لبوب أن يختار درجة الغموض بنفسه: n = 1 يعني أن الاحتمال لديه قضى الناتج هو احتمال 50٪، ن = 99 يعطي 1٪. يزداد حجم التوقيع الناتج خطيًا كـ O(n+1)، وبالتالي فإن تحسين إخفاء الهوية يكلف بوب رسوم معاملات إضافية. يمكنه أيضًا قم بتعيين n = 0 وجعل توقيعه الدائري يتكون من عنصر واحد فقط، ولكن هذا سيتم على الفور كشف عنه منفقا. 10 19 في هذه المرحلة، أنا في حيرة شديدة. يتلقى Alex رسالة M تحتوي على توقيع (I,c_1, ..., c_n, r_1, ..., r_n) وقائمة عامة مفاتيح S. وهي تدير VER. سيؤدي هذا إلى حساب L_i' وR_i' هذا يتحقق من أن c_s = c - sum_i neq s c_i في الصفحة السابقة. في البداية كنت في حيرة من أمري. يمكن لأي شخص حساب L_i' وR_i'. في الواقع، كل r_i و تم نشر c_i في التوقيع سيجما مع قيمة I. المجموعة S = تم أيضًا نشر P_i لجميع المفاتيح العامة. لذلك أي شخص قد رأى سيجما ومجموعة من سيحصل المفتاحان S = P_i على نفس القيم لـ L_i' وR_i' ومن ثم التحقق من التوقيع. ولكن بعد ذلك تذكرت أن هذا القسم يصف ببساطة خوارزمية التوقيع، وليس "التحقق". إذا تم التوقيع، فتحقق مما إذا تم إرساله إلي، وإذا كان الأمر كذلك، فاذهب وأنفق الأموال." هذا هو ببساطة جزء التوقيع من اللعبة. أنا مهتم بقراءة الملحق أ عندما أصل إلى هناك أخيرًا. أرغب في رؤية مقارنة واسعة النطاق لكل عملية على حدة بين Cryptonote وBitcoin. أيضا، الكهرباء / الاستدامة. ما هي أجزاء الخوارزميات التي تشكل "المدخلات" هنا؟ أعتقد أن إدخال المعاملة هو مبلغ ومجموعة من UTXOs التي يبلغ مجموعها مبلغًا أكبر من المبلغ المبلغ. هذا غير واضح. "هدف الاختباء؟" لقد فكرت في هذا الأمر لبضع دقائق الآن وما زلت لم أفكر فيه فكرة ضبابية عما يمكن أن يعنيه ذلك. لا يمكن تنفيذ هجوم الإنفاق المزدوج إلا من خلال التلاعب بالمفتاح المستخدم المتصور للعقدة مجموعة الصور \(I\). "درجة الغموض" = n ولكن العدد الإجمالي للمفاتيح العامة المضمنة في المعاملة هو ن+1. وهذا يعني أن درجة الغموض ستكون "كم عدد الأشخاص الآخرين الذين تريدهم الحشد؟" من المحتمل أن تكون الإجابة افتراضيًا "أكبر عدد ممكن".
VER: يتحقق المدقق من التوقيع من خلال تطبيق التحويلات العكسية: ( ل ′ أنا = تلاعب + CIPi ص' أنا = riHp(Pi) + CII وأخيرا، يتحقق المدقق مما إذا كان nP أنا = 0 ci ?= هس (م، ل ' 0، . . . ، ل' ن، ر' 0، . . . ، ر' ن) وزارة الدفاع ل إذا كانت هذه المساواة صحيحة، يقوم المدقق بتشغيل الخوارزمية LNK. وإلا فإن المدقق يرفض التوقيع. LNK: يتحقق المدقق مما إذا كان قد تم استخدامي في التوقيعات السابقة (يتم تخزين هذه القيم في ملف مجموعة أنا). تشير الاستخدامات المتعددة إلى أنه تم إنتاج توقيعين تحت نفس المفتاح السري. معنى البروتوكول: من خلال تطبيق تحويلات L، يثبت الموقع أنه يعرف مثل x بحيث يكون Pi واحد على الأقل = xG. ولجعل هذا الدليل غير قابل للتكرار، نقدم الصورة الرئيسية كما أنا = xHp(P). يستخدم الموقع نفس المعاملات (ri، ci) لإثبات نفس العبارة تقريبًا: إنه يعرف أن x واحد على الأقل \(H_p(P_i) = I \cdot x^{-1}\). إذا كان التعيين \(x \to I\) عبارة عن حقنة: 1. لا يمكن لأحد استعادة المفتاح العام من الصورة الرئيسية وتحديد هوية الموقّع؛ 2. لا يمكن للموقع عمل توقيعين بحرف I مختلف ونفس x. ويرد تحليل أمني كامل في الملحق أ. 4.5 معاملة CryptoNote القياسية من خلال الجمع بين كلا الطريقتين (المفاتيح العامة غير القابلة للربط والتوقيع الدائري الذي لا يمكن تعقبه) يحقق بوب ذلك مستوى جديد من الخصوصية بالمقارنة مع نظام Bitcoin الأصلي. ويتطلب منه تخزين فقط مفتاح خاص واحد (أ، ب) ونشر (أ، ب) لبدء تلقي وإرسال المعاملات المجهولة. أثناء التحقق من صحة كل معاملة، يقوم بوب بالإضافة إلى ذلك بإجراء عمليتين فقط لمضاعفات المنحنى الناقص وإضافة واحدة لكل ناتج للتحقق مما إذا كانت المعاملة تخصه. لكل له يستعيد بوب زوج المفاتيح لمرة واحدة (pi، Pi) ويخزنه في محفظته. أي مدخلات يمكن أن تكون ثبت ظرفياً أنهما يملكان نفس المالك فقط إذا ظهرا في معاملة واحدة. في في الواقع، يصعب إنشاء هذه العلاقة بسبب التوقيع الدائري لمرة واحدة. باستخدام التوقيع الدائري، يستطيع بوب إخفاء كل المدخلات بشكل فعال بين مدخلات شخص آخر؛ كل ما هو ممكن سيكون المنفقون محتملين، حتى المالك السابق (أليس) ليس لديه معلومات أكثر من ذلك أي مراقب. عند التوقيع على صفقته، يحدد بوب المخرجات الأجنبية بنفس المبلغ الذي حدده الإخراج، وخلط كل منهم دون مشاركة مستخدمين آخرين. بوب نفسه (وكذلك أي شخص آخر) لا يعرف ما إذا كان قد تم إنفاق أي من هذه المدفوعات: يمكن استخدام المخرج بآلاف التوقيعات كعامل غموض وليس كهدف للاختباء أبدًا. المزدوج يحدث التحقق من الإنفاق في مرحلة LNK عند التحقق من مجموعة الصور الرئيسية المستخدمة. يمكن لبوب أن يختار درجة الغموض بنفسه: n = 1 يعني أن الاحتمال لديه قضى الناتج هو احتمال 50٪، ن = 99 يعطي 1٪. يزداد حجم التوقيع الناتج خطيًا كـ O(n+1)، وبالتالي فإن تحسين إخفاء الهوية يكلف بوب رسوم معاملات إضافية. يمكنه أيضًا قم بتعيين n = 0 وجعل توقيعه الدائري يتكون من عنصر واحد فقط، ولكن هذا سيتم على الفور كشف عنه منفقا. 10 VER: يتحقق المدقق من التوقيع من خلال تطبيق التحويلات العكسية: ( ل ′ أنا = تلاعب + CIPi ص' أنا = riHp(Pi) + CII وأخيرا، يتحقق المدقق مما إذا كان nP أنا = 0 ci ?= هس (م، ل ' 0، . . . ، ل' ن، ر' 0، . . . ، ر' ن) وزارة الدفاع ل إذا كانت هذه المساواة صحيحة، يقوم المدقق بتشغيل الخوارزمية LNK. وإلا فإن المدقق يرفض التوقيع. LNK: يتحقق المدقق مما إذا كان قد تم استخدامي في التوقيعات السابقة (يتم تخزين هذه القيم في ملف مجموعة أنا). تشير الاستخدامات المتعددة إلى أنه تم إنتاج توقيعين تحت نفس المفتاح السري. معنى البروتوكول: من خلال تطبيق تحويلات L، يثبت الموقع أنه يعرف مثل x بحيث يكون Pi واحد على الأقل = xG. ولجعل هذا الدليل غير قابل للتكرار، نقدم الصورة الرئيسية كما أنا = xHp(P). يستخدم الموقع نفس المعاملات (ri، ci) لإثبات نفس العبارة تقريبًا: إنه يعرف أن x واحد على الأقل \(H_p(P_i) = I \cdot x^{-1}\). إذا كان التعيين \(x \to I\) عبارة عن حقنة: 1. لا يمكن لأحد استعادة المفتاح العام من الصورة الرئيسية وتحديد هوية الموقّع؛ 2. لا يمكن للموقع عمل توقيعين بحرف I مختلف ونفس x. ويرد تحليل أمني كامل في الملحق أ. 4.5 معاملة CryptoNote القياسية من خلال الجمع بين كلا الطريقتين (المفاتيح العامة غير القابلة للربط والتوقيع الدائري الذي لا يمكن تعقبه) يحقق بوب ذلك مستوى جديد من الخصوصية بالمقارنة مع نظام Bitcoin الأصلي. ويتطلب منه تخزين فقط مفتاح خاص واحد (أ، ب) ونشر (أ، ب) لبدء تلقي وإرسال المعاملات المجهولة. أثناء التحقق من صحة كل معاملة، يقوم بوب بالإضافة إلى ذلك بإجراء عمليتين فقط لمضاعفات المنحنى الناقص وإضافة واحدة لكل ناتج للتحقق مما إذا كانت المعاملة تخصه. لكل له يستعيد إخراج Bob زوج مفاتيح لمرة واحدة (pi، Pi) وstالخامات في محفظته. أي مدخلات يمكن أن تكون ثبت ظرفياً أنهما يملكان نفس المالك فقط إذا ظهرا في معاملة واحدة. في في الواقع، يصعب إنشاء هذه العلاقة بسبب التوقيع الدائري لمرة واحدة. باستخدام التوقيع الدائري، يستطيع بوب إخفاء كل المدخلات بشكل فعال بين مدخلات شخص آخر؛ كل ما هو ممكن سيكون المنفقون محتملين، حتى المالك السابق (أليس) ليس لديه معلومات أكثر من ذلك أي مراقب. عند التوقيع على صفقته، يحدد بوب المخرجات الأجنبية بنفس المبلغ الذي حدده الإخراج، وخلط كل منهم دون مشاركة مستخدمين آخرين. بوب نفسه (وكذلك أي شخص آخر) لا يعرف ما إذا كان قد تم إنفاق أي من هذه المدفوعات: يمكن استخدام المخرج بآلاف التوقيعات كعامل غموض وليس كهدف للاختباء أبدًا. المزدوج يحدث التحقق من الإنفاق في مرحلة LNK عند التحقق من مجموعة الصور الرئيسية المستخدمة. يمكن لبوب أن يختار درجة الغموض بنفسه: n = 1 يعني أن الاحتمال لديه قضى الناتج هو احتمال 50٪، ن = 99 يعطي 1٪. يزداد حجم التوقيع الناتج خطيًا كـ O(n+1)، وبالتالي فإن تحسين إخفاء الهوية يكلف بوب رسوم معاملات إضافية. يمكنه أيضًا قم بتعيين n = 0 وجعل توقيعه الدائري يتكون من عنصر واحد فقط، ولكن هذا سيتم على الفور كشف عنه منفقا. 10 20 هذا مثير للاهتمام؛ في وقت سابق، قمنا بتوفير وسيلة للمتلقي، بوب، لجعل كل الوارد المعاملات غير القابلة للربط إما عن طريق اختيار نصف مفاتيحه الخاصة بشكل حتمي أو عن طريق نشر نصف مفاتيحه الخاصة على أنها عامة. وهذا نوع من سياسة عدم العودة. وهنا نرى طريقة المرسل، Alex، لاختيار معاملة صادرة واحدة قابلة للربط، ولكن في الواقع هذا يكشف عن Alex باعتباره المرسل إلى الشبكة بأكملها. هذه ليست سياسة عدم العودة. هذه معاملة تلو الأخرى. هل هناك سياسة ثالثة؟ هل يستطيع المتلقي، بوب، إنشاء معرف دفع فريد لـ Alex لا يتغير أبدًا، ربما باستخدام بورصة Diffe-Hellman؟ إذا كان أي شخص يشمل هذا الدفع الهوية المجمعة في مكان ما في معاملتها إلى عنوان بوب، لا بد أنها جاءت من أليكس. بهذه الطريقة، لا تحتاج Alex إلى الكشف عن نفسها للشبكة بأكملها عن طريق اختيار ربط شبكة معينة المعاملة، ولكن لا يزال بإمكانها تعريف نفسها للشخص الذي ترسل إليه أموالها. أليس هذا ما تفعله بولونيكس؟
الصفقة إدخال تكساس الإخراج0 . . . الناتج . . . الإخراج الصورة الرئيسية التوقيعات التوقيع الدائري مفتاح الوجهة الإخراج1 مفتاح الوجهة الإخراج المعاملات الخارجية إخراج المرسل مفتاح الوجهة زوج مفاتيح لمرة واحدة لمرة واحدة مفتاح خاص أنا = xHp(P) ف، س الشكل 7. إنشاء توقيع الرنين في معاملة قياسية. 5 إثبات المساواة في العمل في هذا القسم نقترح ونبني خوارزمية proof-of-work الجديدة. هدفنا الأساسي الهدف هو سد الفجوة بين عمال المناجم من وحدة المعالجة المركزية (الأغلبية) وعمال المناجم GPU/FPGA/ASIC (الأقلية). إنه كذلك من المناسب أن بعض المستخدمين يمكن أن يتمتعوا بميزة معينة على الآخرين، ولكن استثماراتهم يجب أن تنمو على الأقل خطيا مع السلطة. وبشكل أعم، إنتاج أجهزة ذات أغراض خاصة يجب أن تكون أقل ربحية قدر الإمكان. 5.1 الأعمال ذات الصلة يستخدم بروتوكول Bitcoin proof-of-work الأصلي وظيفة التسعير المكثفة لوحدة المعالجة المركزية SHA-256. ويتكون بشكل أساسي من العوامل المنطقية الأساسية ويعتمد فقط على السرعة الحسابية المعالج، وبالتالي فهو مناسب تمامًا لتنفيذ متعدد النواة/الناقل. ومع ذلك، فإن أجهزة الكمبيوتر الحديثة لا تقتصر على عدد العمليات في الثانية وحدها، ولكن أيضًا حسب حجم الذاكرة. في حين أن بعض المعالجات يمكن أن تكون أسرع بكثير من غيرها [8]، من غير المرجح أن تختلف أحجام الذاكرة بين الأجهزة. تم تقديم وظائف السعر المرتبطة بالذاكرة لأول مرة بواسطة العبادي وآخرين وتم تعريفها على أنها "الوظائف التي يهيمن الوقت المستغرق في الوصول إلى الذاكرة على وقت حسابها" [15]. الفكرة الرئيسية هي بناء خوارزمية تخصص كتلة كبيرة من البيانات ("لوحة المسودة") داخل الذاكرة التي يمكن الوصول إليها ببطء نسبيًا (على سبيل المثال، ذاكرة الوصول العشوائي) و"الوصول إلى ملف تسلسل غير متوقع للمواقع "داخلها. يجب أن تكون الكتلة كبيرة بما يكفي للحفظ البيانات أكثر فائدة من إعادة حسابها لكل وصول. ينبغي للخوارزمية أيضًا منع التوازي الداخلي، وبالتالي يجب أن تتطلب الخيوط المتزامنة N ذاكرة أكبر بمقدار N مرة مرة واحدة. قام Dwork وآخرون [22] بالتحقيق في هذا النهج وإضفاء الطابع الرسمي عليه مما دفعهم إلى اقتراح نهج آخر متغير وظيفة التسعير: "Mbound". عمل آخر ينتمي إلى F. Coelho [20]، الذي 11 الصفقة إدخال تكساس الإخراج0 . . . الناتج . . . الإخراج الصورة الرئيسية التوقيعات التوقيع الدائري مفتاح الوجهة الإخراج1 مفتاح الوجهة الإخراج المعاملات الخارجية إخراج المرسل مفتاح الوجهة زوج مفاتيح لمرة واحدة لمرة واحدة مفتاح خاص أنا = xHp(P) ف، س الشكل 7. إنشاء توقيع الرنين في معاملة قياسية. 5 إثبات المساواة في العمل في هذا القسم نقترح ونبني خوارزمية proof-of-work الجديدة. هدفنا الأساسي الهدف هو سد الفجوة بين عمال المناجم من وحدة المعالجة المركزية (الأغلبية) وعمال المناجم GPU/FPGA/ASIC (الأقلية). إنه كذلك من المناسب أن بعض المستخدمين يمكن أن يتمتعوا بميزة معينة على الآخرين، ولكن استثماراتهم يجب أن تنمو على الأقل خطيا مع السلطة. وبشكل أعم، إنتاج أجهزة ذات أغراض خاصة يجب أن تكون أقل ربحية قدر الإمكان. 5.1 الأعمال ذات الصلة يستخدم بروتوكول Bitcoin proof-of-work الأصلي وظيفة التسعير المكثفة لوحدة المعالجة المركزية SHA-256. ويتكون بشكل أساسي من العوامل المنطقية الأساسية ويعتمد فقط على السرعة الحسابية المعالج، وبالتالي فهو مناسب تمامًا لتنفيذ متعدد النواة/الناقل. ومع ذلك، فإن أجهزة الكمبيوتر الحديثة لا تقتصر على عدد العمليات في الثانية وحدها، ولكن أيضًا حسب حجم الذاكرة. في حين أن بعض المعالجات يمكن أن تكون أسرع بكثير من غيرها [8]، من غير المرجح أن تختلف أحجام الذاكرة بين الأجهزة. تم تقديم وظائف السعر المرتبطة بالذاكرة لأول مرة بواسطة العبادي وآخرين وتم تعريفها على أنها "الوظائف التي يهيمن الوقت المستغرق في الوصول إلى الذاكرة على وقت حسابها" [15]. الفكرة الرئيسية هي بناء خوارزمية تخصص كتلة كبيرة من البيانات ("لوحة المسودة") داخل الذاكرة التي يمكن الوصول إليها ببطء نسبيًا (على سبيل المثال، ذاكرة الوصول العشوائي) و"الوصول إلى ملف تسلسل غير متوقع للمواقع "داخلها. يجب أن تكون الكتلة كبيرة بما يكفي للحفظ البيانات أكثر فائدة من إعادة حسابها لكل وصول. ينبغي للخوارزمية أيضًا منع التوازي الداخلي، وبالتالي يجب أن تتطلب الخيوط المتزامنة N ذاكرة أكبر بمقدار N مرة مرة واحدة. قام Dwork وآخرون [22] بالتحقيق في هذا النهج وإضفاء الطابع الرسمي عليه مما دفعهم إلى اقتراح نهج آخر متغير وظيفة التسعير: "Mbound". عمل آخر ينتمي إلى F. Coelho [20]، الذي 11 21 هذه، ظاهريًا، هي UTXO: المبالغ ومفاتيح الوجهة. إذا كان Alex هو من ينشئ هذه المعاملة القياسية ويرسلها إلى Bob، فإن Alex لديه أيضًا المفاتيح الخاصة لكل من هذه. يعجبني هذا المخطط كثيرًا، لأنه يجيب على بعض الأسئلة السابقة. يتكون إدخال Txn من مجموعة من مخرجات Txn و keصورة. ومن ثم يتم توقيعه بالتوقيع الدائري، بما في ذلك الكل المفاتيح الخاصة التي يملكها (أليكس) لجميع المعاملات الأجنبية المتضمنة في الصفقة. ال يتكون إخراج Txn من مبلغ ومفتاح الوجهة. يجوز لمتلقي المعاملة، كما يريدون، قم بإنشاء مفتاحهم الخاص لمرة واحدة كما هو موضح سابقًا في الورقة من أجل الإنفاق المال. سيكون من دواعي سروري معرفة مدى تطابق هذا مع الكود الفعلي ... لا، يصف نيك فان سابيرهاجن بشكل فضفاض بعض خصائص خوارزمية إثبات العمل، دون وصف تلك الخوارزمية فعليًا. سوف تتطلب خوارزمية CryptoNight نفسها تحليلًا عميقًا. عندما قرأت هذا، تلعثمت. هل يجب أن ينمو الاستثمار بشكل خطي على الأقل مع القوة، أم ينبغي هل ينمو الاستثمار على الأكثر بشكل خطي مع القوة؟ وبعد ذلك أدركت؛ أنا، كعامل منجم، أو مستثمر، أفكر عادةً في "مقدار القوة التي يمكنني الحصول عليها للاستثمار؟" وليس "ما مقدار الاستثمار المطلوب للحصول على قدر ثابت من الطاقة؟" بالطبع، تشير إلى الاستثمار بواسطة I والقوة بواسطة P. إذا كان I(P) هو الاستثمار كدالة للقوة وP(I) هي القوة كدالة للاستثمار، وسيكونان معكوسين لبعضهما البعض (أينما كان يمكن أن توجد معكوس). وإذا كان I(P) أسرع من الخطي فإن P(I) أبطأ من الخطي. وبالتالي، سيكون هناك انخفاض في معدل العائدات للمستثمرين. وهذا يعني أن ما يقوله المؤلف هنا هو: "بالتأكيد، كلما استثمرت أكثر، ستحصل على المزيد القوة. لكن يجب أن نحاول أن نجعل هذا الأمر يتعلق بمعدل عوائد منخفض." سوف تنتهي استثمارات وحدة المعالجة المركزية بشكل فرعي في النهاية؛ والسؤال هو ما إذا كان المؤلفون لقد صممنا خوارزمية أسرى الحرب التي ستجبر ASICs على القيام بذلك أيضًا. هل يجب أن يتم استخراج "العملة المستقبلية" الافتراضية دائمًا باستخدام الموارد الأبطأ/الأكثر محدودية؟ إن الورقة التي أعدها العبادي وآخرون (والتي تضم بعض مهندسي جوجل ومايكروسوفت كمؤلفين) هي، بشكل أساسي، وذلك باستخدام حقيقة أن حجم الذاكرة على مدى السنوات القليلة الماضية كان أصغر بكثير التباين عبر الأجهزة أكبر من سرعة المعالج، ومع نسبة استثمار إلى قوة أكثر من خطية. في غضون سنوات قليلة، قد يتعين إعادة تقييم هذا! كل شيء هو سباق تسلح.. من الصعب إنشاء دالة hash؛ يبدو أن إنشاء دالة hash تستوفي هذه القيود أكثر صعوبة. يبدو أن هذه الورقة ليس لديها تفسير للواقع hashing خوارزمية CryptoNight. أعتقد أنه تطبيق صعب الذاكرة لـ SHA-3، على أساس على مشاركات المنتدى ولكن ليس لدي أي فكرة... وهذا هو بيت القصيد. يجب شرحه.
اقترح الحل الأكثر فعالية: "هوكايدو". على حد علمنا، فإن العمل الأخير الذي يعتمد على فكرة عمليات البحث العشوائية الزائفة في مجموعة كبيرة هو الخوارزمية المعروفة باسم "scrypt" بواسطة C. Percival [32]. على عكس الوظائف السابقة التي يركز عليها اشتقاق المفتاح، وليس أنظمة proof-of-work. على الرغم من هذه الحقيقة، يمكن أن يخدم scrypt غرضنا: تعمل بشكل جيد كوظيفة تسعير في مشكلة التحويل الجزئية hash مثل SHA-256 في Bitcoin. حتى الآن تم تطبيق scrypt بالفعل في Litecoin [14] وبعض تفرعات Bitcoin الأخرى. ومع ذلك، فإن تنفيذها لا يرتبط حقًا بالذاكرة: نسبة "وقت الوصول إلى الذاكرة / الإجمالي". time" ليس كبيرًا بدرجة كافية لأن كل مثيل يستخدم 128 كيلو بايت فقط. وهذا يسمح لعمال المناجم GPU لتكون أكثر فعالية بحوالي 10 مرات وتستمر في ترك إمكانية الإنشاء نسبيًا أجهزة التعدين رخيصة ولكن ذات كفاءة عالية. علاوة على ذلك، فإن بناء السكربت نفسه يسمح بمبادلة خطية بين حجم الذاكرة ومساحة الذاكرة سرعة وحدة المعالجة المركزية نظرًا لأن كل كتلة في لوحة المسودة مشتقة فقط من سابقتها. على سبيل المثال، يمكنك تخزين كل كتلة ثانية وإعادة حساب الكتل الأخرى بطريقة كسولة، أي فقط عندما يصبح ذلك ضروريا. من المفترض أن يتم توزيع الفهارس العشوائية الزائفة بشكل موحد، وبالتالي فإن القيمة المتوقعة لإعادة حساب الكتل الإضافية هي 1 \(2 \cdot N\)، حيث N هو الرقم من التكرارات. يزيد الوقت الإجمالي للحساب بمقدار أقل من النصف نظرًا لوجود أيضًا العمليات المستقلة عن الوقت (الوقت الثابت) مثل إعداد لوحة المسودة وتشغيل hash كل التكرار. توفير 2/3 من تكاليف الذاكرة 1 3 \(\cdot\) ن + 1 3 \(\cdot\) \(2 \cdot N\) = N عمليات إعادة الحساب الإضافية؛ 9/10 النتائج في 1 10 \(\cdot\) ن + . . . + 1 10 \(\cdot\) 9 \(\cdot\) ن = 4.5ن. من السهل إظهار أن تخزين 1 فقط ق من جميع الكتل يزيد الوقت أقل من عامل s−1 2 . وهذا بدوره يعني أن الجهاز مزود بوحدة المعالجة المركزية أسرع 200 مرة من الرقائق الحديثة التي يمكنها تخزين 320 بايت فقط من لوحة المسودة. 5.2 الخوارزمية المقترحة نقترح خوارزمية جديدة مرتبطة بالذاكرة لوظيفة التسعير proof-of-work. يعتمد عليه الوصول العشوائي إلى ذاكرة بطيئة ويؤكد الاعتماد على زمن الوصول. على عكس scrypt كل تعتمد الكتلة الجديدة (طولها 64 بايت) على جميع الكتل السابقة. ونتيجة لذلك افتراضية يجب أن يزيد "موفر الذاكرة" من سرعة حسابه بشكل كبير. تتطلب الخوارزمية الخاصة بنا حوالي 2 ميجابايت لكل مثيل للأسباب التالية: 1. يتناسب مع ذاكرة التخزين المؤقت L3 (لكل نواة) للمعالجات الحديثة، والتي يجب أن تصبح سائدة في سنوات قليلة؛ 2. يعد ميغابايت من الذاكرة الداخلية حجمًا غير مقبول تقريبًا لخط أنابيب ASIC الحديث؛ 3. قد تقوم وحدات معالجة الرسومات بتشغيل مئات المثيلات المتزامنة، لكنها محدودة بطرق أخرى: ذاكرة GDDR5 أبطأ من ذاكرة التخزين المؤقت لوحدة المعالجة المركزية L3 وهي رائعة لعرض النطاق الترددي الخاص بها، وليس كذلك سرعة الوصول العشوائية. 4. إن التوسع الكبير في لوحة المسودة يتطلب زيادة في التكرارات، والتي بدوره يعني زيادة الوقت الإجمالي. قد تؤدي المكالمات "الثقيلة" في شبكة p2p غير الموثوقة إلى نقاط ضعف خطيرة، لأن العقد ملزمة بالتحقق من proof-of-work لكل كتلة جديدة. إذا كانت العقدة تقضي قدرًا كبيرًا من الوقت في كل تقييم hash، فيمكن بسهولة DDoSed بواسطة طوفان من الكائنات المزيفة مع بيانات العمل العشوائية (قيم nonce). 12 اقترح الحل الأكثر فعالية: "هوكايدو". على حد علمنا، فإن العمل الأخير الذي يعتمد على فكرة عمليات البحث العشوائية الزائفة في مجموعة كبيرة هو الخوارزمية المعروفة باسم "scrypt" بواسطة C. Percival [32]. على عكس الوظائف السابقة التي يركز عليها اشتقاق المفتاح، وليس أنظمة proof-of-work. على الرغم من هذه الحقيقة، يمكن أن يخدم scrypt غرضنا: تعمل بشكل جيد كوظيفة تسعير في مشكلة التحويل الجزئية hash مثل SHA-256 في Bitcoin. حتى الآن تم تطبيق scrypt بالفعل في Litecoin [14] وبعض شوكات Bitcoin الأخرى. ومع ذلك، فإن تنفيذها لا يرتبط حقًا بالذاكرة: نسبة "وقت الوصول إلى الذاكرة / الإجمالي". time" ليس كبيرًا بدرجة كافية لأن كل مثيل يستخدم 128 كيلو بايت فقط. وهذا يسمح لعمال المناجم GPU لتكون أكثر فعالية بحوالي 10 مرات وتستمر في ترك إمكانية الإنشاء نسبيًا أجهزة التعدين رخيصة ولكن ذات كفاءة عالية. علاوة على ذلك، فإن بناء السكربت نفسه يسمح بمبادلة خطية بين حجم الذاكرة ومساحة الذاكرة سرعة وحدة المعالجة المركزية نظرًا لأن كل كتلة في لوحة المسودة مشتقة فقط من سابقتها. على سبيل المثال، يمكنك تخزين كل كتلة ثانية وإعادة حساب الكتل الأخرى بطريقة كسولة، أي فقط عندما يصبح ذلك ضروريا. من المفترض أن يتم توزيع الفهارس العشوائية الزائفة بشكل موحد، وبالتالي فإن القيمة المتوقعة لإعادة حساب الكتل الإضافية هي 1 2 \(\cdot\) ن، حيثN هو الرقم من التكرارات. يزيد الوقت الإجمالي للحساب بمقدار أقل من النصف نظرًا لوجود أيضًا العمليات المستقلة عن الوقت (الوقت الثابت) مثل إعداد لوحة المسودة وتشغيل hash كل التكرار. توفير 2/3 من تكاليف الذاكرة 1 3 \(\cdot\) ن + 1 3 \(\cdot\) \(2 \cdot N\) = N عمليات إعادة الحساب الإضافية؛ 9/10 النتائج في 1 10 \(\cdot\) ن + . . . + 1 10 \(\cdot\) 9 \(\cdot\) ن = 4.5ن. من السهل إظهار أن تخزين 1 فقط ق من جميع الكتل يزيد الوقت أقل من عامل s−1 2 . وهذا بدوره يعني أن الجهاز مزود بوحدة المعالجة المركزية أسرع 200 مرة من الرقائق الحديثة التي يمكنها تخزين 320 بايت فقط من لوحة المسودة. 5.2 الخوارزمية المقترحة نقترح خوارزمية جديدة مرتبطة بالذاكرة لوظيفة التسعير proof-of-work. يعتمد عليه الوصول العشوائي إلى ذاكرة بطيئة ويؤكد الاعتماد على زمن الوصول. على عكس scrypt كل تعتمد الكتلة الجديدة (طولها 64 بايت) على جميع الكتل السابقة. ونتيجة لذلك افتراضية يجب أن يزيد "موفر الذاكرة" من سرعة حسابه بشكل كبير. تتطلب الخوارزمية الخاصة بنا حوالي 2 ميجابايت لكل مثيل للأسباب التالية: 1. يتناسب مع ذاكرة التخزين المؤقت L3 (لكل نواة) للمعالجات الحديثة، والتي يجب أن تصبح سائدة في سنوات قليلة؛ 2. يعد ميغابايت من الذاكرة الداخلية حجمًا غير مقبول تقريبًا لخط أنابيب ASIC الحديث؛ 3. قد تقوم وحدات معالجة الرسومات بتشغيل مئات المثيلات المتزامنة، لكنها محدودة بطرق أخرى: ذاكرة GDDR5 أبطأ من ذاكرة التخزين المؤقت لوحدة المعالجة المركزية L3 وهي رائعة لعرض النطاق الترددي الخاص بها، وليس كذلك سرعة الوصول العشوائية. 4. إن التوسع الكبير في لوحة المسودة يتطلب زيادة في التكرارات، والتي بدوره يعني زيادة الوقت الإجمالي. قد تؤدي المكالمات "الثقيلة" في شبكة p2p غير الموثوقة إلى نقاط ضعف خطيرة، لأن العقد ملزمة بالتحقق من proof-of-work لكل كتلة جديدة. إذا كانت العقدة تقضي قدرًا كبيرًا من الوقت في كل تقييم hash، فيمكن بسهولة DDoSed بواسطة طوفان من الكائنات المزيفة مع بيانات العمل العشوائية (قيم nonce). 12 22 لا يهم، هل هي عملة مشفرة؟ أين هي الخوارزمية؟ كل ما أراه هو إعلان. هذا هو المكان الذي ستتألق فيه Cryptonote حقًا، إذا كانت خوارزمية إثبات العمل (PoW) الخاصة بها جديرة بالاهتمام. انها ليست كذلك حقًا SHA-256، إنه ليس مشفرًا حقًا. إنها جديدة ومقيدة بالذاكرة وغير متكررة.
6 مزيد من المزايا 6.1 انبعاث سلس الحد الأعلى للكمية الإجمالية لعملات CryptoNote الرقمية هو: MSupply = 264 −1 الوحدات الذرية. وهذا قيد طبيعي يعتمد فقط على حدود التنفيذ، وليس على الحدس مثل "يجب أن تكون العملات المعدنية N كافية لأي شخص". لضمان سلاسة عملية الانبعاث نستخدم الصيغة التالية للكتلة المكافآت: BaseReward = (MSupply −A) ≫18, حيث A هو مقدار العملات المعدنية التي تم إنشاؤها مسبقًا. 6.2 معلمات قابلة للتعديل 6.2.1 صعوبة يحتوي CryptoNote على خوارزمية استهداف تعمل على تغيير صعوبة كل كتلة. هذا يقلل من وقت رد فعل النظام عندما يكون معدل hashالشبكة ينمو أو يتقلص بشكل مكثف، الحفاظ على معدل كتلة ثابت. الطريقة الأصلية Bitcoin تحسب العلاقة الفعلية ويستهدف الفترة الزمنية بين كتل 2016 الأخيرة ويستخدمها كمضاعف للتيار صعوبة. من الواضح أن هذا غير مناسب لإعادة الحسابات السريعة (بسبب القصور الذاتي الكبير) و يؤدي إلى تذبذبات. الفكرة العامة وراء الخوارزمية لدينا هي جمع كل العمل الذي أنجزته العقد و تقسيمها على الوقت الذي قضوه. مقياس العمل هو قيم الصعوبة المقابلة في كل كتلة. ولكن بسبب الطوابع الزمنية غير الدقيقة وغير الموثوقة، لا يمكننا تحديد الوقت بدقة الفاصل الزمني بين الكتل. يمكن للمستخدم تحويل الطابع الزمني الخاص به إلى المستقبل والمرة القادمة قد تكون الفواصل الزمنية صغيرة بشكل غير محتمل أو حتى سلبية. من المفترض أنه سيكون هناك عدد قليل من حوادث من هذا النوع، حتى نتمكن فقط من فرز الطوابع الزمنية وقطع القيم المتطرفة (أي 20٪). نطاق والقيم المتبقية هي الوقت الذي تم إنفاقه لـ 80% من الكتل المقابلة. 6.2.2 حدود الحجم يدفع المستخدمون مقابل تخزين blockchain ويحق لهم التصويت على حجمه. كل عامل منجم يتعامل مع المفاضلة بين موازنة التكاليف والأرباح من الرسوم ويضع جدول أعماله الخاص "الحد الناعم" لإنشاء الكتل. كما أن القاعدة الأساسية للحد الأقصى لحجم الكتلة ضرورية منع blockchain من إغراقها بمعاملة زائفة، ولكن يجب أن تكون هذه القيمة لا تكون مشفرة. دع MN هي القيمة المتوسطة لأحجام الكتل N الأخيرة. ثم "الحد الأقصى" للحجم قبول الكتل هو 2 \(\cdot\) مليون. إنه يمنع blockchain من الانتفاخ ولكنه لا يزال يسمح بالحد الأقصى تنمو ببطء مع مرور الوقت إذا لزم الأمر. لا يلزم أن يكون حجم المعاملة محدودًا بشكل صريح. ويحدها حجم الكتلة. وإذا أراد شخص ما إنشاء معاملة ضخمة بمئات المدخلات/المخرجات (أو مع درجة الغموض العالية في التوقيعات الحلقية)، فيمكنه القيام بذلك عن طريق دفع رسوم كافية. 6.2.3 عقوبة الحجم الزائد لا يزال المُعدِّن يتمتع بالقدرة على ملء الكتلة بمعاملاته الخالية من الرسوم حتى الحد الأقصى الحجم 2 \(\cdot\) ميجا بايت. على الرغم من أن غالبية عمال المناجم فقط هم من يمكنهم تحويل القيمة المتوسطة، إلا أنه لا يزال هناك 13 6 مزيد من المزايا 6.1 انبعاث سلس الحد الأعلى للكمية الإجمالية لعملات CryptoNote الرقمية هو: MSupply = 264 −1 الوحدات الذرية. وهذا قيد طبيعي يعتمد فقط على حدود التنفيذ، وليس على الحدس مثل "يجب أن تكون العملات المعدنية N كافية لأي شخص". لضمان سلاسة عملية الانبعاث نستخدم الصيغة التالية للكتلة المكافآت: BaseReward = (MSupply −A) ≫18, حيث A هو مقدار العملات المعدنية التي تم إنشاؤها مسبقًا. 6.2 معلمات قابلة للتعديل 6.2.1 صعوبة يحتوي CryptoNote على خوارزمية استهداف تعمل على تغيير صعوبة كل كتلة. هذا يقلل من وقت رد فعل النظام عندما يكون معدل hashالشبكة ينمو أو يتقلص بشكل مكثف، الحفاظ على معدل كتلة ثابت. الطريقة الأصلية Bitcoin تحسب العلاقة الفعلية ويستهدف الفترة الزمنية بين كتل 2016 الأخيرة ويستخدمها كمضاعف للتيار صعوبة. من الواضح أن هذا غير مناسب لإعادة الحسابات السريعة (بسبب القصور الذاتي الكبير) و يؤدي إلى تذبذبات. الفكرة العامة وراء الخوارزمية لدينا هي جمع كل العمل الذي أنجزته العقد و تقسيمها على الوقت الذي قضوه. مقياس العمل هو قيم الصعوبة المقابلة في كل كتلة. ولكن بسبب الطوابع الزمنية غير الدقيقة وغير الموثوقة، لا يمكننا تحديد الوقت بدقة الفاصل الزمني بين الكتل. يمكن للمستخدم تحويل الطابع الزمني الخاص به إلى المستقبل والمرة القادمة قد تكون الفواصل الزمنية صغيرة بشكل غير محتمل أو حتى سلبية. من المفترض أنه سيكون هناك عدد قليل من حوادث من هذا النوع، حتى نتمكن فقط من فرز الطوابع الزمنية وقطع القيم المتطرفة (أي 20٪). نطاق والقيم المتبقية هي الوقت الذي تم إنفاقه لـ 80% من الكتل المقابلة. 6.2.2 حدود الحجم يدفع المستخدمون مقابل تخزين blockchain ويحق لهم التصويت على حجمه. كل عامل منجم يتعامل مع التجارة بين موازنة الهـ التكاليف والربح من الرسوم ويحدد بنفسه "الحد الناعم" لإنشاء الكتل. كما أن القاعدة الأساسية للحد الأقصى لحجم الكتلة ضرورية منع blockchain من إغراقها بمعاملة زائفة، ولكن يجب أن تكون هذه القيمة لا تكون مشفرة. دع MN هي القيمة المتوسطة لأحجام الكتل N الأخيرة. ثم "الحد الأقصى" للحجم قبول الكتل هو 2 \(\cdot\) مليون. إنه يمنع blockchain من الانتفاخ ولكنه لا يزال يسمح بالحد الأقصى تنمو ببطء مع مرور الوقت إذا لزم الأمر. لا يلزم أن يكون حجم المعاملة محدودًا بشكل صريح. ويحدها حجم الكتلة. وإذا أراد شخص ما إنشاء معاملة ضخمة بمئات المدخلات/المخرجات (أو مع درجة الغموض العالية في التوقيعات الحلقية)، فيمكنه القيام بذلك عن طريق دفع رسوم كافية. 6.2.3 عقوبة الحجم الزائد لا يزال المُعدِّن يتمتع بالقدرة على ملء الكتلة بمعاملاته الخالية من الرسوم حتى الحد الأقصى الحجم 2 \(\cdot\) ميجا بايت. على الرغم من أن غالبية عمال المناجم فقط هم من يمكنهم تحويل القيمة المتوسطة، إلا أنه لا يزال هناك 13 23 الوحدات الذرية. أحب ذلك. هل هذا يعادل ساتوشي؟ إذا كان الأمر كذلك، فهذا يعني أنه سيكون هناك 185 مليار عملة مشفرة. أعلم أنه يجب تعديل هذا في النهاية في بضع صفحات، أو ربما يكون هناك خطأ مطبعي؟ إذا كانت المكافأة الأساسية هي "جميع العملات المعدنية المتبقية"، فستكون كتلة واحدة فقط كافية للحصول على جميع العملات المعدنية. إنستاميني. ومن ناحية أخرى، إذا كان من المفترض أن يكون هذا متناسبًا بطريقة ما مع الفرق في الوقت بين الآن وبعض تاريخ انتهاء إنتاج العملة؟ من شأنه أن منطقي. أيضًا، في عالمي، علامتان أعظم من مثل هذه تعني "أعظم بكثير من". هل المؤلف ربما يعني شيئا آخر؟ إذا حدث تعديل للصعوبة في كل كتلة، فمن الممكن أن يمتلك المهاجم مزرعة كبيرة جدًا من الأسلحة تقوم الآلات بالتعدين داخل وخارج فترات زمنية مختارة بعناية. قد يتسبب هذا في انفجار فوضوي (أو اصطدام إلى الصفر) في الصعوبة، إذا لم يتم إخماد صيغ ضبط الصعوبة بشكل مناسب. لا شك أن طريقة Bitcoin غير مناسبة لإعادة الحسابات السريعة، ولكن فكرة القصور الذاتي في هذه الأنظمة سوف تحتاج إلى إثبات، وليس أمرا مفروغا منه. علاوة على ذلك، التذبذبات الصعوبة في الشبكة ليست بالضرورة مشكلة إلا إذا أدت إلى تذبذبات ظاهرية عرض العملات المعدنية - وقد يؤدي وجود صعوبة سريعة التغير إلى "الإفراط في التصحيح". الوقت المستغرق، خاصة خلال فترة زمنية قصيرة مثل بضع دقائق، سيكون متناسبًا مع "الإجمالي". عدد الكتل التي تم إنشاؤها على الشبكة." وثابت التناسب سوف ينمو في حد ذاته مع مرور الوقت، ويفترض أن يكون ذلك بشكل كبير إذا انطلق CN. قد تكون فكرة أفضل أن تقوم ببساطة بتعديل صعوبة الاحتفاظ "بإجمالي الكتل التي تم إنشاؤها على الشبكة منذ إضافة الكتلة الأخيرة إلى السلسلة الرئيسية" ضمن قيمة ثابتة معينة، أو مع تباين محدود أو شيء من هذا القبيل. إذا كانت الخوارزمية التكيفية حسابية يمكن تحديد سهولة التنفيذ، ويبدو أن هذا يحل المشكلة. ولكن بعد ذلك، إذا استخدمنا هذه الطريقة، يمكن لأي شخص لديه مزرعة تعدين كبيرة أن يغلق مزرعته لبضع ساعات، ثم أعد تشغيله مرة أخرى. بالنسبة للكتل القليلة الأولى، سوف تصنع تلك المزرعة البنك. لذا، في الواقع، ستثير هذه الطريقة نقطة مثيرة للاهتمام: يصبح التعدين (في المتوسط) أ خسارة اللعبة بدون عائد على الاستثمار، خاصة مع تزايد عدد الأشخاص الذين يستخدمون الشبكة. إذا كانت صعوبة التعدين شبكة يتم تتبعها عن كثب hashrate، أشك بطريقة أو بأخرى في أن الناس سوف يقومون بالتعدين بقدر ما يفعلون تفعل حاليا. أو، من ناحية أخرى، بدلاً من إبقاء مزارع التعدين الخاصة بهم تعمل على مدار الساعة طوال أيام الأسبوع، فقد يقومون بتحويلها يعمل لمدة 6 ساعات، أو إيقاف لمدة ساعتين، أو إيقاف لمدة 6 ساعات، أو إيقاف لمدة ساعتين، أو شيء من هذا القبيل. فقط قم بالتبديل إلى عملة أخرى لبضع ساعات، انتظر حتى تسقط الصعوبة، ثم قم بالقفز مرة أخرى للحصول على تلك النقاط الإضافية القليلة كتل الربحية مع تكيف الشبكة. وأنت تعرف ماذا؟ هذا هو في الواقع على الأرجح أحد أفضل سيناريوهات التعدين التي وضعتها في ذهني... يمكن أن يكون هذا أمرًا دائريًا، ولكن إذا كان متوسط وقت إنشاء الكتلة يصل إلى دقيقة تقريبًا، فهل يمكننا ذلك فقط استخدام عدد الكتل كبديل لـ "الوقت المستغرق؟"
6 مزيد من المزايا 6.1 انبعاث سلس الحد الأعلى للكمية الإجمالية لعملات CryptoNote الرقمية هو: MSupply = 264 −1 الوحدات الذرية. وهذا قيد طبيعي يعتمد فقط على حدود التنفيذ، وليس على الحدس مثل "يجب أن تكون العملات المعدنية N كافية لأي شخص". لضمان سلاسة عملية الانبعاث نستخدم الصيغة التالية للكتلة المكافآت: BaseReward = (MSupply −A) ≫18, حيث A هو مقدار العملات المعدنية التي تم إنشاؤها مسبقًا. 6.2 معلمات قابلة للتعديل 6.2.1 صعوبة يحتوي CryptoNote على خوارزمية استهداف تعمل على تغيير صعوبة كل كتلة. هذا يقلل من وقت رد فعل النظام عندما يكون معدل hashالشبكة ينمو أو يتقلص بشكل مكثف، الحفاظ على معدل كتلة ثابت. الطريقة الأصلية Bitcoin تحسب العلاقة الفعلية ويستهدف الفترة الزمنية بين كتل 2016 الأخيرة ويستخدمها كمضاعف للتيار صعوبة. من الواضح أن هذا غير مناسب لإعادة الحسابات السريعة (بسبب القصور الذاتي الكبير) و يؤدي إلى تذبذبات. الفكرة العامة وراء الخوارزمية لدينا هي جمع كل العمل الذي أنجزته العقد و تقسيمها على الوقت الذي قضوه. مقياس العمل هو قيم الصعوبة المقابلة في كل كتلة. ولكن بسبب الطوابع الزمنية غير الدقيقة وغير الموثوقة، لا يمكننا تحديد الوقت بدقة الفاصل الزمني بين الكتل. يمكن للمستخدم تحويل الطابع الزمني الخاص به إلى المستقبل والمرة القادمة قد تكون الفواصل الزمنية صغيرة بشكل غير محتمل أو حتى سلبية. من المفترض أنه سيكون هناك عدد قليل من حوادث من هذا النوع، حتى نتمكن فقط من فرز الطوابع الزمنية وقطع القيم المتطرفة (أي 20٪). نطاق والقيم المتبقية هي الوقت الذي تم إنفاقه لـ 80% من الكتل المقابلة. 6.2.2 حدود الحجم يدفع المستخدمون مقابل تخزين blockchain ويحق لهم التصويت على حجمه. كل عامل منجم يتعامل مع المفاضلة بين موازنة التكاليف والأرباح من الرسوم ويضع جدول أعماله الخاص "الحد الناعم" لإنشاء الكتل. كما أن القاعدة الأساسية للحد الأقصى لحجم الكتلة ضرورية منع blockchain من إغراقها بمعاملة زائفة، ولكن يجب أن تكون هذه القيمة لا تكون مشفرة. دع MN هي القيمة المتوسطة لأحجام الكتل N الأخيرة. ثم "الحد الأقصى" للحجم قبول الكتل هو 2 \(\cdot\) مليون. إنه يمنع blockchain من الانتفاخ ولكنه لا يزال يسمح بالحد الأقصى تنمو ببطء مع مرور الوقت إذا لزم الأمر. لا يلزم أن يكون حجم المعاملة محدودًا بشكل صريح. ويحدها حجم الكتلة. وإذا أراد شخص ما إنشاء معاملة ضخمة بمئات المدخلات/المخرجات (أو مع درجة الغموض العالية في التوقيعات الحلقية)، فيمكنه القيام بذلك عن طريق دفع رسوم كافية. 6.2.3 عقوبة الحجم الزائد لا يزال المُعدِّن يتمتع بالقدرة على ملء الكتلة بمعاملاته الخالية من الرسوم حتى الحد الأقصى الحجم 2 \(\cdot\) ميجا بايت. على الرغم من أن غالبية عمال المناجم فقط هم من يمكنهم تحويل القيمة المتوسطة، إلا أنه لا يزال هناك 13 6 مزيد من المزايا 6.1 انبعاث سلس الحد الأعلى للكمية الإجمالية لعملات CryptoNote الرقمية هو: MSupply = 264 −1 الوحدات الذرية. وهذا قيد طبيعي يعتمد فقط على حدود التنفيذ، وليس على الحدس مثل "يجب أن تكون العملات المعدنية N كافية لأي شخص". لضمان سلاسة عملية الانبعاث نستخدم الصيغة التالية للكتلة المكافآت: BaseReward = (MSupply −A) ≫18, حيث A هو مقدار العملات المعدنية التي تم إنشاؤها مسبقًا. 6.2 معلمات قابلة للتعديل 6.2.1 صعوبة يحتوي CryptoNote على خوارزمية استهداف تعمل على تغيير صعوبة كل كتلة. هذا يقلل من وقت رد فعل النظام عندما يكون معدل hashالشبكة ينمو أو يتقلص بشكل مكثف، الحفاظ على معدل كتلة ثابت. الطريقة الأصلية Bitcoin تحسب العلاقة الفعلية ويستهدف الفترة الزمنية بين كتل 2016 الأخيرة ويستخدمها كمضاعف للتيار صعوبة. من الواضح أن هذا غير مناسب لإعادة الحسابات السريعة (بسبب القصور الذاتي الكبير) و يؤدي إلى تذبذبات. الفكرة العامة وراء الخوارزمية لدينا هي جمع كل العمل الذي أنجزته العقد و تقسيمها على الوقت الذي قضوه. مقياس العمل هو قيم الصعوبة المقابلة في كل كتلة. ولكن بسبب الطوابع الزمنية غير الدقيقة وغير الموثوقة، لا يمكننا تحديد الوقت بدقة الفاصل الزمني بين الكتل. يمكن للمستخدم تحويل الطابع الزمني الخاص به إلى المستقبل والمرة القادمة قد تكون الفواصل الزمنية صغيرة بشكل غير محتمل أو حتى سلبية. من المفترض أنه سيكون هناك عدد قليل من حوادث من هذا النوع، حتى نتمكن فقط من فرز الطوابع الزمنية وقطع القيم المتطرفة (أي 20٪). نطاق والقيم المتبقية هي الوقت الذي تم إنفاقه لـ 80% من الكتل المقابلة. 6.2.2 حدود الحجم يدفع المستخدمون مقابل تخزين blockchain ويحق لهم التصويت على حجمه. كل عامل منجم يتعامل مع التجارة بين موازنة الهـ التكاليف والربح من الرسوم ويحدد بنفسه "الحد الناعم" لإنشاء الكتل. كما أن القاعدة الأساسية للحد الأقصى لحجم الكتلة ضرورية منع blockchain من إغراقها بمعاملة زائفة، ولكن يجب أن تكون هذه القيمة لا تكون مشفرة. دع MN هي القيمة المتوسطة لأحجام الكتل N الأخيرة. ثم "الحد الأقصى" للحجم قبول الكتل هو 2 \(\cdot\) مليون. إنه يمنع blockchain من الانتفاخ ولكنه لا يزال يسمح بالحد الأقصى تنمو ببطء مع مرور الوقت إذا لزم الأمر. لا يلزم أن يكون حجم المعاملة محدودًا بشكل صريح. ويحدها حجم الكتلة. وإذا أراد شخص ما إنشاء معاملة ضخمة بمئات المدخلات/المخرجات (أو مع درجة الغموض العالية في التوقيعات الحلقية)، فيمكنه القيام بذلك عن طريق دفع رسوم كافية. 6.2.3 عقوبة الحجم الزائد لا يزال المُعدِّن يتمتع بالقدرة على ملء الكتلة بمعاملاته الخالية من الرسوم حتى الحد الأقصى الحجم 2 \(\cdot\) ميجا بايت. على الرغم من أن غالبية عمال المناجم فقط هم من يمكنهم تحويل القيمة المتوسطة، إلا أنه لا يزال هناك 13 24 حسنًا، لدينا blockchain، ولكل كتلة طوابع زمنية بالإضافة إلى كونها مجرد أمر. ومن الواضح أنه تم إدراج هذا ببساطة لصعوبة التعديل، لأن الطوابع الزمنية موجودة لا يمكن الاعتماد عليها للغاية، كما ذكرنا. هل يُسمح لنا بوجود طوابع زمنية متناقضة في السلسلة؟ إذا كانت المجموعة (أ) تأتي قبل المجموعة (ب) في السلسلة، وكان كل شيء متسقًا من حيث الموارد المالية، ولكن يبدو أن الكتلة "أ" قد تم إنشاؤها بعد الكتلة "ب"؟ لأنه ربما يملكها شخص ما جزء كبير من الشبكة؟ هل هذا جيد؟ ربما لأن الموارد المالية ليست مخطئة. حسنًا، أنا أكره هذا التعسفي "80% فقط من الكتل شرعية لـ blockchain الرئيسي" النهج. هل كان القصد منه منع الكاذبين من تعديل طوابعهم الزمنية؟ لكنها تضيف الآن حافز للجميع للكذب بشأن الطوابع الزمنية الخاصة بهم واختيار الوسيط فقط. يرجى تحديد. بمعنى "بالنسبة لهذه الكتلة، قم فقط بتضمين المعاملات التي تتضمن رسومًا أكبر من p%، ويفضل أن تكون الرسوم أكبر من 2p%" أو شيء من هذا القبيل؟ ماذا يقصدون بالكاذبة؟ إذا كانت المعاملة متوافقة مع التاريخ السابق لل blockchain، والمعاملة تتضمن رسومًا ترضي المعدنين، أليس هذا كافيًا؟ حسنا، لا، ليس بالضرورة. إذا لم يكن هناك حد أقصى لحجم الكتلة، فليس هناك ما يمكن الاحتفاظ به لمستخدم ضار من مجرد تحميل كتلة ضخمة من المعاملات لنفسه مرة واحدة فقط لإبطاء السرعة الشبكة. القاعدة الأساسية للحد الأقصى لحجم الكتلة تمنع الأشخاص من وضع كميات هائلة من النفايات البيانات الموجودة على blockchain مرة واحدة فقط لإبطاء الأمور. لكن مثل هذه القاعدة يجب أن تكون كذلك كن متكيفًا - خلال موسم عيد الميلاد، على سبيل المثال، يمكننا أن نتوقع ارتفاعًا حادًا في حركة المرور، و يصبح حجم الكتلة كبيرًا جدًا، وبعد ذلك مباشرة، ينخفض حجم الكتلة لاحقًا مرة أخرى. لذلك نحن بحاجة إما إلى أ) نوع من الغطاء التكيفي أو ب) غطاء كبير بما يكفي بحيث يكون 99% من قمم عيد الميلاد المعقولة لا تكسر الغطاء. وبطبيعة الحال، فإن هذا الثاني مستحيل تقدير - من يدري ما إذا كانت العملة ستنتشر؟ من الأفضل أن تجعلها قابلة للتكيف ولا تقلق عنه. ولكن بعد ذلك لدينا مشكلة نظرية التحكم: كيفية جعل هذا التكيف بدون قابلية للهجوم أو التذبذبات البرية والمجنونة؟ لاحظ أن الطريقة التكيفية لا تمنع المستخدمين الضارين من تجميع كميات صغيرة من البيانات غير المرغوب فيها بمرور الوقت على blockchain لتسبب انتفاخًا طويل المدى. هذه مسألة مختلفة تمامًا وواحدة تواجه العملات المشفرة مشكلات خطيرة معها.
6 مزيد من المزايا 6.1 انبعاث سلس الحد الأعلى للكمية الإجمالية لعملات CryptoNote الرقمية هو: MSupply = 264 −1 الوحدات الذرية. وهذا قيد طبيعي يعتمد فقط على حدود التنفيذ، وليس على الحدس مثل "يجب أن تكون العملات المعدنية N كافية لأي شخص". لضمان سلاسة عملية الانبعاث نستخدم الصيغة التالية للكتلة المكافآت: BaseReward = (MSupply −A) ≫18, حيث A هو مقدار العملات المعدنية التي تم إنشاؤها مسبقًا. 6.2 معلمات قابلة للتعديل 6.2.1 صعوبة يحتوي CryptoNote على خوارزمية استهداف تعمل على تغيير صعوبة كل كتلة. هذا يقلل من وقت رد فعل النظام عندما يكون معدل hashالشبكة ينمو أو يتقلص بشكل مكثف، الحفاظ على معدل كتلة ثابت. الطريقة الأصلية Bitcoin تحسب العلاقة الفعلية ويستهدف الفترة الزمنية بين كتل 2016 الأخيرة ويستخدمها كمضاعف للتيار صعوبة. من الواضح أن هذا غير مناسب لإعادة الحسابات السريعة (بسبب القصور الذاتي الكبير) و يؤدي إلى تذبذبات. الفكرة العامة وراء الخوارزمية لدينا هي جمع كل العمل الذي أنجزته العقد و تقسيمها على الوقت الذي قضوه. مقياس العمل هو قيم الصعوبة المقابلة في كل كتلة. ولكن بسبب الطوابع الزمنية غير الدقيقة وغير الموثوقة، لا يمكننا تحديد الوقت بدقة الفاصل الزمني بين الكتل. يمكن للمستخدم تحويل الطابع الزمني الخاص به إلى المستقبل والمرة القادمة قد تكون الفواصل الزمنية صغيرة بشكل غير محتمل أو حتى سلبية. من المفترض أنه سيكون هناك عدد قليل من حوادث من هذا النوع، حتى نتمكن فقط من فرز الطوابع الزمنية وقطع القيم المتطرفة (أي 20٪). نطاق والقيم المتبقية هي الوقت الذي تم إنفاقه لـ 80% من الكتل المقابلة. 6.2.2 حدود الحجم يدفع المستخدمون مقابل تخزين blockchain ويحق لهم التصويت على حجمه. كل عامل منجم يتعامل مع المفاضلة بين موازنة التكاليف والأرباح من الرسوم ويضع جدول أعماله الخاص "الحد الناعم" لإنشاء الكتل. كما أن القاعدة الأساسية للحد الأقصى لحجم الكتلة ضرورية منع blockchain من إغراقها بمعاملة زائفة، ولكن يجب أن تكون هذه القيمة لا تكون مشفرة. دع MN هي القيمة المتوسطة لأحجام الكتل N الأخيرة. ثم "الحد الأقصى" للحجم قبول الكتل هو 2 \(\cdot\) مليون. إنه يمنع blockchain من الانتفاخ ولكنه لا يزال يسمح بالحد الأقصى تنمو ببطء مع مرور الوقت إذا لزم الأمر. لا يلزم أن يكون حجم المعاملة محدودًا بشكل صريح. ويحدها حجم الكتلة. وإذا أراد شخص ما إنشاء معاملة ضخمة بمئات المدخلات/المخرجات (أو مع درجة الغموض العالية في التوقيعات الحلقية)، فيمكنه القيام بذلك عن طريق دفع رسوم كافية. 6.2.3 عقوبة الحجم الزائد لا يزال المُعدِّن يتمتع بالقدرة على ملء الكتلة بمعاملاته الخالية من الرسوم حتى الحد الأقصى الحجم 2 \(\cdot\) ميجا بايت. على الرغم من أن غالبية عمال المناجم فقط هم من يمكنهم تحويل القيمة المتوسطة، إلا أنه لا يزال هناك 13 6 مزيد من المزايا 6.1 انبعاث سلس الحد الأعلى للكمية الإجمالية لعملات CryptoNote الرقمية هو: MSupply = 264 −1 الوحدات الذرية. وهذا قيد طبيعي يعتمد فقط على حدود التنفيذ، وليس على الحدس مثل "يجب أن تكون العملات المعدنية N كافية لأي شخص". لضمان سلاسة عملية الانبعاث نستخدم الصيغة التالية للكتلة المكافآت: BaseReward = (MSupply −A) ≫18, حيث A هو مقدار العملات المعدنية التي تم إنشاؤها مسبقًا. 6.2 معلمات قابلة للتعديل 6.2.1 صعوبة يحتوي CryptoNote على خوارزمية استهداف تعمل على تغيير صعوبة كل كتلة. هذا يقلل من وقت رد فعل النظام عندما يكون معدل hashالشبكة ينمو أو يتقلص بشكل مكثف، الحفاظ على معدل كتلة ثابت. الطريقة الأصلية Bitcoin تحسب العلاقة الفعلية ويستهدف الفترة الزمنية بين كتل 2016 الأخيرة ويستخدمها كمضاعف للتيار صعوبة. من الواضح أن هذا غير مناسب لإعادة الحسابات السريعة (بسبب القصور الذاتي الكبير) و يؤدي إلى تذبذبات. الفكرة العامة وراء الخوارزمية لدينا هي جمع كل العمل الذي أنجزته العقد و تقسيمها على الوقت الذي قضوه. مقياس العمل هو قيم الصعوبة المقابلة في كل كتلة. ولكن بسبب الطوابع الزمنية غير الدقيقة وغير الموثوقة، لا يمكننا تحديد الوقت بدقة الفاصل الزمني بين الكتل. يمكن للمستخدم تحويل الطابع الزمني الخاص به إلى المستقبل والمرة القادمة قد تكون الفواصل الزمنية صغيرة بشكل غير محتمل أو حتى سلبية. من المفترض أنه سيكون هناك عدد قليل من حوادث من هذا النوع، حتى نتمكن فقط من فرز الطوابع الزمنية وقطع القيم المتطرفة (أي 20٪). نطاق والقيم المتبقية هي الوقت الذي تم إنفاقه لـ 80% من الكتل المقابلة. 6.2.2 حدود الحجم يدفع المستخدمون مقابل تخزين blockchain ويحق لهم التصويت على حجمه. كل عامل منجم يتعامل مع التجارة بين موازنة الهـ التكاليف والربح من الرسوم ويحدد بنفسه "الحد الناعم" لإنشاء الكتل. كما أن القاعدة الأساسية للحد الأقصى لحجم الكتلة ضرورية منع blockchain من إغراقها بمعاملة زائفة، ولكن يجب أن تكون هذه القيمة لا تكون مشفرة. دع MN هي القيمة المتوسطة لأحجام الكتل N الأخيرة. ثم "الحد الأقصى" للحجم قبول الكتل هو 2 \(\cdot\) مليون. إنه يمنع blockchain من الانتفاخ ولكنه لا يزال يسمح بالحد الأقصى تنمو ببطء مع مرور الوقت إذا لزم الأمر. لا يلزم أن يكون حجم المعاملة محدودًا بشكل صريح. ويحدها حجم الكتلة. وإذا أراد شخص ما إنشاء معاملة ضخمة بمئات المدخلات/المخرجات (أو مع درجة الغموض العالية في التوقيعات الحلقية)، فيمكنه القيام بذلك عن طريق دفع رسوم كافية. 6.2.3 عقوبة الحجم الزائد لا يزال المُعدِّن يتمتع بالقدرة على ملء الكتلة بمعاملاته الخالية من الرسوم حتى الحد الأقصى الحجم 2 \(\cdot\) ميجا بايت. على الرغم من أن غالبية عمال المناجم فقط هم من يمكنهم تحويل القيمة المتوسطة، إلا أنه لا يزال هناك 13 25 وبإعادة قياس الوقت بحيث تكون وحدة زمنية واحدة هي N كتل، لا يزال من الممكن أن ينمو متوسط حجم الكتلة، نظريًا، بشكل متناسب إلى 2ˆt. من ناحية أخرى، سقف أكثر عمومية في الكتلة التالية سيكون M_nf(M_n) لبعض الوظائف f. ما هي خصائص f من شأنها نختار من أجل ضمان بعض "النمو المعقول" لحجم الكتلة؟ تطور ستكون أحجام الكتل (بعد إعادة قياس الوقت) كما يلي: M_n f(M_n)M_n f(f(M_n)M_n)f(M_n)M_n f(f(f(M_n)M_n)f(M_n)M_n)f(f(M_n)M_n)f( ... والهدف هنا هو اختيار f بحيث لا ينمو هذا التسلسل بشكل أسرع من، على سبيل المثال، خطيًا، أو ربما حتى كسجل (ر). بالطبع، إذا كانت f(M_n) = a لبعض الثابت a، فإن هذا التسلسل هو في الواقع M_n aM_n aˆ2M_n aˆ3M_n ... وبطبيعة الحال، الطريقة الوحيدة التي يمكن أن يقتصر بها هذا على النمو الخطي على الأكثر هي اختيار a=1. وهذا بالطبع غير ممكن. لا يسمح بالنمو على الإطلاق. من ناحية أخرى، إذا كانت f(M_n) دالة غير ثابتة، فإن الوضع أكبر من ذلك بكثير معقدة وقد تسمح بحل أنيق. سأفكر في هذا لبعض الوقت. يجب أن تكون هذه الرسوم كبيرة بما يكفي لخصم عقوبة الحجم الزائد من القسم التالي. لماذا يفترض أن المستخدم العام ذكر، هاه؟ هاه؟
إمكانية تضخيم blockchain وإنتاج حمل إضافي على العقد. لتثبيط المشاركون الخبيثون من إنشاء كتل كبيرة نقدم وظيفة عقوبة: NewReward = BaseReward \(\cdot\) حجم Blk مينيسوتا -1 2 يتم تطبيق هذه القاعدة فقط عندما يكون BlkSize أكبر من الحد الأدنى لحجم الكتلة الحرة الذي ينبغي كن قريبًا من الحد الأقصى (10 كيلو بايت، \(M_N \cdot 110\%\)). يُسمح لعمال المناجم بإنشاء كتل ذات "حجم عادي" وحتى تجاوزها بالربح عندما تتجاوز الرسوم الإجمالية العقوبة. لكن الرسوم من غير المرجح أن تنمو من الدرجة الثانية على عكس قيمة العقوبة لذلك سيكون هناك توازن. 6.3 البرامج النصية للمعاملات يحتوي CryptoNote على نظام فرعي بسيط جدًا للبرمجة النصية. يحدد المرسل التعبير Φ = f (x1, x2, . . . , xn)، حيث n هو عدد المفاتيح العامة للوجهة {Pi}n أنا = 1. خمسة فقط ثنائي يتم دعم العوامل: min وmax وsum وmul وcmp. عندما ينفق المتلقي هذه الدفعة، يقوم بإنتاج توقيعات 0 \(\geq k\) \(\geq n\) ويمررها إلى إدخال المعاملة. عملية التحقق ببساطة يتم تقييم Φ باستخدام xi = 1 للتحقق من وجود توقيع صالح للمفتاح العام Pi، وxi = 0. يقبل المدقق الدليل إذا كان > 0. على الرغم من بساطته، فإن هذا النهج يغطي كل الحالات المحتملة: • توقيع متعدد/عتبة. بالنسبة للتوقيع المتعدد "M-out-of-N" ذو النمط Bitcoin (أي. ينبغي أن يوفر المستقبل ما لا يقل عن 0 \(\geq M\) \(\geq N\) من التوقيعات الصالحة) Φ = x1+x2+. . .+xN \(\geq M\) (من أجل الوضوح نستخدم التدوين الجبري المشترك). توقيع العتبة المرجحة (قد تكون بعض المفاتيح أكثر أهمية من غيرها) ويمكن التعبير عنها بـ Φ = \(w_1 \cdot x_1\) + \(w_2 \cdot x_2\) + . . . + WN \(\cdot\) xN \(\geq wM\). والسيناريو الذي يتوافق فيه المفتاح الرئيسي مع Φ = الحد الأقصى (\(M \cdot x\)، x1 + x2 + . . . + xN) \(\geq M\). من السهل إظهار أن أي حالة معقدة يمكن أن تكون كذلك يتم التعبير عنها باستخدام هذه العوامل، أي أنها تشكل الأساس. • الحماية بكلمة مرور. إن امتلاك كلمة مرور سرية يعادل معرفة مفتاح خاص، مشتق بشكل حتمي من كلمة المرور: k = KDF(s). وبالتالي جهاز استقبال يمكنه إثبات أنه يعرف كلمة المرور من خلال تقديم توقيع آخر تحت المفتاح k. يقوم المرسل ببساطة بإضافة المفتاح العام المقابل إلى مخرجاته الخاصة. لاحظ أن هذا تعد الطريقة أكثر أمانًا من "لغز المعاملات" المستخدم في Bitcoin [13]، حيث يتم تمرير كلمة المرور بشكل صريح في المدخلات. • الحالات المتدهورة. Φ = 1 يعني أنه يمكن لأي شخص إنفاق المال؛ Φ = 0 يمثل الإخراج على أنه غير قابل للإنفاق إلى الأبد. في حالة ما إذا كان البرنامج النصي الناتج مع المفاتيح العامة كبيرًا جدًا بالنسبة للمرسل، فإنه يمكن استخدام نوع إخراج خاص، مما يشير إلى أن المستلم سيضع هذه البيانات في مدخلاته بينما يقدم المرسل hash فقط منه. يشبه هذا الأسلوب أسلوب Bitcoin في "الدفع إلى hash" الميزة، ولكن بدلاً من إضافة أوامر نصية جديدة، فإننا نتعامل مع هذه الحالة في بنية البيانات المستوى. 7 الاستنتاج لقد قمنا بالتحقق من العيوب الرئيسية في Bitcoin واقترحنا بعض الحلول الممكنة. هذه الميزات المفيدة وتطويرنا المستمر يجعل نظام النقد الإلكتروني الجديد CryptoNote منافس جدي لـ Bitcoin، متفوقًا على كل شوكاته. 14 إمكانية تضخيم blockchain وإنتاج حمل إضافي على العقد. لتثبيط المشاركون الخبيثون من إنشاء كتل كبيرة نقدم وظيفة عقوبة: NewReward = BaseReward \(\cdot\) حجم Blk مينيسوتا -1 2 يتم تطبيق هذه القاعدة فقط عندما يكون BlkSize أكبر من الحد الأدنى لحجم الكتلة الحرة الذي ينبغي كن قريبًا من الحد الأقصى (10 كيلو بايت، \(M_N \cdot 110\%\)). يُسمح لعمال المناجم بإنشاء كتل ذات "حجم عادي" وحتى تجاوزها بالربح عندما تتجاوز الرسوم الإجمالية العقوبة. لكن الرسوم من غير المرجح أن تنمو من الدرجة الثانية على عكس قيمة العقوبة لذلك سيكون هناك توازن. 6.3 البرامج النصية للمعاملات يحتوي CryptoNote على نظام فرعي بسيط جدًا للبرمجة النصية. يحدد المرسل التعبير Φ = f (x1, x2, . . . , xn)، حيث n هو عدد المفاتيح العامة للوجهة {Pi}n أنا = 1. خمسة فقط ثنائي يتم دعم العوامل: min وmax وsum وmul وcmp. عندما ينفق المتلقي هذه الدفعة، يقوم بإنتاج توقيعات 0 \(\geq k\) \(\geq n\) ويمررها إلى إدخال المعاملة. عملية التحقق ببساطة يتم تقييم Φ باستخدام xi = 1 للتحقق من وجود توقيع صالح للمفتاح العام Pi، وxi = 0. يقبل المدقق الدليل إذا كان > 0. على الرغم من بساطته، فإن هذا النهج يغطي كل الحالات المحتملة: • توقيع متعدد/عتبة. بالنسبة للتوقيع المتعدد "M-out-of-N" ذو النمط Bitcoin (أي. ينبغي أن يوفر المستقبل ما لا يقل عن 0 \(\geq M\) \(\geq N\) من التوقيعات الصالحة) Φ = x1+x2+. . .+xN \(\geq M\) (من أجل الوضوح نستخدم التدوين الجبري المشترك). توقيع العتبة المرجحة (قد تكون بعض المفاتيح أكثر أهمية من غيرها) ويمكن التعبير عنها بـ Φ = \(w_1 \cdot x_1\) + \(w_2 \cdot x_2\) + . . . + WN \(\cdot\) xN \(\geq wM\). والسيناريوio حيث يتوافق المفتاح الرئيسي مع Φ = الحد الأقصى (\(M \cdot x\)، x1 + x2 + . . . + xN) \(\geq M\). من السهل إظهار أن أي حالة معقدة يمكن أن تكون كذلك يتم التعبير عنها باستخدام هذه العوامل، أي أنها تشكل الأساس. • الحماية بكلمة مرور. إن امتلاك كلمة مرور سرية يعادل معرفة مفتاح خاص، مشتق بشكل حتمي من كلمة المرور: k = KDF(s). وبالتالي جهاز استقبال يمكنه إثبات أنه يعرف كلمة المرور من خلال تقديم توقيع آخر تحت المفتاح k. يقوم المرسل ببساطة بإضافة المفتاح العام المقابل إلى مخرجاته الخاصة. لاحظ أن هذا تعد هذه الطريقة أكثر أمانًا من "لغز المعاملات" المستخدم في Bitcoin [13]، حيث يتم تمرير كلمة المرور بشكل صريح في المدخلات. • الحالات المتدهورة. Φ = 1 يعني أنه يمكن لأي شخص إنفاق المال؛ Φ = 0 يمثل الإخراج على أنه غير قابل للإنفاق إلى الأبد. في حالة ما إذا كان البرنامج النصي الناتج مع المفاتيح العامة كبيرًا جدًا بالنسبة للمرسل، فإنه يمكن استخدام نوع إخراج خاص، مما يشير إلى أن المستلم سيضع هذه البيانات في مدخلاته بينما يقدم المرسل hash فقط منه. يشبه هذا الأسلوب أسلوب Bitcoin "الدفع إلى hash" الميزة، ولكن بدلاً من إضافة أوامر نصية جديدة، فإننا نتعامل مع هذه الحالة في بنية البيانات المستوى. 7 الاستنتاج لقد قمنا بالتحقق من العيوب الرئيسية في Bitcoin واقترحنا بعض الحلول الممكنة. هذه الميزات المفيدة وتطويرنا المستمر يجعل نظام النقد الإلكتروني الجديد CryptoNote منافس جدي لـ Bitcoin، متفوقًا على كل شوكاتها. 14 26 قد يكون هذا غير ضروري إذا تمكنا من اكتشاف طريقة لربط حجم الكتلة بمرور الوقت... وهذا أيضاً لا يمكن أن يكون صحيحاً. لقد قاموا للتو بتعيين "NewReward" على القطع المكافئ المتجه للأعلى حيث حجم الكتلة هو المتغير المستقل. لذا فإن المكافأة الجديدة تنفجر إلى ما لا نهاية. إذا، من جهة أخرى اليد، المكافأة الجديدة هي Max(0,Base Reward(1-(BlkSize/Mn - 1)ˆ2)) ثم المكافأة الجديدة سيكون قطعًا مكافئًا متجهًا للأسفل مع قمة عند حجم الكتلة = Mn، ومع تقاطعات عند حجم الكتلة = 0 وحجم الكتلة = 2Mn. ويبدو أن هذا هو ما يحاولون وصفه. ومع ذلك، هذا لا
Analiz

5
Dünyada bir milyar insanın günde bir dolardan daha az bir parayla yaşaması pek de önemli değil.
ve herhangi bir madencilik ağına katılma konusunda hiçbir umudum yok... ama ekonomik bir
Bir işlemci-bir oy ilkesine dayalı bir p2p para sistemi tarafından yönlendirilen dünya, muhtemelen daha fazla olacaktır.
Kısmi rezerv bankacılığının yönlendirdiği bir sistemden daha adil.
Ancak Cryptonote'un protokolü hala %51 dürüst kullanıcı gerektiriyor... örneğin Cryptonote'a bakın
Geliştiricilerden biri olan Pliskov'un, geleneksel veriyi değiştirmeblockchain %51 saldırısının hala işe yarayabileceğini söylediği forumlarda. https://forum.cryptonote.org/viewtopic.php?f=2&t=198
Gerçekten %51 dürüst kullanıcıya ihtiyacınız olmadığını unutmayın. Gerçekten ihtiyacın olan tek bir sahtekârın olmaması
ağın hashing gücünün %51'inden fazlasına sahip olan grup."
Bitcoin'in bu sözde sorununa "adaptif katılık" adını verelim. Cryptonote'un uyarlanabilirlik çözümü
katılık, protokol parametre değerlerinde uyarlanabilir esnekliktir. Daha büyük blok boyutlarına ihtiyacınız varsa,
sorun değil, ağ sürekli olarak yavaş yavaş ayarlanıyor olacaktır.
Yani,
Bitcoin'in zaman içinde zorluğu ayarlama şekli tüm protokolümüzde kopyalanabilir
Böylece protokolün güncellenmesi için ağ konsensusunun elde edilmesine gerek kalmaz.
Görünüşte bu iyi bir fikir gibi görünüyor, ancak dikkatli bir öngörü olmadan, kendi kendini ayarlayan bir
sistem oldukça öngörülemez ve kaotik hale gelebilir. Bu konuyu daha sonra detaylı olarak inceleyeceğiz
fırsatlar ortaya çıkıyor. "İyi" sistemler uyarlanabilir katı ve uyarlanabilir arasında bir yerdedir
esnektir ve belki de katılığın kendisi bile uyarlanabilirdir.
Eğer gerçekten "bir CPU-bir oy"a sahip olsaydık, %51'e ulaşmak için işbirliği yapıp havuzlar geliştirebilirdik
daha zor olurdu. Dünyadaki her CPU'nun telefonlardan madencilik yapmasını beklerdik
Tesla'nız şarj olurken yerleşik CPU'ya.
http://en.wikipedia.org/wiki/Pareto_principle
Pareto dengesinin bir şekilde kaçınılmaz olduğunu iddia ediyorum. Sistemin %20'si
CPU'ların %80'ine sahip olacak veya sistemin %20'si ASIC'lerin %80'ine sahip olacak. Bunu varsayıyorum çünkü toplumdaki temel zenginlik dağılımı zaten Pareto dağılımını gösteriyor,
ve yeni madenciler katıldıkça bu temel dağılımdan yararlanıyorlar.
Ancak, bir işlemci-bir oy ilkesine dayalı protokollerin donanım üzerinde yatırım getirisi göreceğini savunuyorum.
Blok
Düğüm başına ödül, ağdaki düğüm sayısıyla daha yakından orantılı olacaktır çünkü
Performansın düğümler arasındaki dağılımı çok daha sıkı olacaktır. Bitcoin, diğer tarafta
bir blok ödülünün (düğüm başına) hesaplama kapasitesiyle daha orantılı olduğunu düşünüyor
düğüm. Yani madencilik oyununda hâlâ yalnızca "büyük adamlar" var. Öte yandan,
Pareto ilkesi hâlâ yürürlükte olsa da, bir işlemcinin bir oy olduğu bir dünyada herkes
ağ güvenliğine katılır ve bir miktar madencilik geliri elde eder.
ASIC dünyasında, her XBox'u ve cep telefonunu madencilik için donatmak mantıklı değil.
Tek işlemcili bir oy dünyasında, madencilik ödülü açısından bu çok mantıklı. Keyifli bir sonuç olarak,
Oyların sayısı arttıkça %51 oy almak daha zor oluyor ve bu da güzel bir sonuç sağlıyor.
ağ güvenliğine fayda sağlar..Daha önce açıklanan donanım. Küresel hashoranın önemli ölçüde azaldığını varsayalım.
Bir anlığına artık madencilik gücünü kullanarak zinciri çatallayabilir ve çift harcama yapabilir. Göreceğimiz gibi
Bu makalenin ilerleyen kısımlarında, daha önce anlatılan olayın gerçekleşmesi pek olası değildir.
2.3
Düzensiz emisyon
Bitcoin önceden belirlenmiş bir emisyon oranına sahiptir: çözülen her blok sabit miktarda para üretir.
Yaklaşık her dört yılda bir bu ödül yarıya indirilir. Asıl amaç bir yaratmaktı
üstel bozulma ile sınırlı düzgün emisyon, ancak aslında parçalı doğrusal bir emisyona sahibiz
kesme noktaları Bitcoin altyapısında sorunlara neden olabilecek işlev.
Kırılma noktası oluştuğunda madenciler önceki değerlerinin yalnızca yarısını almaya başlarlar.
ödül. 12,5 ile 6,25 BTC (2020 yılı için öngörülen) arasındaki mutlak fark,
tolere edilebilir görünüyor. Ancak Kasım ayında gerçekleşen 50 ila 25 BTC düşüşünü incelerken
28 2012, madencilik camiasının önemli sayıda üyesi için uygunsuz bulundu. Şekil
Şekil 1, Kasım ayı sonunda ağın hashoranında çarpıcı bir düşüş gösteriyor;
yarılanma gerçekleşti. Bu olay kötü niyetli birey için mükemmel bir an olabilirdi.
proof-of-work işlev bölümünde çift harcama saldırısı [36] gerçekleştirmek için açıklanmıştır.
Şekil 1. Bitcoin hashoran tablosu
(kaynak: http://bitcoin.sipa.be)
2.4
Sabit kodlanmış sabitler
Bitcoin, bazıları orijinal tasarımın doğal unsurları olan birçok sabit kodlanmış sınıra sahiptir (ör.
blok sıklığı, maksimum para arzı miktarı, onay sayısı) ve diğer
yapay kısıtlamalar gibi görünüyor. Hızla değişememe gibi, sınırlar da değil
3
Daha önce açıklanan donanım. Küresel hashoranın önemli ölçüde azaldığını varsayalım.
Bir anlığına artık madencilik gücünü kullanarak zinciri çatallayabilir ve çift harcama yapabilir. Göreceğimiz gibi
Bu makalenin ilerleyen kısımlarında, daha önce anlatılan olayın gerçekleşmesi pek olası değildir.
2.3
Düzensiz emisyon
Bitcoin önceden belirlenmiş bir emisyon oranına sahiptir: çözülen her blok sabit miktarda para üretir.
Yaklaşık her dört yılda bir bu ödül yarıya indirilir. Asıl amaç bir yaratmaktı
üstel bozulma ile sınırlı düzgün emisyon, ancak aslında parçalı doğrusal bir emisyona sahibiz
kesme noktaları Bitcoin altyapısında sorunlara neden olabilecek işlev.
Kırılma noktası oluştuğunda madenciler önceki değerlerinin yalnızca yarısını almaya başlarlar.
ödül. 12,5 ile 6,25 BTC (2020 yılı için öngörülen) arasındaki mutlak fark,
tolere edilebilir görünüyor. Ancak Kasım ayında gerçekleşen 50 ila 25 BTC düşüşünü incelerken
28 2012, madencilik camiasının önemli sayıda üyesi için uygunsuz bulundu. Şekil
Şekil 1, Kasım ayı sonunda ağın hashoranında çarpıcı bir düşüş gösteriyor;
yarılanma gerçekleşti. Bu olay kötü niyetli birey için mükemmel bir an olabilirdi.
proof-of-work işlev bölümünde çift harcama saldırısı [36] gerçekleştirmek için açıklanmıştır.
Şekil 1. Bitcoin hashoran tablosu
(kaynak: http://bitcoin.sipa.be)
2.4
Sabit kodlanmış sabitler
Bitcoin, bazıları orijinal tasarımın doğal unsurları olan birçok sabit kodlanmış sınıra sahiptir (ör.
blok sıklığı, maksimum para arzı miktarı, onay sayısı) ve diğer
yapay kısıtlamalar gibi görünüyor. Hızla değişememe gibi, sınırlar da değil
3
6
Buna bir zombi saldırısı diyelim.
Sürekli emisyonun nasıl olabileceğini tartışalım
zombi saldırısı senaryosunda bir işlemci bir oy ile ilgili.
Tek işlemcinin tek oy olduğu bir dünyada, her cep telefonu ve araba boşta kaldığında madencilik yapıyor olurdu. Bir madencilik çiftliği oluşturmak için yığınla ucuz donanım toplamak çok çok kolay olurdu çünkü
neredeyse her şeyin içinde bir CPU vardır. Öte yandan, bu noktada CPU sayısı
% 51'lik bir saldırı başlatmak için gerekli olanın oldukça şaşırtıcı olacağını düşünüyorum.
Ayrıca,
kesinlikle çünkü ucuz donanım toplamak kolay olacaktır, makul bir şekilde
Pek çok insan CPU ile her şeyi istiflemeye başlıyor. Tek işlemcinin tek oy olduğu bir dünyada silahlanma yarışı
ASIC dünyasına göre mutlaka daha eşitlikçidir.
Bu nedenle ağda bir süreksizlik
Emisyon oranlarından kaynaklanan güvenlik, tek işlemcinin bir oy olduğu bir dünyada DAHA AZ sorun olmalıdır.
Ancak geriye iki gerçek kalıyor: 1) Emisyon oranındaki süreksizlik, emisyon oranında kekemelik etkisine yol açabilir.
hem ekonomi hem de ağ güvenliği açısından kötü, ve 2) %51'lik bir saldırı olmasına rağmen
Ucuz donanım toplayan biri tarafından gerçekleştirilen tek işlemcili bir bilgisayarda da gerçekleşebilir-oy ver dünya,
sanki daha zor olmalı.
Muhtemelen buna karşı önlem, tüm sahtekâr aktörlerin bunu deneyecek olmasıdır
eşzamanlı olarak Bitcoin'nin önceki güvenlik kavramına geri dönüyoruz: "dürüst olmayanlara ihtiyacımız yok
ağın %51'inden fazlasını kontrol eden grup."
Yazar burada bitcoin ile ilgili bir problemin madeni para emisyonundaki süreksizlik olduğunu iddia ediyor
oranı, ağ katılımında ve dolayısıyla ağ güvenliğinde ani düşüşlere neden olabilir. Böylece,
sürekli, farklılaştırılabilir, düzgün bir madeni para emisyon oranı tercih edilir.
Yazar mutlaka hatalı değil. Ağ katılımındaki herhangi bir ani düşüş,
böyle bir soruna yol açıyor ve eğer bunun bir kaynağını ortadan kaldırabiliyorsak bunu kaldırmalıyız. Bunu söyledikten sonra,
Uzun süreli "nispeten sabit" madeni para emisyonunun ani değişikliklerle kesintiye uğraması mümkün
ekonomik açıdan gidilecek ideal yoldur. Ben bir ekonomist değilim. Yani belki biz
Ağ güvenliğini ekonomik bir şeyle takas edip etmeyeceğimize karar vermemiz gerekiyor; burada ne var?
http://arxiv.org/abs/1402.2009Gerektiğinde bunları kullanmak ana dezavantajlara neden olur. Maalesef ne zaman geleceğini tahmin etmek zor.
sabitlerin değiştirilmesi gerekebilir ve bunların değiştirilmesi korkunç sonuçlara yol açabilir.
Felaket sonuçlara yol açan sabit kodlanmış bir limit değişikliğine iyi bir örnek, bloktur.
boyut sınırı 250kb1 olarak ayarlandı. Bu limit yaklaşık 10.000 standart işlemi tutmaya yetiyordu. içinde
2013 yılının başında bu sınıra neredeyse ulaşıldı ve bu limitin artırılması konusunda anlaşmaya varıldı.
Sınır. Değişiklik cüzdan 0.8 sürümünde uygulandı ve 24 blokluk zincir bölünmesiyle sona erdi
ve başarılı bir çift harcama saldırısı [9]. Hata Bitcoin protokolünde olmasa da
bunun yerine veritabanı motorunda, eğer varsa basit bir stres testiyle kolayca yakalanabilirdi.
yapay olarak getirilmiş blok boyutu sınırı yoktur.
Sabitler ayrıca bir tür merkezileştirme noktası görevi görür.
Eşler arası doğasına rağmen
Bitcoin, düğümlerin büyük çoğunluğu tarafından geliştirilen resmi referans istemcisi [10] kullanılıyor
küçük bir grup insan. Bu grup protokolde değişiklik yapılmasına karar verir
ve çoğu insan bu değişiklikleri “doğruluklarına” bakılmaksızın kabul ediyor. Bazı kararlar neden oldu
hararetli tartışmalar ve hatta boykot çağrıları [11], bu da topluluğun ve
geliştiriciler bazı önemli noktalarda aynı fikirde olmayabilir. Bu nedenle bir protokole sahip olmak mantıklı görünüyor
Bu sorunları önlemenin olası bir yolu olarak kullanıcı tarafından yapılandırılabilen ve kendi kendini ayarlayan değişkenler kullanılır.
2.5
Hacimli komut dosyaları
Bitcoin'deki komut dosyası sistemi ağır ve karmaşık bir özelliktir. Potansiyel olarak kişinin yaratmasına izin verir
karmaşık işlemler [12], ancak güvenlik endişeleri nedeniyle bazı özellikleri devre dışı bırakıldı ve
bazıları hiç kullanılmamış bile [13]. Komut dosyası (hem gönderici hem de alıcı kısımları dahil)
Bitcoin'daki en popüler işlem için şuna benzer:
تحليل

5
ولا يعني ذلك أنه من المهم للغاية أن يعيش مليار شخص في العالم على أقل من دولار واحد
اليوم وليس لديهم أمل في المشاركة في أي نوع من شبكات التعدين...ولكنها اقتصادية
العالم الذي يقوده نظام عملة P2P مع وحدة معالجة مركزية واحدة وصوت واحد سيكون، على الأرجح، أكثر
عادلة من نظام مدفوع بالاحتياطي المصرفي الجزئي.
لكن بروتوكول Cryptonote لا يزال يتطلب 51% من المستخدمين الصادقين... انظر، على سبيل المثال، Cryptonote
المنتديات حيث يقول أحد المطورين، بليسكوف، إن هجوم استبدال البيانات التقليدي على blockchain بنسبة 51% لا يزال من الممكن أن يعمل. https://forum.cryptonote.org/viewtopic.php?f=2&t=198
لاحظ أنك لا تحتاج حقًا إلى 51% من المستخدمين الصادقين. أنت فقط بحاجة حقًا إلى "عدم وجود أي شخص غير أمين
فصيل يتمتع بأكثر من 51% من قوة الشبكة."
دعونا نسمي هذه المشكلة المزعومة للبيتكوين "الصلابة التكيفية". حل Cryptonote للتكيف
الصلابة هي المرونة التكيفية في قيم معلمات البروتوكول. إذا كنت بحاجة إلى أحجام كتلة أكبر،
لا توجد مشكلة، ستكون الشبكة قد تم ضبطها بلطف طوال الوقت.
وهذا يعني،
يمكن تكرار الطريقة التي يقوم بها Bitcoin بضبط الصعوبة بمرور الوقت عبر جميع بروتوكولاتنا
المعلمات بحيث لا يلزم الحصول على إجماع الشبكة لتحديث البروتوكول.
ظاهريًا، تبدو هذه فكرة جيدة، ولكن من دون تفكير متأنٍ، فهي بمثابة تعديل ذاتي
يمكن أن يصبح النظام غير متوقع تمامًا وفوضويًا. سننظر في هذا لاحقًا بشكل أكبر
تنشأ الفرص. الأنظمة "الجيدة" تقع في مكان ما بين الصارمة والقابلة للتكيف
مرنة، وربما حتى الصلابة نفسها قابلة للتكيف.
إذا كان لدينا حقًا "صوت واحد لوحدة المعالجة المركزية"، فيجب التعاون وتطوير المجمعات للوصول إلى 51%
سيكون أكثر صعوبة. نتوقع أن تقوم كل وحدة معالجة مركزية في العالم بالتعدين من الهواتف
إلى وحدة المعالجة المركزية الموجودة على متن سيارة Tesla أثناء الشحن.
http://en.wikipedia.org/wiki/Pareto_principle
أزعم أن توازن باريتو أمر لا مفر منه إلى حد ما. إما أن 20% من النظام سوف
تمتلك 80% من وحدات المعالجة المركزية (CPUs)، أو 20% من النظام سيمتلك 80% من ASICs. أفترض ذلك لأن التوزيع الأساسي للثروة في المجتمع يُظهر بالفعل توزيع باريتو،
ومع انضمام عمال المناجم الجدد، يتم استخلاصهم من هذا التوزيع الأساسي.
ومع ذلك، فأنا أزعم أن البروتوكولات التي تحتوي على وحدة معالجة مركزية واحدة وصوت واحد ستشهد عائدًا على الاستثمار على الأجهزة.
كتلة
ستكون المكافأة لكل عقدة أكثر تناسباً مع عدد العقد في الشبكة لأن
سيكون توزيع الأداء عبر العقد أكثر إحكامًا. Bitcoin من جهة أخرى
اليد، ترى مكافأة الكتلة (لكل عقدة) أكثر تناسبًا مع القدرة الحسابية لذلك
عقدة. وهذا يعني أن "الكبار" فقط هم الذين ما زالوا في لعبة التعدين. ومن ناحية أخرى،
على الرغم من أن مبدأ باريتو سيظل قائمًا، في عالم وحدة المعالجة المركزية الواحدة والصوت الواحد، الجميع
يشارك في أمن الشبكات ويكسب القليل من دخل التعدين.
في عالم ASIC، ليس من المعقول تجهيز كل جهاز XBox وهاتف محمول خاص بي.
في عالم صوت واحد واحد، يعد هذا أمرًا معقولًا جدًا من حيث مكافأة التعدين. ونتيجة لذلك،
الحصول على 51% من الأصوات يكون أكثر صعوبة عندما يكون هناك المزيد والمزيد من الأصوات، مما يؤدي إلى نتيجة جميلة.
فائدة لأمن الشبكات..الأجهزة الموصوفة سابقًا. لنفترض أن معدل hashالعالمي ينخفض بشكل كبير، حتى بالنسبة
للحظة، يمكنه الآن استخدام قوة التعدين الخاصة به لتقسيم السلسلة والإنفاق المزدوج. كما سنرى
لاحقًا في هذه المقالة، ليس من غير المحتمل حدوث الحدث الموصوف مسبقًا.
2.3
انبعاث غير منتظم
Bitcoin له معدل انبعاث محدد مسبقًا: كل كتلة تم حلها تنتج كمية ثابتة من العملات المعدنية.
كل أربع سنوات تقريبًا يتم تخفيض هذه المكافأة إلى النصف. كان الهدف الأصلي هو إنشاء ملف
انبعاث سلس محدود مع اضمحلال أسي، ولكن في الواقع لدينا انبعاث خطي متعدد التعريف
الوظيفة التي قد تتسبب نقاط توقفها في حدوث مشكلات للبنية الأساسية Bitcoin.
عند حدوث نقطة التوقف، يبدأ المعدنون في تلقي نصف قيمة النقطة السابقة فقط
مكافأة. قد يكون الفرق المطلق بين 12.5 و6.25 بيتكوين (المتوقع لعام 2020)
يبدو مقبولا. ومع ذلك، عند فحص الانخفاض بمقدار 50 إلى 25 بيتكوين الذي حدث في نوفمبر
28 سبتمبر 2012، شعرت بأنها غير مناسبة لعدد كبير من أعضاء مجتمع التعدين. الشكل
يُظهر الشكل 1 انخفاضًا كبيرًا في معدل hash للشبكة في نهاية شهر نوفمبر، بالضبط عندما
حدث النصف. كان من الممكن أن يكون هذا الحدث هو اللحظة المثالية للفرد الخبيث
الموضحة في قسم الوظيفة proof-of-work لتنفيذ هجوم الإنفاق المزدوج [36].
الشكل 1. Bitcoin hashمخطط الأسعار
(المصدر: http://bitcoin.sipa.be)
2.4
الثوابت الثابتة
يحتوي Bitcoin على العديد من الحدود المشفرة، حيث يكون بعضها عناصر طبيعية للتصميم الأصلي (على سبيل المثال.
تردد الكتلة، الحد الأقصى لمبلغ المعروض النقدي، عدد التأكيدات) في حين أن غيرها
يبدو أنها قيود مصطنعة. إنها ليست الحدود بقدر ما هي عدم القدرة على التغيير بسرعة
3
الأجهزة الموصوفة سابقًا. لنفترض أن معدل hashالعالمي ينخفض بشكل ملحوظ، حتى بالنسبة
للحظة، يمكنه الآن استخدام قوة التعدين الخاصة به لتقسيم السلسلة والإنفاق المزدوج. كما سنرى
لاحقًا في هذه المقالة، ليس من غير المحتمل حدوث الحدث الموصوف مسبقًا.
2.3
انبعاث غير منتظم
Bitcoin له معدل انبعاث محدد مسبقًا: كل كتلة تم حلها تنتج كمية ثابتة من العملات المعدنية.
كل أربع سنوات تقريبًا يتم تخفيض هذه المكافأة إلى النصف. كان الهدف الأصلي هو إنشاء ملف
انبعاث سلس محدود مع اضمحلال أسي، ولكن في الواقع لدينا انبعاث خطي متعدد التعريف
الوظيفة التي قد تتسبب نقاط توقفها في حدوث مشكلات للبنية الأساسية Bitcoin.
عند حدوث نقطة التوقف، يبدأ المعدنون في تلقي نصف قيمة النقطة السابقة فقط
مكافأة. قد يكون الفرق المطلق بين 12.5 و6.25 بيتكوين (المتوقع لعام 2020)
يبدو مقبولا. ومع ذلك، عند فحص الانخفاض بمقدار 50 إلى 25 بيتكوين الذي حدث في نوفمبر
28 سبتمبر 2012، شعرت بأنها غير مناسبة لعدد كبير من أعضاء مجتمع التعدين. الشكل
يُظهر الشكل 1 انخفاضًا كبيرًا في معدل hash للشبكة في نهاية شهر نوفمبر، بالضبط عندما
حدث النصف. كان من الممكن أن يكون هذا الحدث هو اللحظة المثالية للفرد الخبيث
الموصوفة في قسم الوظيفة proof-of-work لتنفيذ هجوم الإنفاق المزدوج [36].
الشكل 1. Bitcoin hashمخطط الأسعار
(المصدر: http://bitcoin.sipa.be)
2.4
الثوابت الثابتة
يحتوي Bitcoin على العديد من الحدود المشفرة، حيث يكون بعضها عناصر طبيعية للتصميم الأصلي (على سبيل المثال.
تردد الكتلة، الحد الأقصى لمبلغ المعروض النقدي، عدد التأكيدات) في حين أن غيرها
يبدو أنها قيود مصطنعة. إنها ليست الحدود بقدر ما هي عدم القدرة على التغيير بسرعة
3
6
دعونا نسمي هذا كما هو، هجوم الزومبي.
دعونا نناقش كيف يمكن أن يكون الانبعاث المستمر
تتعلق بصوت واحد لوحدة المعالجة المركزية (CPU) في سيناريو هجوم الزومبي.
في عالم وحدة المعالجة المركزية الواحدة والصوت الواحد، سيتم تعدين كل هاتف محمول وسيارة، عندما يكون خاملاً. سيكون جمع أكوام من الأجهزة الرخيصة لإنشاء مزرعة تعدين أمرًا سهلاً للغاية، لأنه فقط
حول كل شيء يحتوي على وحدة المعالجة المركزية فيه. من ناحية أخرى، في تلك المرحلة، عدد وحدات المعالجة المركزية
أعتقد أن المطلوب لشن هجوم بنسبة 51٪ سيكون أمرًا مذهلاً للغاية.
علاوة على ذلك،
على وجه التحديد لأنه سيكون من السهل جمع الأجهزة الرخيصة، يمكننا أن نتوقع بشكل معقول أ
يبدأ الكثير من الأشخاص في تخزين أي شيء باستخدام وحدة المعالجة المركزية. سباق التسلح في عالم وحدة المعالجة المركزية والصوت الواحد
هو بالضرورة أكثر مساواة مما هو عليه في عالم ASIC.
وبالتالي انقطاع في الشبكة
يجب أن يكون الأمن الناتج عن معدلات الانبعاثات أقل مشكلة في عالم وحدة المعالجة المركزية الواحدة والصوت الواحد.
ومع ذلك، تبقى حقيقتان: 1) يمكن أن يؤدي التوقف في معدل الانبعاثات إلى تأثير متعثر في
الاقتصاد وأمن الشبكات على حد سواء، وهو أمر سيء، و2) على الرغم من هجوم 51٪
لا يزال من الممكن أن يتم إجراؤها بواسطة شخص يجمع أجهزة رخيصة في وحدة معالجة مركزية واحدة- عالم التصويت،
يبدو أنه ينبغي أن يكون أصعب.
ومن المفترض أن الضمانة ضد ذلك هي أن جميع الممثلين غير الشرفاء سيحاولون ذلك
في نفس الوقت، ونعود إلى المفهوم الأمني السابق لـ Bitcoin: "نحن لا نطلب أي غش أو خداع
فصيل للسيطرة على أكثر من 51% من الشبكة."
يدعي المؤلف هنا أن إحدى مشكلات البيتكوين هي عدم استمرار إصدار العملة
قد يؤدي هذا المعدل إلى انخفاض مفاجئ في مشاركة الشبكة، وبالتالي أمان الشبكة. وهكذا،
يفضل أن يكون معدل انبعاث العملة مستمرًا وقابلاً للتمييز وسلسًا.
المؤلف ليس مخطئا بالضرورة. أي نوع من الانخفاض المفاجئ في مشاركة الشبكة يمكن أن يحدث
يؤدي إلى مثل هذه المشكلة، وإذا تمكنا من إزالة مصدر واحد منها، فيجب علينا ذلك. وقد قلت ذلك، انها
من المحتمل أن فترات طويلة من انبعاث العملة "الثابتة نسبيًا" تتخللها تغيرات مفاجئة
هي الطريقة المثالية للذهاب من وجهة نظر اقتصادية. أنا لست خبيرا اقتصاديا. لذا، ربما نحن
يجب أن نقرر ما إذا كنا سنستبدل أمن الشبكات بشيء اقتصادي، ماذا يوجد هنا؟
http://arxiv.org/abs/1402.2009لهم إذا لزم الأمر أن يسبب العيوب الرئيسية. لسوء الحظ، من الصعب التنبؤ بموعد حدوث ذلك
فقد تكون هناك حاجة إلى تغيير الثوابت، واستبدالها قد يؤدي إلى عواقب وخيمة.
من الأمثلة الجيدة على تغيير الحد المضمن الذي يؤدي إلى عواقب وخيمة هو الحظر
تم ضبط الحد الأقصى للحجم على 250 كيلو بايت1. وكان هذا الحد كافيا لإجراء حوالي 10000 معاملة قياسية. في
في أوائل عام 2013، كان هذا الحد قد تم الوصول إليه تقريبًا وتم التوصل إلى اتفاق لزيادة
الحد. تم تنفيذ التغيير في إصدار المحفظة 0.8 وانتهى بتقسيم سلسلة مكونة من 24 كتلة
وهجوم الإنفاق المزدوج الناجح [9]. في حين أن الخلل لم يكن في بروتوكول Bitcoin، ولكن
بل كان من الممكن اكتشافه بسهولة في محرك قاعدة البيانات عن طريق اختبار ضغط بسيط إذا كان هناك ذلك
لا يوجد حد لحجم الكتلة تم تقديمه بشكل مصطنع.
تعمل الثوابت أيضًا كشكل من أشكال نقطة المركزية.
على الرغم من طبيعة الند للند
Bitcoin، تستخدم الغالبية العظمى من العقد العميل المرجعي الرسمي [10] الذي تم تطويره بواسطة
مجموعة صغيرة من الناس. تتخذ هذه المجموعة القرار بتنفيذ التغييرات على البروتوكول
ومعظم الناس يقبلون هذه التغييرات بغض النظر عن "صحتها". تسببت بعض القرارات
نقاشات ساخنة وحتى دعوات للمقاطعة [11] مما يدل على أن المجتمع و
قد يختلف المطورون حول بعض النقاط المهمة. ولذلك يبدو من المنطقي أن يكون هناك بروتوكول
مع المتغيرات القابلة للتكوين والضبط الذاتي بواسطة المستخدم كطريقة ممكنة لتجنب هذه المشكلات.
2.5
مخطوطات ضخمة
يعد نظام البرمجة النصية في Bitcoin ميزة ثقيلة ومعقدة. من المحتمل أن يسمح للمرء بالإبداع
المعاملات المعقدة [12]، ولكن تم تعطيل بعض ميزاته بسبب مخاوف أمنية و
بعضها لم يتم استخدامه مطلقًا [13]. البرنامج النصي (بما في ذلك أجزاء المرسلين والمستقبلين)
تبدو المعاملة الأكثر شيوعًا في Bitcoin كما يلي: