ETHShanghai 2023 zirvesinde Axiom'un kurucusu Yi Sun, Ethereum'un ZK yardımcı işlemcisi Axiom'u ve bunun veri erişimi ve bilgi işlem gücü açısından önemini tanıttı. Axiom, Yansıma işlemi konsepti aracılığıyla veri erişiminin ve hesaplamanın genişletilmesini gerçekleştirir ve karma zinciri doğrulayarak ve önbelleği koruyarak sorgunun geçerliliğini gerçekleştirir. Axiom uygulamaları, yüksek maliyetli uygulamaları, daha büyük veri erişimini, geçmiş veri yönetimi protokollerine dayalı uygulamaları ve daha fazlasını içerir. Axiom aracılığıyla, akıllı sözleşmeler daha geniş veri ve bilgi işlem gücü elde ederek Ethereum uygulamalarının gelişimini daha da teşvik edebilir.
Aşağıdaki metin Yi Sun'ın konuşmasının Çince çevirisidir ve bağlantı canlı videodur:
Öncelikle, kullanıcının Ethereum bilgilerine erişme yolculuğunu anlayalım. Ethereum'u ilk kullandığımızda, zincirde olup bitenler hakkında bilgi alma şeklimiz, ek açıklamaları arşivlemek için JSON-RPC çağrılarıydı. JSON-RPC API'sinin amacı, aslında kullanıcıya zincir üstü geçmiş hakkında bilgi sunmaktır. Temel olarak, blok zinciri hakkında gördüğümüz tüm bilgiler bu API çağrılarından çıkarılır ve kullanıcının okuması için web sitesinde bir giriş olarak sunulur.
Şimdi, kullanıcılar blok zinciri ile etkileşimde daha ustalaştıkça, zincirin giderek daha karmaşık görünümlerine ihtiyaç duymaya başlıyoruz. Bu nedenle, farklı kullanıcı değiş tokuşları için farklı türde arşiv düğümleri geliştirilmektedir. Yani Geth, Erigon, Nethermind ve şimdi de Reth vardı. Kendi ihtiyaçlarımıza göre en uygun arşiv düğümünü seçebiliriz.
Kullanıcılar ayrı bir JSON-RPC API'sinden memnun kalmazlarsa, işlemleri takip ederken sonradan işleme uygulamak için bir indeksleyici seçilebilir. Farklı uygulamalar için kullanıcılar The Graph veya Covalent'ten döndürülen verilerle ilgilenebilir.
Daha yakın zamanlarda, arşiv düğümlerinin üzerinde işlem simülasyonu sunan cüzdanlar ve diğer ürünler de ortaya çıktı. Bu, sanal bir işlemi gerçekleştirmeden önce gerçek sonucunu görebileceğimiz anlamına gelir. Genel olarak, son kullanıcılar olarak, Ethereum ile etkileşim şeklimiz, okuduğumuz verilere ek olarak daha fazla hesaplama kullanarak daha karmaşık hale geliyor.
Şimdi bir kullanıcının bakış açısıyla değil de Ethereum üzerindeki bir akıllı sözleşmenin bakış açısıyla düşünürsek. Tabii ki, sözleşmeler de verilere erişebilmek ve bunlar üzerinde hesaplamalar yapabilmek istiyor, ancak bu daha zorlayıcı. Aslında, OpenSea'ye gidip CryptoPunk listesine bakarsak, sayfadaki tüm bilgilerin zincirdeki akıllı sözleşmede yalnızca küçük bir kısmına erişilebildiğini görürüz.
Aslında, CryptoPunk listeleri için bu bilgi yalnızca mevcut sahipler içindir. Elbette sayfada başka birçok bilgi var ancak geçmişe dönük transfer bilgileri, geçmiş fiyatlara ve tarihsel sahiplere ilişkin tüm bilgiler aslında geçmiş tarihe ait olduğu için akıllı sözleşmeye erişilemez. Bu geçmişler, zincir üstü bilgileri oluşturur, ancak akıllı sözleşmeler için mevcut değildir, çünkü işlemleri doğrulamak için her tam Ethereum düğümünü bu bilgiyi rastgele erişiminde tutmaya zorlamaktan kaçınmamız gerekir.
Ayrıca, herhangi bir blok zinciri geliştiricisinin size söyleyebileceği gibi, zincir üzerinde hesaplamalar yapmak aşırı derecede pahalıdır, ancak Ethereum nispeten verimli sanal makine (VM) işlemlerine sahiptir ve ön derleme, belirli işlem türlerini daha ucuz hale getirir. Örneğin, Ethereum, BN254 eğrisi üzerindeki eliptik eğri işlemleri için nispeten ucuz destek sağlar. Ancak, bazı özel uygulamalar için Ethereum Virtual Machine hala çok pahalı bir çalıştırma ortamıdır. Bir blok zinciri sanal makinesi tasarlarken, her bir düğümün işlemleri tutarlı bir zamanda doğrulayabilmesini sağlamak için dikkatli bir şekilde ölçülmesi gereken doğal bir dizi işlem seçilmelidir. Ek olarak, en kötü durum güvenliği ve konsensüs kararlılığı da dikkate alınmalıdır. Dolayısıyla buradaki zorluk, zincir üstü uygulamalar için uygulamaya özel ölçeklendirmenin nasıl uygulanacağıdır. Axiom, farklı uygulamaların genişleme ihtiyaçlarını karşılamak için akıllı sözleşmeler için veri erişimini ve bilgi işlem yeteneklerini genişletmeyi hedefliyor.
Axiom'un inşa ettiği şey, Ethereum Yardımcı İşlemcisi (ZK Yardımcı İşlemcisi) olarak adlandırdığı şeydir; bu, belirli akıllı sözleşmelerin, veri okumalarını ve doğrulanabilir hesaplamaları Axiom'a devredebilmeleri için zincir dışı sistemimize güvenle devretmelerine izin verir. Axiom'a bir sorgu göndermek için akıllı bir sözleşme, zincir üstü sistemimize bir işlem gönderebilir. Çevrimdışı düğümümüz işlemi alacak ve Ethereum'un geçmiş sorgusuna dayalı bir sonuç üretecek ve sonucun doğruluğunu kanıtlamak için sıfır bilgi kanıtı ekleyecektir. Son olarak, sonuçları zincir üzerinde doğrularız ve sonuçları güvenilir bir şekilde aşağı akışlı akıllı sözleşmelere iletiriz.
Bu, bir bilgisayardaki CPU'nun hesaplamayı GPU'ya devretmesine ve bilindiğinde sonuçları geri getirmesine benzer. Bu kavram, ilk günlerde yardımcı işlemci (Coprocesso) olarak adlandırıldı. Slaytta, Axiom'un yaptığına benzer, 1990'ların başından kalma gelişmiş bir matematik yardımcı işlemcisinin görüntüsünü gösteriyorum.
Axiom'un ne tür işlemler gerçekleştirebileceği konusunda fikir edinebiliriz. Axiom'a yapılan her sorgu üç bölüme ayrılabilir.
İlki, Axiom sorgularının nasıl girildiği okuma kısmıdır - zincir üzerindeki tarihsel verileri güvenilir bir şekilde okuyabiliriz.
İkinci kısım, bu veriler üzerinde doğrulama hesaplamaları yapabileceğimizdir. Bu, bazı sayıların toplanması, maksimum veya minimumun bulunması gibi temel analizden daha karmaşık hesaplamalara kadar başlayabilir. Örneğin, kriptografiden bazı imza toplama veya doğrulama ve hatta belirli itibar algoritmalarının zincirdeki sosyal veriler üzerinde çalışmasının doğrulanması veya finansal uygulamalarda belirli makine öğrenimi algoritmalarının kullanılması gibi sıfır bilgiye dayalı makine öğrenimi. Son olarak, sanal makineler aracılığıyla programlanabilir bilgi işlem bileşik işlevleri sağlayacağız.
Son kısım, okuma ve hesaplama adımlarından sonra, bir sonuç alırız ve bu sonucu her zaman, sonucun hesaplanmasının geçerli olduğuna dair sıfır bilgili bir kanıtla eşleştiririz. Bu nedenle, bu kanıtı Ethereum akıllı sözleşmesinde doğrularız ve ardından sonucu sözleşme tarafından kullanılmak üzere saklarız.
Axiom tarafından döndürülen tüm sonuçlar aslında sıfır bilgi kanıtlarıyla doğrulandığından, bu, Axiom tarafından döndürülen her şeyin güvenliğinin kriptografik olarak Ethereum'un kendisininkine eşdeğer olduğu anlamına gelir. Axiom'un felsefesi, kullanıcılara halihazırda Ethereum kullanırken sahip oldukları kriptografik varsayımların ötesinde herhangi bir ek varsayım empoze etmek istemememizdir.
Daha sonra, konuşmanın başlığında belirtilen Yansıma işlemi kavramını içeren uygulama ilkesini ayrıntılı olarak tanıtacağım. Hepsini mümkün kılan temel ilke, blok zincirindeki her bloğun eksiksiz bir geçmiş içermesidir. Mevcut Ethereum bloğundan başlayabilir ve ilgilendiğimiz önceki bloklara geri dönebiliriz. Geçmiş blok ile mevcut blok arasındaki tüm blok başlıklarını alarak ve bu blok başlıklarının hash zincirini doğrulayarak, geçmiş bloğun mevcut bloğa bağlılığını fiilen tersine çevirebiliriz.
Peki Düşünmenin faydaları nelerdir?
Mevcut Ethereum'un bir bloğunu alıp ilgilendiğimiz önceki bir bloğa geri dönebiliriz. Geçmiş blok ile mevcut blok arasındaki blok başlıklarını alırsak, bu blok başlıkları arasındaki hash yolunu doğrulayarak geçmiş bloğun taahhüdünü mevcut bloğa tersine çevirebiliriz. Ardından, geçmiş bir bloktan bazı bilgilerle ilgilenirsek, o bloğun taahhüdüne dahil edildiğine dair bir kanıt verebiliriz. Spesifik olarak bu, bilginin bloğun durum trie'sinde, işlem trie'sinde veya makbuz trie'sinde var olduğuna dair bir Merkle Patricia Trie kanıtı olabilir. EVM'de, en azından prensip olarak, zincirdeki herhangi bir geçmiş bilgiye yalnızca son blok sağlama bilgileri aracılığıyla erişilebilir.
Ne yazık ki, bunu EVM'de yapmak pahalıdır. Az önce bahsedildiği gibi, büyük miktarda veri üzerinde birçok Keccak karma hesaplaması içeren tüm blok başlıklarının karma zincirlerini ve Merkle kanıtlarını doğrulamanız gerekir. Yani zamanda geriye gittiğinizde, çok zor hale gelir. Bu nedenle EVM'de bu ispatı ZK ile sararak Reflection işlemini uyguluyoruz. Bu nedenle, tüm geçmiş blok başlıklarını ve tüm bu Merkle kanıtlarını zincire koymak ve ardından doğrulamak yerine, geçmiş blok başlıklarının bir dizisinin ve bazı doğrulayıcı kanıtların olup olmadığını sıfır bilgide kontrol ederiz.
Bunun iki avantajı vardır. İlk olarak, bizi çağrı verilerine kanıt verileri koymak zorunda kalmaktan kurtarır. İkincisi, ZK kullanılmadan düşünülemeyecek olan ispatları toplamamıza izin verir. Buradaki fikir, Ethereum'daki herhangi bir sayıda hesaplamayı doğrularken gas maliyetinin sabitlenmesidir, bu nedenle büyük miktarda tarihsel veri erişimini doğrulamak için tek bir ZK kanıtı kullanabiliriz.
ZK tabanlı Reflection operasyon konseptinin ödünleşimlerine kısaca değinmeme izin verin.
Verilere erişmenin iki yolu vardır. Birincisi, daha önce bildiğiniz yoldur - Ethereum'daki verilere doğrudan akıllı sözleşmeden erişebilirsiniz. Bu, erişimin senkronize olması gibi çok büyük bir avantaja sahiptir. Bu nedenle, mevcut değeri almak için doğrudan akıllı sözleşmedeki okuma işlevini çağırabilirsiniz. Örneğin, Uniswap'te işlem yaptığınızda bu eşzamanlılığa ihtiyacınız var. Bununla birlikte, birçok sınırlaması da vardır. Bilgi işlem gücünüz yakıt maliyetleriyle sınırlıdır ve herhangi bir geçmiş veriye erişiminiz yoktur.
İkincisi, ZK'nin Ethereum'a yansıtma yeteneğinden yararlanmak istiyorsanız, erişiminizin doğru olduğuna dair kanıtlar oluşturmanız gerektiğinden, bunu eşzamanlı olarak yapmanın bir yolu yoktur. Dolayısıyla, mevcut zincir üstü duruma doğrudan erişim yoktur, çünkü bir durumu kanıtlamanız gerekir.
Öte yandan, geçmiş verilere eşzamansız olarak erişmenize izin verirseniz, ona neredeyse sınırsız hesaplama uygulayabilir ve çok büyük miktarda veriye erişebilirsiniz. Bu nedenle, senkronizasyon kavramı gevşetilerek, ZK tabanlı Reflection operasyonel veri erişimi büyük ölçüde genişletilebilir.
Daha sonra Axiom aracılığıyla Yansıma işlemlerini nasıl uygulayacağımıza bakacağız.
İlk olarak, akıllı sözleşmemizde önceki tüm blokların önbelleğini tutmamız gerekiyor. EVM'de, son 256 blok sağlama yerel olarak mevcuttur. Her 1024 blokluk partide, bir önceki partinin son bloğunun hash'inin bir sonraki blokta işlendiğini kanıtlayabiliriz. Benzer şekilde, bir önceki partideki sondan ikinci bloğun hash'i son blokta işlenir ve bu böyle devam eder. Bu nedenle, sıfır bilgi ile bu karma zinciri doğrulayabilir ve bu karma zincirin geçerliliğini kanıtlayabiliriz.
Bu, en son bloktan başlayarak genesis bloğuna kadar blok karmalarını önbelleğe almamızı sağlar. Aslında bunu, genesis bloğundan her 1024 blok sağlamada bir önbelleğe alınmış Merkle yolları içeren ana ağ akıllı sözleşmemizde uyguladık.
Eklediğimiz bir diğer özellik ise Merkle Sıradağları. Sınırlı bir DNA'da Ethereum'daki her blok karmasına referans vermemizi sağlayan bir veri yapısı olan bu blok hash önbelleğinin üzerine inşa edilmiştir.
Önbelleği oluşturduktan sonra, önbellekteki blokları doğrulayarak Axiom'u sorgulayabiliriz. Bunun işe yaraması için, erişmeye çalıştığımız Ethereum geçmişindeki her veri parçasının aslında bir bloğun önbelleğinde olmaya kararlı olduğunu kanıtlamalıyız. İkincisi, bu sorguda yaptığımız tüm hesaplamaların doğru olduğunu kanıtlamamız gerekiyor. Bunu zincir üzerinde kontrol etmek için sıfır bilgi kanıtının geçerliliğini doğrularız. Ayrıca zincire kaydettiğimiz bilgilerle ilişkili olup olmadığını da kontrol ederiz. Önbelleklerimizde veya blok önbelleklerimizde her zaman güven oluştururuz ve bu blok önbelleklerdeki bilgileri sıfır bilgi kanıtlarında halka açık bilgilerle eşleştiririz.
Şimdi tasavvur edilen Reflection operasyonunun olası uygulamalarından bahsedelim.
Yatay eksen, veri karmaşıklığını, yani uygulamayı uygulamak için gerçekte ne kadar veriye erişilmesi gerektiğini temsil eder. Dikey eksen, görevi tamamlamak için gerçekte ne kadar hesaplama kaynağının uygulanması gerektiğini gösteren hesaplama karmaşıklığını temsil eder.
Bu nedenle, ilk uygulama türü, Axiom veya herhangi bir Reflection işlem mekanizmasının Ethereum üzerinde uygulanabileceği, ancak maliyetinin biraz daha yüksek olduğu bir uygulamadır.
Bunun bazı örnekleri arasında Ethereum mutabakat katmanındaki blok başlıklarından mutabakat dereceli nonce'ların okunması, geçmiş hesap yaşlarının doğrulanması veya geçmiş fiyat bilgilerinden farklı kehanet verilerinin okunması yer alır. EVM'de bu uygulamaları hayata geçirmek için çeşitli çözümler kullanılabilir ancak bu çözümler sıfır bilgi içerisine yerleştirilerek verimlilik arttırılabilir.
Şimdi, genellikle daha fazla veri erişimi ve dolayısıyla daha fazla hesaplama gerektiren başka bir uygulama sınıfı var. Bence ZK yardımcı işlemcisi kullanılmadan bu uygulamalar mümkün olmazdı.
Örnek olarak, ilginç bir uygulama, etkileşim için sıfır bilgi kullanarak Ethereum'daki bir Toplama'nın temel katmanın durumunu veya başka bir Toplama'yı güvenilir bir şekilde okumasına izin vermektir. Böyle bir uygulama, Toplamaların ERC20 belirteçlerinin tam bakiye anlık görüntülerini okumasına izin vermek olabilir.
Dikkatimizi depolamadan hesapların işlem geçmişine çevirirsek, Ethereum adreslerinin tüm geçmişini kaydederek güvenilir bir itibar, kimlik veya kredi puanlama sistemi oluşturduğunuzu hayal edebilirsiniz. Bu, kredi puanlaması için veya size bir tür zincir üstü DAO'ya erişim sağlamak veya özel NFT'ler yayınlamak için erişim sağlamak için kullanılabilir.
Protokolü fiilen yönetmek için zincir üzerindeki geçmiş verileri kullanan bir uygulama sınıfı da vardır. Genel olarak sözleşme muhasebesi olarak bilinir.
Buradaki fikir, protokollerin katılımcıların davranışlarını koordine etmek için var olduğu ve koordinasyonun temel ilkesinin, katılımcıları davranışlarından dolayı ödüllendirme veya cezalandırma yeteneği olduğudur. Ethereum'daki birçok protokole bakarsanız, katılımcıların eylemlerinin kaydı aslında tamamen zincir üzerinde tutulur. Bu nedenle, Axiom ile, protokol katılımcılarının tüm eylemlerine dayanarak, protokolün ödeme yapısını belirleyebileceğini veya hatta katılımcılara bir tür ceza uygulayabileceğini hayal edebiliyoruz ki bunun, protokolün tasarım alanını gerçekten genişletebileceğini düşünüyoruz. uygulamalar.
Son olarak, hesaplama düzeyini gerçekten yükseltirsek, zincir üzerindeki parametreleri ayarlamak için makine öğrenimi modellerini kullanmanın çok ilginç olabileceğini düşünüyoruz. Geleneksel finansal uygulamaları düşünürseniz, fiyat verileri, ekonomik veriler vb. gibi büyük miktarda tarihsel verilere dayalı olarak karmaşık gelecek parametrelerini modellemek çok yaygındır. Ve mevcut DeFi'ye baktığımızda, o seviyeye ulaşmaktan çok uzak. DeFi'nin geleneksel finansla tam olarak aynı şekilde çalışması gerektiğini düşünmüyorum, ancak bazı tarihsel veritabanlarını ve makine öğrenimine dayalı modelleri ve bilgileri enjekte etmenin daha dinamik bir DeFi protokolü oluşturmaya yardımcı olabileceğini düşünüyoruz.
Bunlar, Yansıma işlemlerinin blok zincirine neler getirebileceğine dair yalnızca birkaç fikir.
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Ethereum ZK yardımcı işlemci Axiom'un teknik avantajlarının ortadan kaldırılması
Öncelikle, kullanıcının Ethereum bilgilerine erişme yolculuğunu anlayalım. Ethereum'u ilk kullandığımızda, zincirde olup bitenler hakkında bilgi alma şeklimiz, ek açıklamaları arşivlemek için JSON-RPC çağrılarıydı. JSON-RPC API'sinin amacı, aslında kullanıcıya zincir üstü geçmiş hakkında bilgi sunmaktır. Temel olarak, blok zinciri hakkında gördüğümüz tüm bilgiler bu API çağrılarından çıkarılır ve kullanıcının okuması için web sitesinde bir giriş olarak sunulur.
Şimdi, kullanıcılar blok zinciri ile etkileşimde daha ustalaştıkça, zincirin giderek daha karmaşık görünümlerine ihtiyaç duymaya başlıyoruz. Bu nedenle, farklı kullanıcı değiş tokuşları için farklı türde arşiv düğümleri geliştirilmektedir. Yani Geth, Erigon, Nethermind ve şimdi de Reth vardı. Kendi ihtiyaçlarımıza göre en uygun arşiv düğümünü seçebiliriz.
Kullanıcılar ayrı bir JSON-RPC API'sinden memnun kalmazlarsa, işlemleri takip ederken sonradan işleme uygulamak için bir indeksleyici seçilebilir. Farklı uygulamalar için kullanıcılar The Graph veya Covalent'ten döndürülen verilerle ilgilenebilir.
Daha yakın zamanlarda, arşiv düğümlerinin üzerinde işlem simülasyonu sunan cüzdanlar ve diğer ürünler de ortaya çıktı. Bu, sanal bir işlemi gerçekleştirmeden önce gerçek sonucunu görebileceğimiz anlamına gelir. Genel olarak, son kullanıcılar olarak, Ethereum ile etkileşim şeklimiz, okuduğumuz verilere ek olarak daha fazla hesaplama kullanarak daha karmaşık hale geliyor.
Şimdi bir kullanıcının bakış açısıyla değil de Ethereum üzerindeki bir akıllı sözleşmenin bakış açısıyla düşünürsek. Tabii ki, sözleşmeler de verilere erişebilmek ve bunlar üzerinde hesaplamalar yapabilmek istiyor, ancak bu daha zorlayıcı. Aslında, OpenSea'ye gidip CryptoPunk listesine bakarsak, sayfadaki tüm bilgilerin zincirdeki akıllı sözleşmede yalnızca küçük bir kısmına erişilebildiğini görürüz.
Aslında, CryptoPunk listeleri için bu bilgi yalnızca mevcut sahipler içindir. Elbette sayfada başka birçok bilgi var ancak geçmişe dönük transfer bilgileri, geçmiş fiyatlara ve tarihsel sahiplere ilişkin tüm bilgiler aslında geçmiş tarihe ait olduğu için akıllı sözleşmeye erişilemez. Bu geçmişler, zincir üstü bilgileri oluşturur, ancak akıllı sözleşmeler için mevcut değildir, çünkü işlemleri doğrulamak için her tam Ethereum düğümünü bu bilgiyi rastgele erişiminde tutmaya zorlamaktan kaçınmamız gerekir.
Ayrıca, herhangi bir blok zinciri geliştiricisinin size söyleyebileceği gibi, zincir üzerinde hesaplamalar yapmak aşırı derecede pahalıdır, ancak Ethereum nispeten verimli sanal makine (VM) işlemlerine sahiptir ve ön derleme, belirli işlem türlerini daha ucuz hale getirir. Örneğin, Ethereum, BN254 eğrisi üzerindeki eliptik eğri işlemleri için nispeten ucuz destek sağlar. Ancak, bazı özel uygulamalar için Ethereum Virtual Machine hala çok pahalı bir çalıştırma ortamıdır. Bir blok zinciri sanal makinesi tasarlarken, her bir düğümün işlemleri tutarlı bir zamanda doğrulayabilmesini sağlamak için dikkatli bir şekilde ölçülmesi gereken doğal bir dizi işlem seçilmelidir. Ek olarak, en kötü durum güvenliği ve konsensüs kararlılığı da dikkate alınmalıdır. Dolayısıyla buradaki zorluk, zincir üstü uygulamalar için uygulamaya özel ölçeklendirmenin nasıl uygulanacağıdır. Axiom, farklı uygulamaların genişleme ihtiyaçlarını karşılamak için akıllı sözleşmeler için veri erişimini ve bilgi işlem yeteneklerini genişletmeyi hedefliyor.
Axiom'un inşa ettiği şey, Ethereum Yardımcı İşlemcisi (ZK Yardımcı İşlemcisi) olarak adlandırdığı şeydir; bu, belirli akıllı sözleşmelerin, veri okumalarını ve doğrulanabilir hesaplamaları Axiom'a devredebilmeleri için zincir dışı sistemimize güvenle devretmelerine izin verir. Axiom'a bir sorgu göndermek için akıllı bir sözleşme, zincir üstü sistemimize bir işlem gönderebilir. Çevrimdışı düğümümüz işlemi alacak ve Ethereum'un geçmiş sorgusuna dayalı bir sonuç üretecek ve sonucun doğruluğunu kanıtlamak için sıfır bilgi kanıtı ekleyecektir. Son olarak, sonuçları zincir üzerinde doğrularız ve sonuçları güvenilir bir şekilde aşağı akışlı akıllı sözleşmelere iletiriz.
Bu, bir bilgisayardaki CPU'nun hesaplamayı GPU'ya devretmesine ve bilindiğinde sonuçları geri getirmesine benzer. Bu kavram, ilk günlerde yardımcı işlemci (Coprocesso) olarak adlandırıldı. Slaytta, Axiom'un yaptığına benzer, 1990'ların başından kalma gelişmiş bir matematik yardımcı işlemcisinin görüntüsünü gösteriyorum.
Axiom'un ne tür işlemler gerçekleştirebileceği konusunda fikir edinebiliriz. Axiom'a yapılan her sorgu üç bölüme ayrılabilir.
İlki, Axiom sorgularının nasıl girildiği okuma kısmıdır - zincir üzerindeki tarihsel verileri güvenilir bir şekilde okuyabiliriz.
İkinci kısım, bu veriler üzerinde doğrulama hesaplamaları yapabileceğimizdir. Bu, bazı sayıların toplanması, maksimum veya minimumun bulunması gibi temel analizden daha karmaşık hesaplamalara kadar başlayabilir. Örneğin, kriptografiden bazı imza toplama veya doğrulama ve hatta belirli itibar algoritmalarının zincirdeki sosyal veriler üzerinde çalışmasının doğrulanması veya finansal uygulamalarda belirli makine öğrenimi algoritmalarının kullanılması gibi sıfır bilgiye dayalı makine öğrenimi. Son olarak, sanal makineler aracılığıyla programlanabilir bilgi işlem bileşik işlevleri sağlayacağız.
Son kısım, okuma ve hesaplama adımlarından sonra, bir sonuç alırız ve bu sonucu her zaman, sonucun hesaplanmasının geçerli olduğuna dair sıfır bilgili bir kanıtla eşleştiririz. Bu nedenle, bu kanıtı Ethereum akıllı sözleşmesinde doğrularız ve ardından sonucu sözleşme tarafından kullanılmak üzere saklarız.
Axiom tarafından döndürülen tüm sonuçlar aslında sıfır bilgi kanıtlarıyla doğrulandığından, bu, Axiom tarafından döndürülen her şeyin güvenliğinin kriptografik olarak Ethereum'un kendisininkine eşdeğer olduğu anlamına gelir. Axiom'un felsefesi, kullanıcılara halihazırda Ethereum kullanırken sahip oldukları kriptografik varsayımların ötesinde herhangi bir ek varsayım empoze etmek istemememizdir.
Daha sonra, konuşmanın başlığında belirtilen Yansıma işlemi kavramını içeren uygulama ilkesini ayrıntılı olarak tanıtacağım. Hepsini mümkün kılan temel ilke, blok zincirindeki her bloğun eksiksiz bir geçmiş içermesidir. Mevcut Ethereum bloğundan başlayabilir ve ilgilendiğimiz önceki bloklara geri dönebiliriz. Geçmiş blok ile mevcut blok arasındaki tüm blok başlıklarını alarak ve bu blok başlıklarının hash zincirini doğrulayarak, geçmiş bloğun mevcut bloğa bağlılığını fiilen tersine çevirebiliriz.
Peki Düşünmenin faydaları nelerdir?
Mevcut Ethereum'un bir bloğunu alıp ilgilendiğimiz önceki bir bloğa geri dönebiliriz. Geçmiş blok ile mevcut blok arasındaki blok başlıklarını alırsak, bu blok başlıkları arasındaki hash yolunu doğrulayarak geçmiş bloğun taahhüdünü mevcut bloğa tersine çevirebiliriz. Ardından, geçmiş bir bloktan bazı bilgilerle ilgilenirsek, o bloğun taahhüdüne dahil edildiğine dair bir kanıt verebiliriz. Spesifik olarak bu, bilginin bloğun durum trie'sinde, işlem trie'sinde veya makbuz trie'sinde var olduğuna dair bir Merkle Patricia Trie kanıtı olabilir. EVM'de, en azından prensip olarak, zincirdeki herhangi bir geçmiş bilgiye yalnızca son blok sağlama bilgileri aracılığıyla erişilebilir.
Ne yazık ki, bunu EVM'de yapmak pahalıdır. Az önce bahsedildiği gibi, büyük miktarda veri üzerinde birçok Keccak karma hesaplaması içeren tüm blok başlıklarının karma zincirlerini ve Merkle kanıtlarını doğrulamanız gerekir. Yani zamanda geriye gittiğinizde, çok zor hale gelir. Bu nedenle EVM'de bu ispatı ZK ile sararak Reflection işlemini uyguluyoruz. Bu nedenle, tüm geçmiş blok başlıklarını ve tüm bu Merkle kanıtlarını zincire koymak ve ardından doğrulamak yerine, geçmiş blok başlıklarının bir dizisinin ve bazı doğrulayıcı kanıtların olup olmadığını sıfır bilgide kontrol ederiz.
Bunun iki avantajı vardır. İlk olarak, bizi çağrı verilerine kanıt verileri koymak zorunda kalmaktan kurtarır. İkincisi, ZK kullanılmadan düşünülemeyecek olan ispatları toplamamıza izin verir. Buradaki fikir, Ethereum'daki herhangi bir sayıda hesaplamayı doğrularken gas maliyetinin sabitlenmesidir, bu nedenle büyük miktarda tarihsel veri erişimini doğrulamak için tek bir ZK kanıtı kullanabiliriz.
ZK tabanlı Reflection operasyon konseptinin ödünleşimlerine kısaca değinmeme izin verin.
Verilere erişmenin iki yolu vardır. Birincisi, daha önce bildiğiniz yoldur - Ethereum'daki verilere doğrudan akıllı sözleşmeden erişebilirsiniz. Bu, erişimin senkronize olması gibi çok büyük bir avantaja sahiptir. Bu nedenle, mevcut değeri almak için doğrudan akıllı sözleşmedeki okuma işlevini çağırabilirsiniz. Örneğin, Uniswap'te işlem yaptığınızda bu eşzamanlılığa ihtiyacınız var. Bununla birlikte, birçok sınırlaması da vardır. Bilgi işlem gücünüz yakıt maliyetleriyle sınırlıdır ve herhangi bir geçmiş veriye erişiminiz yoktur.
İkincisi, ZK'nin Ethereum'a yansıtma yeteneğinden yararlanmak istiyorsanız, erişiminizin doğru olduğuna dair kanıtlar oluşturmanız gerektiğinden, bunu eşzamanlı olarak yapmanın bir yolu yoktur. Dolayısıyla, mevcut zincir üstü duruma doğrudan erişim yoktur, çünkü bir durumu kanıtlamanız gerekir.
Öte yandan, geçmiş verilere eşzamansız olarak erişmenize izin verirseniz, ona neredeyse sınırsız hesaplama uygulayabilir ve çok büyük miktarda veriye erişebilirsiniz. Bu nedenle, senkronizasyon kavramı gevşetilerek, ZK tabanlı Reflection operasyonel veri erişimi büyük ölçüde genişletilebilir.
Daha sonra Axiom aracılığıyla Yansıma işlemlerini nasıl uygulayacağımıza bakacağız.
İlk olarak, akıllı sözleşmemizde önceki tüm blokların önbelleğini tutmamız gerekiyor. EVM'de, son 256 blok sağlama yerel olarak mevcuttur. Her 1024 blokluk partide, bir önceki partinin son bloğunun hash'inin bir sonraki blokta işlendiğini kanıtlayabiliriz. Benzer şekilde, bir önceki partideki sondan ikinci bloğun hash'i son blokta işlenir ve bu böyle devam eder. Bu nedenle, sıfır bilgi ile bu karma zinciri doğrulayabilir ve bu karma zincirin geçerliliğini kanıtlayabiliriz.
Bu, en son bloktan başlayarak genesis bloğuna kadar blok karmalarını önbelleğe almamızı sağlar. Aslında bunu, genesis bloğundan her 1024 blok sağlamada bir önbelleğe alınmış Merkle yolları içeren ana ağ akıllı sözleşmemizde uyguladık.
Eklediğimiz bir diğer özellik ise Merkle Sıradağları. Sınırlı bir DNA'da Ethereum'daki her blok karmasına referans vermemizi sağlayan bir veri yapısı olan bu blok hash önbelleğinin üzerine inşa edilmiştir.
Önbelleği oluşturduktan sonra, önbellekteki blokları doğrulayarak Axiom'u sorgulayabiliriz. Bunun işe yaraması için, erişmeye çalıştığımız Ethereum geçmişindeki her veri parçasının aslında bir bloğun önbelleğinde olmaya kararlı olduğunu kanıtlamalıyız. İkincisi, bu sorguda yaptığımız tüm hesaplamaların doğru olduğunu kanıtlamamız gerekiyor. Bunu zincir üzerinde kontrol etmek için sıfır bilgi kanıtının geçerliliğini doğrularız. Ayrıca zincire kaydettiğimiz bilgilerle ilişkili olup olmadığını da kontrol ederiz. Önbelleklerimizde veya blok önbelleklerimizde her zaman güven oluştururuz ve bu blok önbelleklerdeki bilgileri sıfır bilgi kanıtlarında halka açık bilgilerle eşleştiririz.
Şimdi tasavvur edilen Reflection operasyonunun olası uygulamalarından bahsedelim.
Yatay eksen, veri karmaşıklığını, yani uygulamayı uygulamak için gerçekte ne kadar veriye erişilmesi gerektiğini temsil eder. Dikey eksen, görevi tamamlamak için gerçekte ne kadar hesaplama kaynağının uygulanması gerektiğini gösteren hesaplama karmaşıklığını temsil eder.
Bu nedenle, ilk uygulama türü, Axiom veya herhangi bir Reflection işlem mekanizmasının Ethereum üzerinde uygulanabileceği, ancak maliyetinin biraz daha yüksek olduğu bir uygulamadır.
Bunun bazı örnekleri arasında Ethereum mutabakat katmanındaki blok başlıklarından mutabakat dereceli nonce'ların okunması, geçmiş hesap yaşlarının doğrulanması veya geçmiş fiyat bilgilerinden farklı kehanet verilerinin okunması yer alır. EVM'de bu uygulamaları hayata geçirmek için çeşitli çözümler kullanılabilir ancak bu çözümler sıfır bilgi içerisine yerleştirilerek verimlilik arttırılabilir.
Şimdi, genellikle daha fazla veri erişimi ve dolayısıyla daha fazla hesaplama gerektiren başka bir uygulama sınıfı var. Bence ZK yardımcı işlemcisi kullanılmadan bu uygulamalar mümkün olmazdı.
Örnek olarak, ilginç bir uygulama, etkileşim için sıfır bilgi kullanarak Ethereum'daki bir Toplama'nın temel katmanın durumunu veya başka bir Toplama'yı güvenilir bir şekilde okumasına izin vermektir. Böyle bir uygulama, Toplamaların ERC20 belirteçlerinin tam bakiye anlık görüntülerini okumasına izin vermek olabilir.
Dikkatimizi depolamadan hesapların işlem geçmişine çevirirsek, Ethereum adreslerinin tüm geçmişini kaydederek güvenilir bir itibar, kimlik veya kredi puanlama sistemi oluşturduğunuzu hayal edebilirsiniz. Bu, kredi puanlaması için veya size bir tür zincir üstü DAO'ya erişim sağlamak veya özel NFT'ler yayınlamak için erişim sağlamak için kullanılabilir.
Protokolü fiilen yönetmek için zincir üzerindeki geçmiş verileri kullanan bir uygulama sınıfı da vardır. Genel olarak sözleşme muhasebesi olarak bilinir.
Buradaki fikir, protokollerin katılımcıların davranışlarını koordine etmek için var olduğu ve koordinasyonun temel ilkesinin, katılımcıları davranışlarından dolayı ödüllendirme veya cezalandırma yeteneği olduğudur. Ethereum'daki birçok protokole bakarsanız, katılımcıların eylemlerinin kaydı aslında tamamen zincir üzerinde tutulur. Bu nedenle, Axiom ile, protokol katılımcılarının tüm eylemlerine dayanarak, protokolün ödeme yapısını belirleyebileceğini veya hatta katılımcılara bir tür ceza uygulayabileceğini hayal edebiliyoruz ki bunun, protokolün tasarım alanını gerçekten genişletebileceğini düşünüyoruz. uygulamalar.
Son olarak, hesaplama düzeyini gerçekten yükseltirsek, zincir üzerindeki parametreleri ayarlamak için makine öğrenimi modellerini kullanmanın çok ilginç olabileceğini düşünüyoruz. Geleneksel finansal uygulamaları düşünürseniz, fiyat verileri, ekonomik veriler vb. gibi büyük miktarda tarihsel verilere dayalı olarak karmaşık gelecek parametrelerini modellemek çok yaygındır. Ve mevcut DeFi'ye baktığımızda, o seviyeye ulaşmaktan çok uzak. DeFi'nin geleneksel finansla tam olarak aynı şekilde çalışması gerektiğini düşünmüyorum, ancak bazı tarihsel veritabanlarını ve makine öğrenimine dayalı modelleri ve bilgileri enjekte etmenin daha dinamik bir DeFi protokolü oluşturmaya yardımcı olabileceğini düşünüyoruz.
Bunlar, Yansıma işlemlerinin blok zincirine neler getirebileceğine dair yalnızca birkaç fikir.