"Arbitrum'un Eski Arbitrum Teknik Elçisi Tarafından Yorumlanan Bileşen Yapısı (Bölüm 1) " adlı önceki makalede, Arbitrum'daki sıralayıcı, doğrulayıcı, sıralayıcı gelen kutusu sözleşmesi, toplama bloğu dahil olmak üzere temel bileşenlerin rollerini tanıtmıştık. etkileşimli olmayan dolandırıcılık kanıtları. Bugünkü yazımızda Arbitrum'un temel bileşenlerinde çapraz zincir mesaj aktarımı ve sansür karşıtı işlemlere giriş ile ilgili bileşenleri açıklamaya odaklanacağız.
Ana Metin: Önceki yazılarımızda Sıralayıcı Gelen Kutusu sözleşmesinin, Katman 1'de sıralayıcı tarafından yayınlanan işlem veri yığınlarını almak için özel olarak tasarlandığından bahsetmiştik. Aynı zamanda Sıralayıcı Gelen Kutusu'nun “hızlı kutu” olarak da adlandırıldığını, bunun aksine “yavaş kutu” veya Gecikmeli Gelen Kutusu'nun (Gelen Kutusu olarak anılacaktır) bulunduğunu belirtmiştik. Aşağıda Gecikmeli Gelen Kutusu da dahil olmak üzere zincirler arası mesaj aktarımıyla ilgili bileşenlerin ayrıntılı bir yorumunu sunacağız.
Zincirler arası işlemler, L1'den L2'ye (para yatırma) işlemler ve L2'den L1'e (para çekme) işlemlere bölünebilir. Buradaki "para yatırma" ve "çekme" terimlerinin mutlaka varlıkların zincirler arası transferini içermeyebileceğini unutmamak önemlidir; varlıkları doğrudan aktarmadan ileti aktarımına başvurabilirler. Bu nedenle, bu terimler yalnızca zincirler arası bağlantılı eylemlerin iki yönünü temsil eder.
Saf L2 işlemleriyle karşılaştırıldığında çapraz zincir işlemleri, iki farklı sistem (L1 ve L2) arasında bilgi alışverişini içerir ve bu da süreci daha karmaşık hale getirir.
Ek olarak, zincirler arası eylemlerden bahsettiğimizde, bu genellikle birleşik bir modelde zincirler arası bir köprü kullanarak tamamen ilgisiz iki ağ arasında geçiş anlamına gelir. Bu tür zincirler arası operasyonların güvenliği, zincirler arası köprünün operatörüne bağlıdır ve tarihsel olarak, tanık temelli çapraz zincirli köprülerde hırsızlık olayları sıklıkla yaşanmıştır.
Öte yandan, Rollup ile ETH ana ağı arasındaki zincirler arası eylemler, yukarıda bahsedilen zincirler arası işlemlerden temel olarak farklıdır. Bunun nedeni, Katman2'nin durumunun, Katman1'e kaydedilen veriler tarafından belirlenmesidir. Resmi Rollup çapraz zincir köprüsünü kullandığınız sürece, operasyonları yapısal olarak güvenlidir.
Bu, kullanıcının bakış açısından bağımsız bir zincir olarak görünen Rollup'ın özünü vurgular, ancak gerçekte "Katman2" olarak adlandırılan şey, Rollup tarafından kullanıcılara açılan hızlı bir görüntüleme penceresidir ve gerçek zincir benzeri yapısıdır. hala Katman1'e kayıtlıdır. Dolayısıyla L2'yi yarım zincir veya "Katman1'de oluşturulmuş bir zincir" olarak değerlendirebiliriz.
Zincirler arası işlemlerin eşzamansız ve atomik olmadığını lütfen unutmayın. Zincirler arası işlemlerde, tek zincirdeki işlemlerden farklı olarak tek zincirde bir işlemin tamamlanması ve bir işlem sonrasında sonucun onaylanması mümkün değildir. Ayrıca karşı tarafta belirli bir zamanda belirli bir şeyin olacağının garantisi de yoktur. Bu nedenle zincirler arası işlemler bazı yumuşak sorunlar nedeniyle başarısız olabilir, ancak yeniden denenebilir biletler gibi uygun tekniklerin kullanılmasıyla fonların sıkışması gibi zor sorunlar yaşanmayacaktır.
Yeniden denenebilir biletler, hem ETH hem de ERC20 para yatırma işlemleri için geçerli olan, para yatırma sırasında Arbitrum resmi köprüsünde kullanılan temel araçlardır. Yaşam döngüsü üç adımdan oluşur:
Ayrıca Arbitrum resmi köprüsündeki para çekme işlemiyle ilgili olarak, para yatırma işlemiyle karşılaştırıldığında süreçte belirli bir simetrik benzerlik olsa da yeniden denenebilir bilet kavramı yoktur. Bu, Toplama protokolünün perspektifinden anlaşılabilir ve bazı farklılıklar vurgulanabilir:
ERC-20 varlıklarının çapraz zincirlenmesi karmaşıktır. Birkaç soru üzerinde düşünebiliriz:
Bu soruların hepsine cevap vermeyeceğiz çünkü bunlar açıklanamayacak kadar karmaşık. Bu sorular yalnızca ERC20 çapraz zincirinin karmaşıklığını göstermek için kullanılır.
Şu anda birçok ölçeklendirme çözümü, çeşitli karmaşık sorunları ve sınır koşullarını önlemek için beyaz liste ve manuel liste çözümlerini kullanıyor.
Arbitrum, ERC20 çapraz zincirinin yapışma sorunlarının çoğunu çözmek için Gateway sistemini kullanıyor. Aşağıdaki özelliklere sahiptir:
Ağ geçidini özelleştirmenin gerekliliğini göstermek için örnek olarak nispeten basit WETH çapraz zincirini ele alalım.
WETH, ETH'nin ERC20 eşdeğeridir. Ana para birimi olarak Ether, birçok dApp'te karmaşık işlevleri uygulayamaz, bu nedenle bir ERC20 eşdeğerine ihtiyaç vardır. Bir miktar ETH'yi WETH sözleşmesine aktarın, bunlar sözleşmede kilitlenecek ve aynı miktarda WETH üretilecektir.
Aynı şekilde WETH de yakılıp ETH çekilebilir. Açıkçası dolaşımdaki WETH ile kilitli ETH'nin oranı her zaman 1:1'dir.
Şimdi WETH'yi doğrudan L2'ye çapraz zincirlersek bazı garip sorunlarla karşılaşacağız:
Açıkçası bu WETH'in tasarım ilkelerini ihlal ediyor. Bu nedenle, WETH çapraz zincirlendiğinde, ister yatırma ister çekme olsun, önce ETH'ye sarılmalı, sonra diğer tarafa geçilmeli ve daha sonra WETH'e sarılmalıdır. WETH Ağ Geçidinin rolü budur.
Aynı şey, zincirler arası bir ortamda düzgün çalışması için daha karmaşık ve dikkatli bir şekilde tasarlanmış bir Ağ Geçidi gerektiren, daha karmaşık mantığa sahip diğer tokenler için de geçerlidir. Arbitrum'un özel Ağ Geçidi, sıradan Ağ Geçidinin zincirler arası iletişim mantığını devralır ve geliştiricilerin, çoğu ihtiyacı karşılayabilecek şekilde token mantığıyla ilgili zincirler arası davranışı özelleştirmesine olanak tanır.
Sıralayıcı Gelen Kutusu olarak bilinen hızlı gelen kutusunun karşılığı, yavaş gelen kutusudur (tam adı Gecikmeli Gelen Kutusu). Neden hızlı ve yavaş arasında ayrım yapmalısınız? Bunun nedeni, hızlı gelen kutusunun, sıralayıcı tarafından yayınlanan L2 işlem gruplarını almaya ayrılmış olması ve sıralayıcı tarafından L2 ağı içerisinde önceden işlenmeyen herhangi bir işlemin, hızlı gelen kutusu sözleşmesinde görünmemesidir.
Yavaş gelen kutusunun ilk işlevi L1'den L2'ye para yatırma sürecini yönetmektir. Kullanıcılar yavaş gelen kutusu aracılığıyla para yatırma işlemini başlatır ve sıralayıcı bunu gözlemlediğinde L2'ye yansır. Sonunda, bu yatırma kaydı sıralayıcı tarafından L2 işlem dizisine dahil edilir ve hızlı gelen kutusu sözleşmesine (Sıralayıcı Gelen Kutusu) gönderilir.
Bu senaryoda, kullanıcıların para yatırma işlemlerini doğrudan hızlı gelen kutusuna (Sıralayıcı Gelen Kutusu) göndermeleri uygun değildir çünkü hızlı gelen kutusuna gönderilen işlemler, Katman2'deki normal işlem sıralamasını bozabilir, dolayısıyla sıralayıcının çalışmasını etkileyebilir.
Yavaş gelen kutusunun ikinci işlevi sansüre dayanıklıdır. Yavaş gelen kutusu sözleşmesine doğrudan gönderilen işlemler genellikle sıralayıcı tarafından 10 dakika içinde hızlı gelen kutusuna toplanır. Ancak sıralayıcı isteğinizi kötü niyetli bir şekilde görmezden gelirse, yavaş gelen kutusunun zorunlu bir ekleme özelliği vardır:
Bir işlem Gecikmeli Gelen Kutusu'na gönderilirse ve 24 saat sonra sıralayıcı tarafından işlem sırasına dahil edilmezse kullanıcılar, Katman1'de zorla dahil etme işlevini manuel olarak tetikleyebilir. Bu eylem, sıralayıcı tarafından göz ardı edilen işlemlerin hızlı gelen kutusunda (Sıralayıcı Gelen Kutusu) zorla toplanmasına neden olur. Daha sonra tüm Arbitrum One düğümleri tarafından tespit edilecekler ve Layer2 işlem sırasına zorla dahil edilecekler.
Hızlı gelen kutusundaki verilerin L2'nin geçmiş veri varlığını temsil ettiğinden az önce bahsetmiştik. Bu nedenle, kötü niyetli sansür durumlarında, yavaş gelen kutusunun kullanılması, işlem talimatlarının en sonunda L2 defterine dahil edilmesini sağlar ve Katman2'den kaçmak için zorla para çekme gibi senaryoları kapsar.
Bundan, herhangi bir işlem yönü ve seviyesi için sıralayıcının sizi kalıcı olarak sansürleyemeyeceği görülebilir.
Yavaş gelen kutusunun (Gelen Kutusu) birkaç temel işlevi:
Ancak zorla dahil etme fonksiyonunun aslında hızlı gelen kutusu sözleşmesinde yer aldığını unutmamak önemlidir. Anlaşılması kolay olsun diye yavaş gelen kutusuyla birlikte anlattık.
Giden kutusu yalnızca para çekme işlemleriyle ilgilidir ve para çekme davranışlarına yönelik bir kayıt ve yönetim sistemi olarak anlaşılabilir:
Aşağıda para yatırma ve çekme sürecini tam olarak açıklamak için ETH'yi örnek olarak alacağız. ERC20 ile ETH arasındaki tek fark, eskisinin Gateway kullanmasıdır. Bunu ayrıntılı olarak açıklamayacağız.
Kullanıcı yavaş kutunun mevduatETH() fonksiyonunu çağırır.
Bu işlev 'bridge.enqueueDelayedMessage()'ı çağırmaya devam edecek, Mesajı köprü sözleşmesine kaydedin ve ETH'yi köprü sözleşmesine gönderin. Tüm ETH mevduat fonları, mevduat adresine eşdeğer olan köprü sözleşmesinde tutulur.
Sıralayıcı, yavaş kutudaki yatırma mesajlarını izler ve yatırma işlemini L2 veritabanına yansıtır. Kullanıcılar L2 ağına yatırdıkları varlıkları görebilirler.
Sıralayıcı, yatırma kaydını işlem kümesine dahil eder ve bunu L1'deki hızlı kutu sözleşmesine gönderir.
Kullanıcı L2'de ArbSys sözleşmesinin pullEth() işlevini çağırır ve karşılık gelen ET sayısı L2'ye yazılır.
Sıralayıcı, para çekme talebini ekspres kutuya gönderir.
Doğrulayıcı düğüm, hızlı kutudaki işlem sırasını temel alarak yukarıdaki para çekme işlemlerini içerecek yeni bir Toplama Bloğu oluşturur.
Toplama Bloğu, yine onaylanan sorgulama döneminden geçtikten sonra, kullanıcı, parametrelerin yukarıda bahsedilen ArbSys sözleşmesi tarafından verildiğini kanıtlamak için L1'deki Outbox.execute Transaction() işlevini çağırabilir.
Giden Kutusu sözleşmesinin doğru olduğu onaylandıktan sonra köprüdeki karşılık gelen ETH miktarının kilidi açılacak ve kullanıcıya gönderilecektir.
Nakit çekmek için Optimistic Rollup resmi köprüsünü kullanırken, meydan okuma süresini bekleme sorunu yaşanacaktır. Bu sorunu ortadan kaldırmak için özel bir üçüncü taraf zincirler arası köprü kullanabiliriz:
Force Inclusion() işlevi, sıralayıcının sansürüne direnmek için kullanılır. Bu fonksiyon kullanılarak herhangi bir L2 yerel işlemi, L1'den L2'ye işlem ve L2'den L1'e işlem gerçekleştirilebilir. Sıralayıcının kötü niyetli sansürü, işlem deneyimini ciddi şekilde etkiler. Çoğu durumda parayı çekmeyi ve L2'den ayrılmayı seçeceğiz. Bu nedenle, aşağıda,forceInclusion kullanımını tanıtmak için örnek olarak zorla geri çekilme kullanılmaktadır.
ETH çekme adımlarına dönüp baktığımızda, yalnızca 1. ve 2. adımların sıralayıcı sansürünü içerdiğini, dolayısıyla yalnızca bu iki adımın değiştirilmesi gerektiğini görüyoruz:
Son kullanıcılar Giden Kutusu'ndan para çekebilir ve geri kalan adımlar normal para çekme işlemleriyle aynıdır.
Ayrıca, kullanıcılara L2 yerel işlemlerinin ve ForceInclusion() işlevi aracılığıyla L2'den L1'e işlemlerin nasıl gerçekleştirileceği konusunda rehberlik etmek amacıyla arbitrum eğitimlerinde Arb SDK'nın kullanımına ilişkin ayrıntılı eğitimler de bulunmaktadır.
"Arbitrum'un Eski Arbitrum Teknik Elçisi Tarafından Yorumlanan Bileşen Yapısı (Bölüm 1) " adlı önceki makalede, Arbitrum'daki sıralayıcı, doğrulayıcı, sıralayıcı gelen kutusu sözleşmesi, toplama bloğu dahil olmak üzere temel bileşenlerin rollerini tanıtmıştık. etkileşimli olmayan dolandırıcılık kanıtları. Bugünkü yazımızda Arbitrum'un temel bileşenlerinde çapraz zincir mesaj aktarımı ve sansür karşıtı işlemlere giriş ile ilgili bileşenleri açıklamaya odaklanacağız.
Ana Metin: Önceki yazılarımızda Sıralayıcı Gelen Kutusu sözleşmesinin, Katman 1'de sıralayıcı tarafından yayınlanan işlem veri yığınlarını almak için özel olarak tasarlandığından bahsetmiştik. Aynı zamanda Sıralayıcı Gelen Kutusu'nun “hızlı kutu” olarak da adlandırıldığını, bunun aksine “yavaş kutu” veya Gecikmeli Gelen Kutusu'nun (Gelen Kutusu olarak anılacaktır) bulunduğunu belirtmiştik. Aşağıda Gecikmeli Gelen Kutusu da dahil olmak üzere zincirler arası mesaj aktarımıyla ilgili bileşenlerin ayrıntılı bir yorumunu sunacağız.
Zincirler arası işlemler, L1'den L2'ye (para yatırma) işlemler ve L2'den L1'e (para çekme) işlemlere bölünebilir. Buradaki "para yatırma" ve "çekme" terimlerinin mutlaka varlıkların zincirler arası transferini içermeyebileceğini unutmamak önemlidir; varlıkları doğrudan aktarmadan ileti aktarımına başvurabilirler. Bu nedenle, bu terimler yalnızca zincirler arası bağlantılı eylemlerin iki yönünü temsil eder.
Saf L2 işlemleriyle karşılaştırıldığında çapraz zincir işlemleri, iki farklı sistem (L1 ve L2) arasında bilgi alışverişini içerir ve bu da süreci daha karmaşık hale getirir.
Ek olarak, zincirler arası eylemlerden bahsettiğimizde, bu genellikle birleşik bir modelde zincirler arası bir köprü kullanarak tamamen ilgisiz iki ağ arasında geçiş anlamına gelir. Bu tür zincirler arası operasyonların güvenliği, zincirler arası köprünün operatörüne bağlıdır ve tarihsel olarak, tanık temelli çapraz zincirli köprülerde hırsızlık olayları sıklıkla yaşanmıştır.
Öte yandan, Rollup ile ETH ana ağı arasındaki zincirler arası eylemler, yukarıda bahsedilen zincirler arası işlemlerden temel olarak farklıdır. Bunun nedeni, Katman2'nin durumunun, Katman1'e kaydedilen veriler tarafından belirlenmesidir. Resmi Rollup çapraz zincir köprüsünü kullandığınız sürece, operasyonları yapısal olarak güvenlidir.
Bu, kullanıcının bakış açısından bağımsız bir zincir olarak görünen Rollup'ın özünü vurgular, ancak gerçekte "Katman2" olarak adlandırılan şey, Rollup tarafından kullanıcılara açılan hızlı bir görüntüleme penceresidir ve gerçek zincir benzeri yapısıdır. hala Katman1'e kayıtlıdır. Dolayısıyla L2'yi yarım zincir veya "Katman1'de oluşturulmuş bir zincir" olarak değerlendirebiliriz.
Zincirler arası işlemlerin eşzamansız ve atomik olmadığını lütfen unutmayın. Zincirler arası işlemlerde, tek zincirdeki işlemlerden farklı olarak tek zincirde bir işlemin tamamlanması ve bir işlem sonrasında sonucun onaylanması mümkün değildir. Ayrıca karşı tarafta belirli bir zamanda belirli bir şeyin olacağının garantisi de yoktur. Bu nedenle zincirler arası işlemler bazı yumuşak sorunlar nedeniyle başarısız olabilir, ancak yeniden denenebilir biletler gibi uygun tekniklerin kullanılmasıyla fonların sıkışması gibi zor sorunlar yaşanmayacaktır.
Yeniden denenebilir biletler, hem ETH hem de ERC20 para yatırma işlemleri için geçerli olan, para yatırma sırasında Arbitrum resmi köprüsünde kullanılan temel araçlardır. Yaşam döngüsü üç adımdan oluşur:
Ayrıca Arbitrum resmi köprüsündeki para çekme işlemiyle ilgili olarak, para yatırma işlemiyle karşılaştırıldığında süreçte belirli bir simetrik benzerlik olsa da yeniden denenebilir bilet kavramı yoktur. Bu, Toplama protokolünün perspektifinden anlaşılabilir ve bazı farklılıklar vurgulanabilir:
ERC-20 varlıklarının çapraz zincirlenmesi karmaşıktır. Birkaç soru üzerinde düşünebiliriz:
Bu soruların hepsine cevap vermeyeceğiz çünkü bunlar açıklanamayacak kadar karmaşık. Bu sorular yalnızca ERC20 çapraz zincirinin karmaşıklığını göstermek için kullanılır.
Şu anda birçok ölçeklendirme çözümü, çeşitli karmaşık sorunları ve sınır koşullarını önlemek için beyaz liste ve manuel liste çözümlerini kullanıyor.
Arbitrum, ERC20 çapraz zincirinin yapışma sorunlarının çoğunu çözmek için Gateway sistemini kullanıyor. Aşağıdaki özelliklere sahiptir:
Ağ geçidini özelleştirmenin gerekliliğini göstermek için örnek olarak nispeten basit WETH çapraz zincirini ele alalım.
WETH, ETH'nin ERC20 eşdeğeridir. Ana para birimi olarak Ether, birçok dApp'te karmaşık işlevleri uygulayamaz, bu nedenle bir ERC20 eşdeğerine ihtiyaç vardır. Bir miktar ETH'yi WETH sözleşmesine aktarın, bunlar sözleşmede kilitlenecek ve aynı miktarda WETH üretilecektir.
Aynı şekilde WETH de yakılıp ETH çekilebilir. Açıkçası dolaşımdaki WETH ile kilitli ETH'nin oranı her zaman 1:1'dir.
Şimdi WETH'yi doğrudan L2'ye çapraz zincirlersek bazı garip sorunlarla karşılaşacağız:
Açıkçası bu WETH'in tasarım ilkelerini ihlal ediyor. Bu nedenle, WETH çapraz zincirlendiğinde, ister yatırma ister çekme olsun, önce ETH'ye sarılmalı, sonra diğer tarafa geçilmeli ve daha sonra WETH'e sarılmalıdır. WETH Ağ Geçidinin rolü budur.
Aynı şey, zincirler arası bir ortamda düzgün çalışması için daha karmaşık ve dikkatli bir şekilde tasarlanmış bir Ağ Geçidi gerektiren, daha karmaşık mantığa sahip diğer tokenler için de geçerlidir. Arbitrum'un özel Ağ Geçidi, sıradan Ağ Geçidinin zincirler arası iletişim mantığını devralır ve geliştiricilerin, çoğu ihtiyacı karşılayabilecek şekilde token mantığıyla ilgili zincirler arası davranışı özelleştirmesine olanak tanır.
Sıralayıcı Gelen Kutusu olarak bilinen hızlı gelen kutusunun karşılığı, yavaş gelen kutusudur (tam adı Gecikmeli Gelen Kutusu). Neden hızlı ve yavaş arasında ayrım yapmalısınız? Bunun nedeni, hızlı gelen kutusunun, sıralayıcı tarafından yayınlanan L2 işlem gruplarını almaya ayrılmış olması ve sıralayıcı tarafından L2 ağı içerisinde önceden işlenmeyen herhangi bir işlemin, hızlı gelen kutusu sözleşmesinde görünmemesidir.
Yavaş gelen kutusunun ilk işlevi L1'den L2'ye para yatırma sürecini yönetmektir. Kullanıcılar yavaş gelen kutusu aracılığıyla para yatırma işlemini başlatır ve sıralayıcı bunu gözlemlediğinde L2'ye yansır. Sonunda, bu yatırma kaydı sıralayıcı tarafından L2 işlem dizisine dahil edilir ve hızlı gelen kutusu sözleşmesine (Sıralayıcı Gelen Kutusu) gönderilir.
Bu senaryoda, kullanıcıların para yatırma işlemlerini doğrudan hızlı gelen kutusuna (Sıralayıcı Gelen Kutusu) göndermeleri uygun değildir çünkü hızlı gelen kutusuna gönderilen işlemler, Katman2'deki normal işlem sıralamasını bozabilir, dolayısıyla sıralayıcının çalışmasını etkileyebilir.
Yavaş gelen kutusunun ikinci işlevi sansüre dayanıklıdır. Yavaş gelen kutusu sözleşmesine doğrudan gönderilen işlemler genellikle sıralayıcı tarafından 10 dakika içinde hızlı gelen kutusuna toplanır. Ancak sıralayıcı isteğinizi kötü niyetli bir şekilde görmezden gelirse, yavaş gelen kutusunun zorunlu bir ekleme özelliği vardır:
Bir işlem Gecikmeli Gelen Kutusu'na gönderilirse ve 24 saat sonra sıralayıcı tarafından işlem sırasına dahil edilmezse kullanıcılar, Katman1'de zorla dahil etme işlevini manuel olarak tetikleyebilir. Bu eylem, sıralayıcı tarafından göz ardı edilen işlemlerin hızlı gelen kutusunda (Sıralayıcı Gelen Kutusu) zorla toplanmasına neden olur. Daha sonra tüm Arbitrum One düğümleri tarafından tespit edilecekler ve Layer2 işlem sırasına zorla dahil edilecekler.
Hızlı gelen kutusundaki verilerin L2'nin geçmiş veri varlığını temsil ettiğinden az önce bahsetmiştik. Bu nedenle, kötü niyetli sansür durumlarında, yavaş gelen kutusunun kullanılması, işlem talimatlarının en sonunda L2 defterine dahil edilmesini sağlar ve Katman2'den kaçmak için zorla para çekme gibi senaryoları kapsar.
Bundan, herhangi bir işlem yönü ve seviyesi için sıralayıcının sizi kalıcı olarak sansürleyemeyeceği görülebilir.
Yavaş gelen kutusunun (Gelen Kutusu) birkaç temel işlevi:
Ancak zorla dahil etme fonksiyonunun aslında hızlı gelen kutusu sözleşmesinde yer aldığını unutmamak önemlidir. Anlaşılması kolay olsun diye yavaş gelen kutusuyla birlikte anlattık.
Giden kutusu yalnızca para çekme işlemleriyle ilgilidir ve para çekme davranışlarına yönelik bir kayıt ve yönetim sistemi olarak anlaşılabilir:
Aşağıda para yatırma ve çekme sürecini tam olarak açıklamak için ETH'yi örnek olarak alacağız. ERC20 ile ETH arasındaki tek fark, eskisinin Gateway kullanmasıdır. Bunu ayrıntılı olarak açıklamayacağız.
Kullanıcı yavaş kutunun mevduatETH() fonksiyonunu çağırır.
Bu işlev 'bridge.enqueueDelayedMessage()'ı çağırmaya devam edecek, Mesajı köprü sözleşmesine kaydedin ve ETH'yi köprü sözleşmesine gönderin. Tüm ETH mevduat fonları, mevduat adresine eşdeğer olan köprü sözleşmesinde tutulur.
Sıralayıcı, yavaş kutudaki yatırma mesajlarını izler ve yatırma işlemini L2 veritabanına yansıtır. Kullanıcılar L2 ağına yatırdıkları varlıkları görebilirler.
Sıralayıcı, yatırma kaydını işlem kümesine dahil eder ve bunu L1'deki hızlı kutu sözleşmesine gönderir.
Kullanıcı L2'de ArbSys sözleşmesinin pullEth() işlevini çağırır ve karşılık gelen ET sayısı L2'ye yazılır.
Sıralayıcı, para çekme talebini ekspres kutuya gönderir.
Doğrulayıcı düğüm, hızlı kutudaki işlem sırasını temel alarak yukarıdaki para çekme işlemlerini içerecek yeni bir Toplama Bloğu oluşturur.
Toplama Bloğu, yine onaylanan sorgulama döneminden geçtikten sonra, kullanıcı, parametrelerin yukarıda bahsedilen ArbSys sözleşmesi tarafından verildiğini kanıtlamak için L1'deki Outbox.execute Transaction() işlevini çağırabilir.
Giden Kutusu sözleşmesinin doğru olduğu onaylandıktan sonra köprüdeki karşılık gelen ETH miktarının kilidi açılacak ve kullanıcıya gönderilecektir.
Nakit çekmek için Optimistic Rollup resmi köprüsünü kullanırken, meydan okuma süresini bekleme sorunu yaşanacaktır. Bu sorunu ortadan kaldırmak için özel bir üçüncü taraf zincirler arası köprü kullanabiliriz:
Force Inclusion() işlevi, sıralayıcının sansürüne direnmek için kullanılır. Bu fonksiyon kullanılarak herhangi bir L2 yerel işlemi, L1'den L2'ye işlem ve L2'den L1'e işlem gerçekleştirilebilir. Sıralayıcının kötü niyetli sansürü, işlem deneyimini ciddi şekilde etkiler. Çoğu durumda parayı çekmeyi ve L2'den ayrılmayı seçeceğiz. Bu nedenle, aşağıda,forceInclusion kullanımını tanıtmak için örnek olarak zorla geri çekilme kullanılmaktadır.
ETH çekme adımlarına dönüp baktığımızda, yalnızca 1. ve 2. adımların sıralayıcı sansürünü içerdiğini, dolayısıyla yalnızca bu iki adımın değiştirilmesi gerektiğini görüyoruz:
Son kullanıcılar Giden Kutusu'ndan para çekebilir ve geri kalan adımlar normal para çekme işlemleriyle aynıdır.
Ayrıca, kullanıcılara L2 yerel işlemlerinin ve ForceInclusion() işlevi aracılığıyla L2'den L1'e işlemlerin nasıl gerçekleştirileceği konusunda rehberlik etmek amacıyla arbitrum eğitimlerinde Arb SDK'nın kullanımına ilişkin ayrıntılı eğitimler de bulunmaktadır.