*Orijinal Başlığı İletin:Eclipse'in Canonical Ethereum Köprüsü ve Kanıtlama Sistemini Keşfetmek
Eclipse üç katmandan oluşmaktadır:
Aşağıdaki şemada bu modüllerin nasıl etkileşimde bulunduğu gösterilmektedir:
Bu makalenin geri kalanı, diyagramda gösterildiği gibi Eclipse'in Ethereum köprüsüne odaklanacaktır. Blobstream, Celestia'nın doğrulayıcı seti tarafından imzalanan tasdiknameleri Ethereum'a ileterek Eclipse'in bir grup slotuna ait verilerin doğru şekilde yayınlandığını onaylayacaktır. Bu, Eclipse köprüsünün Celestia'dan gelen imzalı veri köklerine karşı sahtekarlık kanıtları için sağlanan verileri doğrulamasına olanak tanır. Bu bölümün geri kalanında, hangi süreçlerden geçildiğini özetleyeceğiz:
Bir kullanıcı yerel Ethereum köprüsü aracılığıyla Eclipse'e para yatırdığında akış aşağıdaki gibi özetlenir:
Aşağıdaki diyagram, yukarıda açıklanan para yatırma akışı sırasında Ethereum, Celestia ve SVM Yürütücüsü arasındaki etkileşimleri göstermektedir:
Eclipse'in yuvalarının veri blobları olarak Celestia'ya yayınlanması için akış aşağıda özetlenmiştir:
Celestia 'nın aşağıdaki diyagramı, belirli bir Celestia bloğundaki verilerin taahhüdünün blok başlığında nasıl saklandığını açıklamaktadır:
Sahtekarlık kanıtları kullanan diğer L2'lere (Arbitrum, Fuel ve diğerleri) benzer şekilde, Eclipse'ten para çekme işlemleri, doğrulayıcıların geçersiz bir durum geçişi durumunda sahtekarlık kanıtları sunabilecekleri bir meydan okuma süresi gerektirir:
Bu son bölümde, Anatoly Yakovenko ve John Adler'den esinlenerek Eclipse'in dolandırıcılık kanıt sistemi tasarımını detaylandıracağız. Genel olarak, herhangi bir sahtekarlık kanıtı için, bir doğrulayıcı şunları yapmalıdır:
Eclipse'in durumunda, (1) Celestia, Eclipse'in SVM yürütücüsünün gönderdiği blok yığınlarını merklize ederek Merkle tanıkları aracılığıyla işlem dahil etme kanıtlarına izin verir. (2) için, küresel durum ağacına bir Merkle kökü gönderen EVM tabanlı L2'lerin aksine, performans nedenleriyle Eclipse küresel durum ağacını işlem bazında güncellemez, ancak girdilerin doğruluğunu nasıl sağladığımızı aşağıda daha ayrıntılı olarak açıklayacağız. Son olarak, (3) durumunda, Eclipse'in doğrulayıcısı, EVM tabanlı L2'lerde yaygın olan etkileşimli doğrulama oyunu yaklaşımının aksine, belirli bir işlem için çıktı(lar)ın bir zk kanıtını oluşturur.
Tüm Eclipse işlemleri, bir girdi hesapları listesinin alınması, bir işlemin yürütülmesi ve sonuçta bir çıktı hesapları listesinin üretilmesi şeklinde gösterilebilir:
Dolandırıcılık kanıtı tasarımımız için kritik gözlem, işlemin yürütülmesi için her zaman herhangi bir S_InputAccount'un önceki bir işlemin S_OutputAccount'u olması gerektiğidir. Bu, küresel bir durum ağacına bir Merkle tanığı sağlamak yerine, belirli bir girdi hesabını üreten zincirdeki son işleme başvurmamızı sağlar. Tasarımımızın bir sonucu olarak, önceki işlemin geçerli olmaması veya giriş hesabının daha sonraki bir işlem tarafından zaten "harcanmış" olması gibi ek dolandırıcılık suçlama türleri sunuyoruz. Bu süreci aşağıda daha ayrıntılı olarak açıklıyoruz:
Buna ek olarak, Celestia'ya gönderilen işlem verisi gruplarının taahhütleri Ethereum sözleşmesine aktarılır. Taahhütler şunlardan oluşmaktadır:
Yukarıda açıklandığı üzere, bir partinin hatalı olduğunun tespit edilebilmesinin birkaç yolu vardır:
Herhangi bir taahhüt grubunun yanlış olduğu tespit edilirse, Eclipse köprü sözleşmesi köprüyü kanıtlanabilir şekilde doğru olan son grup taahhüdüne geri alacaktır. Dolandırıcılık durumunda bile işlemlerin asla zincirden çıkarılmadığını, bu nedenle yalnızca taahhüdün yeniden hesaplanması gerektiğini unutmayın.
Bu makale, Eclipse'in Ethereum üzerindeki güven minimize edilmiş köprüsü hakkında üst düzey bir rehber sunmayı ve dolandırıcılık kanıtı tasarımımızla ilgili bazı ayrıntıları açıklamayı amaçlamaktadır. L2'mizin modüler yapısı ve teknoloji yığınımızın yeni oluşu göz önüne alındığında, önümüzdeki haftalarda Eclipse'in çeşitli yönleri hakkında makaleler ve belgeler yayınlamaya devam edeceğiz.
Eclipse Testnet'e dahil olmak için lütfen buradaki talimatlarımızı izleyin. Testnet, köprü veya teknik sorularınız için bizimle Twitter veya Discord üzerinden iletişime geçebilirsiniz.
[1]: SVM işlemlerinin sonuçlarını hesaplayan ve nihai çıktıyı Eclipse'in yeni durumuna uygulayan düğüm
[2]: Ethereum ve Eclipse arasında zincir üzerindeki olayları aktaran bir operatör
[3]: Bunu sıralayıcının değil yürütücünün gönderdiğine dikkat edin. Sıralayıcı tarafından gönderilen verilere dahil edilmiş olsaydı, sıralayıcının bir sayımın üzerinden atlayabileceği ve yürütücünün işini doğru bir şekilde yapmasını imkansız hale getirecek bir karmaşıklık eklerdi. Bu durum sahtekarlığa karşı dayanıklı tasarımda telafi edilebilir, ancak bu ekstra karmaşıklık yaratacaktır. Sayımı yalnızca yürütücünün göndermesinin ikinci bir avantajı, istenirse işlem geçersiz kılmalarının Celestia'ya gönderilmesine izin vermeyi kolaylaştırmasıdır.
[4]: SVM hesapları benzersiz bir hash ile temsil edilebilir. Bu hash'in değiştirilmesinin tek yolu bir işlemdir.
[5]: Bunu aşırı miktarda hashing olmadan yapmak için, kullanılan her sysvar'ın hangi bölümlerine gerçekten erişildiğini görmek için yürütülen her programda bir izleme çalıştıracağız. Bu mümkündür, ancak Solana'nın BPF yorumlayıcısının değiştirilmesi gerekecektir.
[6]: Bu, gerçekleştirilemeyen işlem denemelerine ilişkin verileri içerir.
*Orijinal Başlığı İletin:Eclipse'in Canonical Ethereum Köprüsü ve Kanıtlama Sistemini Keşfetmek
Eclipse üç katmandan oluşmaktadır:
Aşağıdaki şemada bu modüllerin nasıl etkileşimde bulunduğu gösterilmektedir:
Bu makalenin geri kalanı, diyagramda gösterildiği gibi Eclipse'in Ethereum köprüsüne odaklanacaktır. Blobstream, Celestia'nın doğrulayıcı seti tarafından imzalanan tasdiknameleri Ethereum'a ileterek Eclipse'in bir grup slotuna ait verilerin doğru şekilde yayınlandığını onaylayacaktır. Bu, Eclipse köprüsünün Celestia'dan gelen imzalı veri köklerine karşı sahtekarlık kanıtları için sağlanan verileri doğrulamasına olanak tanır. Bu bölümün geri kalanında, hangi süreçlerden geçildiğini özetleyeceğiz:
Bir kullanıcı yerel Ethereum köprüsü aracılığıyla Eclipse'e para yatırdığında akış aşağıdaki gibi özetlenir:
Aşağıdaki diyagram, yukarıda açıklanan para yatırma akışı sırasında Ethereum, Celestia ve SVM Yürütücüsü arasındaki etkileşimleri göstermektedir:
Eclipse'in yuvalarının veri blobları olarak Celestia'ya yayınlanması için akış aşağıda özetlenmiştir:
Celestia 'nın aşağıdaki diyagramı, belirli bir Celestia bloğundaki verilerin taahhüdünün blok başlığında nasıl saklandığını açıklamaktadır:
Sahtekarlık kanıtları kullanan diğer L2'lere (Arbitrum, Fuel ve diğerleri) benzer şekilde, Eclipse'ten para çekme işlemleri, doğrulayıcıların geçersiz bir durum geçişi durumunda sahtekarlık kanıtları sunabilecekleri bir meydan okuma süresi gerektirir:
Bu son bölümde, Anatoly Yakovenko ve John Adler'den esinlenerek Eclipse'in dolandırıcılık kanıt sistemi tasarımını detaylandıracağız. Genel olarak, herhangi bir sahtekarlık kanıtı için, bir doğrulayıcı şunları yapmalıdır:
Eclipse'in durumunda, (1) Celestia, Eclipse'in SVM yürütücüsünün gönderdiği blok yığınlarını merklize ederek Merkle tanıkları aracılığıyla işlem dahil etme kanıtlarına izin verir. (2) için, küresel durum ağacına bir Merkle kökü gönderen EVM tabanlı L2'lerin aksine, performans nedenleriyle Eclipse küresel durum ağacını işlem bazında güncellemez, ancak girdilerin doğruluğunu nasıl sağladığımızı aşağıda daha ayrıntılı olarak açıklayacağız. Son olarak, (3) durumunda, Eclipse'in doğrulayıcısı, EVM tabanlı L2'lerde yaygın olan etkileşimli doğrulama oyunu yaklaşımının aksine, belirli bir işlem için çıktı(lar)ın bir zk kanıtını oluşturur.
Tüm Eclipse işlemleri, bir girdi hesapları listesinin alınması, bir işlemin yürütülmesi ve sonuçta bir çıktı hesapları listesinin üretilmesi şeklinde gösterilebilir:
Dolandırıcılık kanıtı tasarımımız için kritik gözlem, işlemin yürütülmesi için her zaman herhangi bir S_InputAccount'un önceki bir işlemin S_OutputAccount'u olması gerektiğidir. Bu, küresel bir durum ağacına bir Merkle tanığı sağlamak yerine, belirli bir girdi hesabını üreten zincirdeki son işleme başvurmamızı sağlar. Tasarımımızın bir sonucu olarak, önceki işlemin geçerli olmaması veya giriş hesabının daha sonraki bir işlem tarafından zaten "harcanmış" olması gibi ek dolandırıcılık suçlama türleri sunuyoruz. Bu süreci aşağıda daha ayrıntılı olarak açıklıyoruz:
Buna ek olarak, Celestia'ya gönderilen işlem verisi gruplarının taahhütleri Ethereum sözleşmesine aktarılır. Taahhütler şunlardan oluşmaktadır:
Yukarıda açıklandığı üzere, bir partinin hatalı olduğunun tespit edilebilmesinin birkaç yolu vardır:
Herhangi bir taahhüt grubunun yanlış olduğu tespit edilirse, Eclipse köprü sözleşmesi köprüyü kanıtlanabilir şekilde doğru olan son grup taahhüdüne geri alacaktır. Dolandırıcılık durumunda bile işlemlerin asla zincirden çıkarılmadığını, bu nedenle yalnızca taahhüdün yeniden hesaplanması gerektiğini unutmayın.
Bu makale, Eclipse'in Ethereum üzerindeki güven minimize edilmiş köprüsü hakkında üst düzey bir rehber sunmayı ve dolandırıcılık kanıtı tasarımımızla ilgili bazı ayrıntıları açıklamayı amaçlamaktadır. L2'mizin modüler yapısı ve teknoloji yığınımızın yeni oluşu göz önüne alındığında, önümüzdeki haftalarda Eclipse'in çeşitli yönleri hakkında makaleler ve belgeler yayınlamaya devam edeceğiz.
Eclipse Testnet'e dahil olmak için lütfen buradaki talimatlarımızı izleyin. Testnet, köprü veya teknik sorularınız için bizimle Twitter veya Discord üzerinden iletişime geçebilirsiniz.
[1]: SVM işlemlerinin sonuçlarını hesaplayan ve nihai çıktıyı Eclipse'in yeni durumuna uygulayan düğüm
[2]: Ethereum ve Eclipse arasında zincir üzerindeki olayları aktaran bir operatör
[3]: Bunu sıralayıcının değil yürütücünün gönderdiğine dikkat edin. Sıralayıcı tarafından gönderilen verilere dahil edilmiş olsaydı, sıralayıcının bir sayımın üzerinden atlayabileceği ve yürütücünün işini doğru bir şekilde yapmasını imkansız hale getirecek bir karmaşıklık eklerdi. Bu durum sahtekarlığa karşı dayanıklı tasarımda telafi edilebilir, ancak bu ekstra karmaşıklık yaratacaktır. Sayımı yalnızca yürütücünün göndermesinin ikinci bir avantajı, istenirse işlem geçersiz kılmalarının Celestia'ya gönderilmesine izin vermeyi kolaylaştırmasıdır.
[4]: SVM hesapları benzersiz bir hash ile temsil edilebilir. Bu hash'in değiştirilmesinin tek yolu bir işlemdir.
[5]: Bunu aşırı miktarda hashing olmadan yapmak için, kullanılan her sysvar'ın hangi bölümlerine gerçekten erişildiğini görmek için yürütülen her programda bir izleme çalıştıracağız. Bu mümkündür, ancak Solana'nın BPF yorumlayıcısının değiştirilmesi gerekecektir.
[6]: Bu, gerçekleştirilemeyen işlem denemelerine ilişkin verileri içerir.