Sürtünmesiz bir kripto ticaret deneyimi sağlamak için yenilikçi çözümler bulmak, dijital para birimleri genel kabul görene kadar kritik öneme sahiptir.
Yazan:Mustafa Bedawala, Mert Özbay ve Catherine Gü
Derleme: GWEI Araştırması
Sürekli ilerlemeye rağmen, blockchain şu anda ana akım dijital ödeme ekosistemleriyle aynı düzeyde esneklik ve kullanıcı deneyimi sağlamak için mücadele ediyor. Ancak gelişen teknolojiler, dijital para birimleriyle işlem yaparken ödeme deneyimini iyileştirebilir. Kendi Kendine Barındırılan Cüzdanlar için Otomatik Ödemelerde, halka açık blok zincirlerde Hesap Soyutlama (AA) kavramından yararlanarak en son teknolojinin otomatik ödemelere uygulanmasını araştırıyoruz. ¹AA ve iyileştirilmiş bir kripto ödeme deneyimi araştırmamız, Ethereum'daki mevcut AA paradigmasının işlem ücretlerini işlemek için nasıl yaratıcı çözümler sunduğuna bir göz atarak devam ediyor: Kullanıcılar, Ethereum işlem ücretlerini ödemek için stablecoin'leri, diğer ERC-20 jetonlarını kullanabilir veya kullanmazlar. Hiç ödemeyecek misin? Sürtünmesiz bir kripto kabulü ve ticaret deneyimi sağlamak için yenilikçi çözümler bulmak, dijital para birimleri genel kabul görene kadar kritik öneme sahiptir.
Ethereum'daki AA uygulamaları için mevcut standart olan ERC-4337'ye teknik bir genel bakış, ERC-4337'yi daha iyi anlamayı amaçlamaktadır. Blok zincirindeki gaz ücretlerinin kullanıcı rahatlığını artırmak için nasıl yeniden tasarlanabileceğini göstermek için Visa'nın iki grup Paymaster sözleşmesinin deneysel dağıtımını tartışıyoruz.
Hesap soyutlama ve ERC-4337
Hesap soyutlamanın değer önermesini daha iyi anlamak için, şu anda Ethereum'da bulunan iki tür hesabı kısaca gözden geçirelim: Harici Sahipli Hesaplar (EOA'lar) ve sırasıyla kullanıcı hesapları ve akıllı sözleşmeler olarak adlandırılan Sözleşme Hesapları (CA'lar). Özel bir anahtar tarafından kontrol edilen EOA, kullanıcıların işlem göndermesine olanak tanır. Ancak, akıllı sözleşmelerin programlanabilirliğinden yoksundurlar, bu da onları daha da katı hale getirir. Buna karşılık, CA'lar yürütülebilir koda sahiptir ancak işlemleri bağımsız olarak başlatamazlar. İşlemler, ister basit bir jeton transferi ister birçok akıllı sözleşme aracılığıyla gerçekleştirilen karmaşık bir işlem olsun, her zaman kullanıcının hesabından kaynaklanmalı ve kullanıcının imzasını içermelidir.
Hesap Soyutlama (AA) kavramı, CA'ların programlanabilirliğinden son kullanıcıların yararına yararlanmayı amaçlar. Bir akıllı sözleşme yazarken, sözleşmenin davranışını kontrol edecek bir sahibi tanımlamak yaygın bir uygulamadır. Akıllı sözleşmeler olarak oluşturulan kendi kendine barındırılan cüzdanlar, kullanıcılara EOA tabanlı cüzdanlardan daha fazla işlevsellik sağlayabilir. Bu, ethereum kurucusu Vitalik Buterin de dahil olmak üzere ethereum topluluğu üyeleri tarafından önerilen ERC-4337 adlı yeni bir ethereum standardının tanıtılmasıyla elde edilir. ² ERC-4337, sahibinin EOA imzası olmadan doğrudan akıllı sözleşme hesabına sahip olmasını sağlar. Sahibi, EOA'yı geleneksel anlamda imzalamasa da, akıllı sözleşmeye sahip olmaları, akıllı sözleşme hesabını düzgün bir şekilde kontrol edip yönettiklerinden emin olmak için hala güvenli bir kimlik doğrulama süreci gerektiriyor. Buna karşılık, bu akıllı sözleşme hesabı, çok faktörlü kimlik doğrulama, yinelenen ödemeler ve son kullanıcılar tarafından tanımlanan özel kurallar ve politikalar gibi görevleri gerçekleştirebilir.
ERC-4337, ilk olarak 2021'de Ethereum İyileştirme Önerisi (EIP)-4337 olarak önerilen AA'nın en son geliştirmesidir. Ethereum ağındaki uygulamalar için standartlar oluşturan Ethereum Yorum Talebi (ERC) sürecinden geçti. EIP'ler ve ERC'ler arasındaki fark, kapsamları ve benimseme gereksinimleridir. ERC, akıllı sözleşmelerin uygulama düzeyinde nasıl çalışması ve birbirleriyle etkileşim kurması gerektiğini tanımlar. Protokol düzeyinde konuşlandırılan ve topluluk içinde daha geniş fikir birliği gerektiren temel EIP'ler (Ethereum İyileştirme Önerileri) gibi tüm katılımcılar tarafından benimsenmesini gerektirmezler. EIP-4337'den ERC-4337'ye geçiş, teklifin Ethereum uygulamaları için gerekli standartları karşıladığını ve artık resmi olarak Ethereum ekosisteminin bir parçası olduğunu gösteriyor. Mart 2023 itibariyle, ERC-4337'nin temel bileşenleri Ethereum ana ağında dağıtıldı. Önceki hesap soyutlama EIP'lerinin aksine, ERC-4337, Ethereum ağında hesap soyutlamayı etkinleştirmek için blok zincir protokolünün fikir birliği katmanında herhangi bir değişiklik gerektirmez. ² Bu geliştirme, blockchain ağ katılımcılarının büyük ağ yükseltmelerini beklemeden yeni kullanıcı deneyimlerini hemen keşfetmelerine ve denemelerine olanak tanır. ERC-4337'nin avantajlarından birinin, AA'ya Ethereum'un ötesinde bir standart sağlayan Ethereum sanal makinesini kullanan herhangi bir blok zinciriyle uyumlu olması olduğunu belirtmekte fayda var.
ERC-4337 işlemlerini çaprazlama
Tipik bir EOA işleminde kullanıcılar, işlemleri oluşturmak, imzalamak ve genel mempool'a göndermek için kendi kendine barındırılan cüzdanlarıyla etkileşime girer. Oluşturulan ve kullanıcının özel anahtarıyla imzalanan işlem yükü daha sonra düğümler aracılığıyla bir eşler arası (P2P) mempool'a yayılır. Doğrulayıcılar veya uzman kuruluşlar (kurucu olarak adlandırılır), bunları yürütmek ve blok zincirine dahil etmek için halka açık bir mempool'dan uygun ve karlı işlemleri seçer.
Şekil 1: Tipik Ethereum işlem süreci
ERC-4337, işlem proxy EOA adresine ulaşmadan önce yeni bir adım ekleyerek geleneksel EOA yöntemine alternatif bir işlem süreci sunar. Kullanıcılar niyetlerini UserOperations olarak gönderirler ve bunlar daha sonra özel bir UserOperations mempool aracılığıyla yayılır. Bu benzersiz mempool, UserOperations'ı ağın işleyebileceği tipik EOA işlemleri biçiminde ortak mempool'a gönderen bir vekil EOA görevi gören paket oluşturucu tarafından izlenir. Bu işlemler daha sonra, genel bellek havuzuna katılarak veya doğrudan oluşturuculara giderek, normal işlemlerle aynı akışı izler.
UserOperation oluşturmadan yürütmeye kadar bir ERC-4337 işleminin uçtan uca sürecini adım adım tanıtıyoruz. Dalışa geçmeden önce, bu süreçte hayati bir rol oynayan ve kendi araştırmamızın merkezinde yer alan veznedar kavramını tanımlamak zorunludur. Paymaster, sözleşme hesapları (kullanıcı merkezli akıllı sözleşmeler) için işlem ücretlerine sponsor olabilen isteğe bağlı bir akıllı sözleşme hesabıdır. Paymasters, doğrulama aşamasında UserOperation'ın kabul edilip edilmediğini değerlendirir ve yürütme aşamasında gerekli ücret mantığını uygular. Bunu yaparak, kullanıcılar için işlem ücretlerine sponsor olabilir ve kullanıcıların USD stablecoin'ler gibi ERC-20 belirteçlerini kullanarak gas için ödeme yapmalarını sağlayabilirler.
Şekil 2: ERC-4337 işlem süreci
Kullanıcı, ERC-4337 standardına uygun akıllı sözleşme cüzdanı aracılığıyla UserOperations oluşturur. UserOperations, kullanıcının kimlik doğrulama için imzaladığı blok zinciriyle etkileşime girme niyetini özetler. Oluşturulduktan sonra, UserOperations, standart Ethereum işlem mempool'undan ayrı UserOperations'a adanmış bir depolama olan özel UserOperation Mempool'a bağlanır.
Paketleyiciler, UserOperation Mempool'u izleyen, simülasyonlar yürüten ve bir dizi UserOperation'ı tek bir işlem paketinde birleştiren özel bir aktörler sınıfıdır. Paketleyiciler, Kullanıcı İşlemlerini toplamaktan ve bunları EntryPoint sözleşmesine sunmaktan, gaz kullanımını optimize etmekten ve önce ücret mantığını kullanarak karı maksimize etmekten sorumludur.
EntryPoint sözleşmesi bir UserOperations paketi alır. ERC-4337 işlem akışında Kullanıcı İşlemlerini yönetmek için merkezi bir koordinatör görevi görür.
UserOperation belirtilirse, EntryPoint sözleşmesi Paymaster sözleşmesiyle etkileşime girer. Daha önce belirtildiği gibi Paymasters, sözleşme hesabı işlem ücretlerine sponsor olabilir. EntryPoint, ödeyenin yeterli mevduata sahip olduğunu veya sözleşme hesabının gaz için ödeme yapmak için yeterli paraya sahip olduğunu doğrular. Yürütme sırasında Paymaster dahil olursa, bir sonraki bölümde göstereceğimiz özel ücret mantığını uygulayabilir.
EntryPoint sözleşmesi daha sonra sözleşme hesabını ve gerekirse, UserOperation'daki imzayı doğrulamak için veznedarı arar. Sözleşme hesapları, işlem yürütmeyi kolaylaştırmak için EntryPoint sözleşmesiyle sorunsuz bir şekilde etkileşime giren kullanıcı hesaplarıdır. Doğrulama başarılı olduktan sonra EntryPoint, her bir Kullanıcıİşleminin ilgili verilerini Sözleşme Hesabına aktarır ve yürütme sürecini başlatır.
Hesap soyutlama ve pratik uygulama
Blockchain teknolojisi gerçek dünyadaki uygulamaları keşfetmeye devam ettikçe, kendi kendine saklama cüzdanları, kullanıcıların dijital para birimlerini tutması ve işlem yapması için popüler bir seçenek haline geliyor. Ethereum'un başlangıcından bu yana, her türden hesap ve aynı kişi veya kişi grubuna ait birden fazla hesap dahil olmak üzere yaklaşık 180 milyon benzersiz adres işlem gördü. ³Bununla birlikte, her ay yalnızca gerçek kişiler tarafından başlatılan milyonlarca zincir üstü etkileşim görüyoruz ve Ethereum ana ağında günde yaklaşık 1 milyon işlemle günlük zincir üstü aktivite görüyoruz. ⁴ Karşılaştırıldığında, Visa 2022'de günde ortalama 707 milyon işlem olan 258 milyar işlem gerçekleştirdi ve şu anda dünya çapında 4,1 milyar Visa bağlantılı kart dolaşımda. ⁵ Blok zincirleri, aynı kullanım kolaylığıyla aynı genişlikte ödeme deneyimlerini destekleseler karşılaştırılabilir düzeyde benimseme elde edebilirler mi? Bu yöndeki olası adımlar, kullanıcılar için gaz ücretlerinin geri çekilmesini veya ERC-20 belirteçlerinde işlem ücretleri ödemelerine izin verilmesini içerir.
ERC-20 jetonlarıyla ödeme yapmak için ERC-4337 Paymaster'ı kullanın
Şekil 3: Paymaster, işlem ücretlerinin ERC-20 tokenleri kullanılarak ödenmesini kolaylaştırıyor
Bugün Ethereum blok zincirinde işlem yapmak için, kullanıcıların gas ücretlerini ödemek için ETH almaları gerekir; benzer şekilde, Polygon blok zincirinde işlem yapmak için, kullanıcıların yerel token MATIC'i almaları gerekir. Sadece gaz için ödeme yapmak amacıyla farklı yerel blok zincir belirteçleri biriktirme ihtiyacını ortadan kaldıran bir çözüm var mı? Durum, Visa'nın temel sınır ötesi ödeme ağının değerine benzer; burada gezginler, yerel para birimlerini önce edinmeden yerel para birimlerinde harcama yapabilirler. Paymaster sözleşmesinin bu versiyonunda, sözleşme bir aracı para birimi dönüştürme hizmeti görevi görebilir. Hizmet, kullanıcılardan dijital para birimi toplayabilir ve ardından kullanıcı adına benzin için ödeme yapmak üzere geçerli döviz kuruna dayalı olarak yerel bir jetona dönüştürebilir. Ek olarak, bu anında finansman ile yapılabilir, yani kullanıcıların nakit akışı yönetimini optimize etmek için herhangi bir ön finansman gereksinimi olmadan yalnızca işlem sırasında gaz maliyetlerini finanse etmeleri gerekir.
ERC-4337 Paymaster kullanan kullanıcılar için sponsor işlem ücretleri
Şekil 4: Paymaster, kullanıcılar için işlem ücretlerine sponsor olur
Bugün Web 2.0'daki P2P işlemleri birçok ülkedeki tüketiciler için ücretsizdir ve bu da acil bir soruyu gündeme getirmektedir: tüketiciler neden blok zincirindeki P2P işlemleri için ödeme yapmalıdır? Hesap Soyutlama, üçüncü bir tarafın (bir fintech cüzdan sağlayıcısı gibi) bu ücretleri karşılamaya istekli olması durumunda kullanıcıların bu ücretleri atlamasına olanak tanıyan bir çözüm sunar. Bu durumda, cüzdan sağlayıcı veya dApp, veznedar olarak hareket ederek kullanıcı için gaz ücreti ödeyebilir ve sürtüşmeyi önemli ölçüde azaltabilir. ERC-4337 Paymaster konsepti, kullanıcıların cüzdan platformları üzerinden ücretsiz olarak işlem yapmasına izin vererek kullanıcı benimsemesini teşvik edebilir.
Diğer şeylerin yanı sıra, akıllı sözleşme hesapları, cüzdan yönetimini basitleştirebilir ve imza doğrulamaya bir alternatif sunarak kişisel saklama cüzdanlarında daha fazla güvenlik ve fon kurtarma için çok faktörlü kimlik doğrulamayı etkinleştirebilir. Ek olarak, dApp'lerin belirli bir miktara kadar kullanıcı hesaplarından yinelenen çekme ödemelerini işlemesine izin vermek gibi özelleştirilebilir limitlerle belirli görevler için geçici izinler vererek dApp'lerin kullanımını kolaylaştırırlar. Bu örnekler, akıllı sözleşmelerin, kripto para birimi olmayan kullanıcıların hesaplarını güvende tutarken blockchain teknolojisiyle daha kolay etkileşim kurmasına nasıl yardımcı olabileceğini basitçe göstermektedir.
ERC-4337 Paymaster ile yaptığımız deneyler
ERC-20 jetonlarıyla ödeme yapmak için ERC-4337 Paymaster'ı kullanın
Şekil 5: Paymaster, ERC-20 belirteçleri (kod snippet'i) kullanarak işlem ücretlerinin ödenmesini kolaylaştırır
İlk Visa Paymaster sözleşmemizle, kullanıcıların işlem ücretlerini gelecekte USD sabit para birimleri veya hatta merkez bankası dijital para birimleri gibi alternatif belirteçlerle ödeyip ödeyemeyeceğini araştırıyoruz. Bu durumda Paymaster, kullanıcı tarafından ödenen jenerik bir ERC-20 token eşdeğerini alarak ETH işlem ücretlerini öder. Uygulama için Ethereum Vakfı ve ERC-4337 çekirdek ekibi⁶ tarafından sağlanan başlangıç kodunu kullandık. Bu örnek sözleşme, Paymaster için yönetim mantığını ve özel ERC-20 jetonunu içerir. Bu sözleşme için, bir beyaz liste ve token-ETH dönüşüm oranını güncelleme işlevi sunuyoruz. Bu, ETH ile jetonlar arasındaki döviz kurunun dinamik olduğu gerçek yaşam koşullarını daha iyi simüle etmemizi sağlar. Test kurulumumuz, bir akıllı sözleşme cüzdanı dağıtmayı ve kullanıcı eylemleri göndermeyi içeriyordu. Şu anda ERC-4337 uyumlu cüzdan seçenekleri sınırlıdır, Ethereum Vakfı ve ERC-4337 çekirdek ekibi tarafından oluşturulan Trampoline cüzdanını kullanmaya karar verdik. ⁷ Kullanıcı işlemlerimizi Goerli Testnet'e göndermek için Blocknative'in genel Bundler'ını kullandık. ⁸ Başarılı bir UserOperation için, Visa Paymaster sözleşmesinin öncelikle kullanıcının gas ücretini ödemek için ERC-20'de yeterli bakiyesi olup olmadığını kontrol etmesi gerekir. Onaydan sonra, kullanıcılar işlem ücretlerini bu jenerik ERC-20 belirteci ile öderler. Dağıtılan sözleşmemizi, ⁹ ve işlenen UserOperation'ı burada bulabilirsiniz.
ERC-4337 Paymaster kullanan kullanıcılar için sponsor işlem ücretleri
Şekil 6: Paymaster, kullanıcılar için işlem ücretlerine sponsor olur (kod snippet'i)
Bahsettiğimiz ikinci kullanım örneğine göre, diğer Visa Paymaster sözleşmemiz işlem ücretlerini tamamen destekliyor. Yine uygulamamız, Ethereum Foundation ve ERC-4337 çekirdek ekibi tarafından sağlanan başlangıç koduna¹¹ dayanmaktadır. Origination Code, her işlemi karşılıksız olarak destekler. Yalnızca yetkili kullanıcıların Visa Paymaster sözleşmesiyle etkileşime girmesine izin vermek için bir beyaz liste ekledik. Devreye alınan sözleşmemizi burada bulabilirsiniz. ¹² Test uygulamamız, beyaz listedeki kullanıcılar için kullanıcı işlem işlem ücretlerini başarıyla destekleyebildi. Burada başarılı bir UserOperation görebilirsiniz. ¹³
Paymaster kullanım örneği, bu makalede vurguladığımızın çok ötesine geçer. Temel blockchain işleme mantığını soyutlayarak, birçok yenilikçi kullanıcı deneyimi mümkündür. Halihazırda devam etmekte olan ERC-4337 geliştirmesi için, yukarıda açıklanan deneylerimizi temel alabilecek birkaç olası yaklaşım görüyoruz. Örneğin, Paymaster akıllı sözleşmesine yerleşik özel bir yeni ERC-20 belirteci gerektirmek yerine, Paymaster'ı USDC gibi mevcut bir ERC-20 belirteciyle entegre etmek daha kolay olacaktır. Bu yaklaşım, belirteç fiyatını belirlemek için harici bir kaynak kullanmayı ve Paymaster sözleşmesinin kullanıcıdan belirtilen belirteç için ücretlendirmeyi onayladığını kontrol etmeyi gerektirir. Bir yaklaşım, Paymaster sözleşmesinin doğrulayabileceği token fiyatları ve imzalar gibi gerekli bilgileri sağlayabilen zincir dışı bir kehanet hizmeti dağıtmaktır.
Alternatif olarak, gerekli veriler için bir kehanet sözleşmesinin yardımıyla tüm süreç zincir üzerinde ele alınabilir. Bu yaklaşım, veznedarların uygun şekilde tazmin edildiği konusunda daha iyi güvence sağlarken, uygulanması da daha zordur. Bazı ERC-4337 kısıtlamaları, Paymaster'ların Paymaster doğrulaması sırasında zincir üzerindeki kahinleri sorgulamasını zorlaştırır ve Bundler'lar genellikle bunu yapması gereken UserOperation'ları reddeder. Bu süreci etkinleştirmek için, Bundler'ın seçebileceği güvenilir Paymaster'ların bir listesini içeren alternatif bir mempool oluşturmak gerekir. Bu güvenilir Paymaster'lar kehanet sözleşmelerini çağırabilir ve bu Paymaster'ları kullanan UserOperation'lar yedek bellek havuzundan çekilir.
Geleceğe bakmak
Dijital bir cüzdan kullanarak bir blok zinciriyle etkileşim kurmak zorlu bir deneyim olabilir ve çoğu kişi, kullanım kolaylığı sağlamanın daha geniş çapta benimsenmeyi sağlamada kritik bir adım olduğuna inanıyor. ERC-4337, kullanıcıların dijital para birimlerini ve dijital varlıkları harcama şeklini değiştirebilecek kendi kendini koruyan akıllı sözleşme cüzdanları aracılığıyla zincir üstü kullanıcı ödeme deneyimini geliştirmek için ilginç gelecek olasılıkları ortaya koyuyor.
ERC-4337 söz konusu olduğunda, Ethereum topluluğu bu yeni yolculuğun başlangıcındadır. Bazılarını testlerimizde kullandığımız ve bu makalede bahsettiğimiz, AA güdümlü akışların üzerine inşa edilebileceği altyapıyı sağlamak için birçok plan var, ancak hala büyüme için önemli bir alan var. Herhangi bir açık alanda olduğu gibi, kamu Paketleyiciler tarafından sunulan ademi merkeziyetçilik seçeneklerine karşı özel Paketleyicilerin özelleştirilebilirliği gibi rekabet eden yaklaşımlar ve takaslar vardır: Paymaster'ın tamamen zincir üzerinde güvene dayalı güvenliğine karşı maliyet etkinliğine kıyasla bazı bileşenleri dağıtma; ve diğer şeylerin yanı sıra cüzdanların kullanabileceği çok sayıda alternatif imza şeması. Bu farklı tasarım seçenekleri, kullanıcılara gelecekteki dijital ödeme deneyimlerini daha iyi sağlamak için zengin seçeneklerle sonuçlanabilir.
Herkes için, Her Yerde Ödeme İnovasyonu
Ödeme çözümlerinde dünya lideri olan Visa, her zaman gerçek dünyanın ihtiyaçlarını karşılayan yeniliklerin peşindedir. Akıllı sözleşmelerin potansiyelini ve programlanabilir para ve programlanabilir ödemelerin olası geleceğini araştırmaya devam edeceğiz. Bu yazıda, ERC-4337 tarafından uygulanan Ethereum'da AA'nın blok zincirinde ilginç yeni kullanım durumlarını nasıl sağlayabileceğini araştırıyoruz. Bir ERC-4337 işleminin uçtan uca gözden geçirilmesini sağlıyoruz ve temeldeki mekaniği vurgulamak için bunun standart Ethereum işlemlerinden nasıl farklı olduğunu açıklıyoruz.
ERC-4337 ile ilgili deneylerimiz, gerçek dünya sorunlarını çözmedeki potansiyel faydalarını öğrenmek ve değerlendirmek ve zincir üstü etkileşimler yoluyla müşteri deneyimini önemli ölçüde geliştirmek için Paymaster sözleşmelerini konuşlandırarak iki farklı kullanım durumuna odaklanıyor. Bu sınırda çalışan şirketler için ürün, araştırma ve mühendislik ekiplerimiz programlanabilir ödemelere yönelik fikirleri tartışmaktan mutluluk duyacaktır.
Kripto ekosistemindeki araştırma ilgi alanlarımız ve faaliyetlerimiz hakkında daha fazla bilgi edinmek için GDLVisaCryptoResearch@visa.com adresinden Visa Crypto ile iletişime geçin.
*Bu belge yalnızca açıklama amaçlıdır. Geliştirilmekte olan ürünün bir açıklamasını içerir ve tam olarak dağıtılan ürünün potansiyel yeteneklerinin bir temsili olarak anlaşılmalıdır. Bu ürünün son sürümü, bu sunumda açıklanan tüm özellikleri içermeyebilir. Yazımızda, kavramsal terimler olan giriş noktası, paymaster ve kullanıcı işlemi ile bunlara karşılık gelen zincir üzerindeki varlıklar EntryPoint, UserOperation ve Paymaster arasında net bir ayrım yapmakta ısrar ediyoruz. Bu yaklaşım, orijinal ERC-4337 teklifinde belirtilen kuralları takip eder. *
*İncelemeleri için Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot ve Stackup kurucu ortağı John Rising'e teşekkür ederiz. *
View Original
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
Visa: Hesap Soyutlamasından Kripto İşlemlerini Yeniden Düşünmek
Yazan: Mustafa Bedawala, Mert Özbay ve Catherine Gü
Derleme: GWEI Araştırması
Sürekli ilerlemeye rağmen, blockchain şu anda ana akım dijital ödeme ekosistemleriyle aynı düzeyde esneklik ve kullanıcı deneyimi sağlamak için mücadele ediyor. Ancak gelişen teknolojiler, dijital para birimleriyle işlem yaparken ödeme deneyimini iyileştirebilir. Kendi Kendine Barındırılan Cüzdanlar için Otomatik Ödemelerde, halka açık blok zincirlerde Hesap Soyutlama (AA) kavramından yararlanarak en son teknolojinin otomatik ödemelere uygulanmasını araştırıyoruz. ¹AA ve iyileştirilmiş bir kripto ödeme deneyimi araştırmamız, Ethereum'daki mevcut AA paradigmasının işlem ücretlerini işlemek için nasıl yaratıcı çözümler sunduğuna bir göz atarak devam ediyor: Kullanıcılar, Ethereum işlem ücretlerini ödemek için stablecoin'leri, diğer ERC-20 jetonlarını kullanabilir veya kullanmazlar. Hiç ödemeyecek misin? Sürtünmesiz bir kripto kabulü ve ticaret deneyimi sağlamak için yenilikçi çözümler bulmak, dijital para birimleri genel kabul görene kadar kritik öneme sahiptir.
Ethereum'daki AA uygulamaları için mevcut standart olan ERC-4337'ye teknik bir genel bakış, ERC-4337'yi daha iyi anlamayı amaçlamaktadır. Blok zincirindeki gaz ücretlerinin kullanıcı rahatlığını artırmak için nasıl yeniden tasarlanabileceğini göstermek için Visa'nın iki grup Paymaster sözleşmesinin deneysel dağıtımını tartışıyoruz.
Hesap soyutlama ve ERC-4337
Hesap soyutlamanın değer önermesini daha iyi anlamak için, şu anda Ethereum'da bulunan iki tür hesabı kısaca gözden geçirelim: Harici Sahipli Hesaplar (EOA'lar) ve sırasıyla kullanıcı hesapları ve akıllı sözleşmeler olarak adlandırılan Sözleşme Hesapları (CA'lar). Özel bir anahtar tarafından kontrol edilen EOA, kullanıcıların işlem göndermesine olanak tanır. Ancak, akıllı sözleşmelerin programlanabilirliğinden yoksundurlar, bu da onları daha da katı hale getirir. Buna karşılık, CA'lar yürütülebilir koda sahiptir ancak işlemleri bağımsız olarak başlatamazlar. İşlemler, ister basit bir jeton transferi ister birçok akıllı sözleşme aracılığıyla gerçekleştirilen karmaşık bir işlem olsun, her zaman kullanıcının hesabından kaynaklanmalı ve kullanıcının imzasını içermelidir.
Hesap Soyutlama (AA) kavramı, CA'ların programlanabilirliğinden son kullanıcıların yararına yararlanmayı amaçlar. Bir akıllı sözleşme yazarken, sözleşmenin davranışını kontrol edecek bir sahibi tanımlamak yaygın bir uygulamadır. Akıllı sözleşmeler olarak oluşturulan kendi kendine barındırılan cüzdanlar, kullanıcılara EOA tabanlı cüzdanlardan daha fazla işlevsellik sağlayabilir. Bu, ethereum kurucusu Vitalik Buterin de dahil olmak üzere ethereum topluluğu üyeleri tarafından önerilen ERC-4337 adlı yeni bir ethereum standardının tanıtılmasıyla elde edilir. ² ERC-4337, sahibinin EOA imzası olmadan doğrudan akıllı sözleşme hesabına sahip olmasını sağlar. Sahibi, EOA'yı geleneksel anlamda imzalamasa da, akıllı sözleşmeye sahip olmaları, akıllı sözleşme hesabını düzgün bir şekilde kontrol edip yönettiklerinden emin olmak için hala güvenli bir kimlik doğrulama süreci gerektiriyor. Buna karşılık, bu akıllı sözleşme hesabı, çok faktörlü kimlik doğrulama, yinelenen ödemeler ve son kullanıcılar tarafından tanımlanan özel kurallar ve politikalar gibi görevleri gerçekleştirebilir.
ERC-4337, ilk olarak 2021'de Ethereum İyileştirme Önerisi (EIP)-4337 olarak önerilen AA'nın en son geliştirmesidir. Ethereum ağındaki uygulamalar için standartlar oluşturan Ethereum Yorum Talebi (ERC) sürecinden geçti. EIP'ler ve ERC'ler arasındaki fark, kapsamları ve benimseme gereksinimleridir. ERC, akıllı sözleşmelerin uygulama düzeyinde nasıl çalışması ve birbirleriyle etkileşim kurması gerektiğini tanımlar. Protokol düzeyinde konuşlandırılan ve topluluk içinde daha geniş fikir birliği gerektiren temel EIP'ler (Ethereum İyileştirme Önerileri) gibi tüm katılımcılar tarafından benimsenmesini gerektirmezler. EIP-4337'den ERC-4337'ye geçiş, teklifin Ethereum uygulamaları için gerekli standartları karşıladığını ve artık resmi olarak Ethereum ekosisteminin bir parçası olduğunu gösteriyor. Mart 2023 itibariyle, ERC-4337'nin temel bileşenleri Ethereum ana ağında dağıtıldı. Önceki hesap soyutlama EIP'lerinin aksine, ERC-4337, Ethereum ağında hesap soyutlamayı etkinleştirmek için blok zincir protokolünün fikir birliği katmanında herhangi bir değişiklik gerektirmez. ² Bu geliştirme, blockchain ağ katılımcılarının büyük ağ yükseltmelerini beklemeden yeni kullanıcı deneyimlerini hemen keşfetmelerine ve denemelerine olanak tanır. ERC-4337'nin avantajlarından birinin, AA'ya Ethereum'un ötesinde bir standart sağlayan Ethereum sanal makinesini kullanan herhangi bir blok zinciriyle uyumlu olması olduğunu belirtmekte fayda var.
ERC-4337 işlemlerini çaprazlama
Tipik bir EOA işleminde kullanıcılar, işlemleri oluşturmak, imzalamak ve genel mempool'a göndermek için kendi kendine barındırılan cüzdanlarıyla etkileşime girer. Oluşturulan ve kullanıcının özel anahtarıyla imzalanan işlem yükü daha sonra düğümler aracılığıyla bir eşler arası (P2P) mempool'a yayılır. Doğrulayıcılar veya uzman kuruluşlar (kurucu olarak adlandırılır), bunları yürütmek ve blok zincirine dahil etmek için halka açık bir mempool'dan uygun ve karlı işlemleri seçer.
Şekil 1: Tipik Ethereum işlem süreci
ERC-4337, işlem proxy EOA adresine ulaşmadan önce yeni bir adım ekleyerek geleneksel EOA yöntemine alternatif bir işlem süreci sunar. Kullanıcılar niyetlerini UserOperations olarak gönderirler ve bunlar daha sonra özel bir UserOperations mempool aracılığıyla yayılır. Bu benzersiz mempool, UserOperations'ı ağın işleyebileceği tipik EOA işlemleri biçiminde ortak mempool'a gönderen bir vekil EOA görevi gören paket oluşturucu tarafından izlenir. Bu işlemler daha sonra, genel bellek havuzuna katılarak veya doğrudan oluşturuculara giderek, normal işlemlerle aynı akışı izler.
UserOperation oluşturmadan yürütmeye kadar bir ERC-4337 işleminin uçtan uca sürecini adım adım tanıtıyoruz. Dalışa geçmeden önce, bu süreçte hayati bir rol oynayan ve kendi araştırmamızın merkezinde yer alan veznedar kavramını tanımlamak zorunludur. Paymaster, sözleşme hesapları (kullanıcı merkezli akıllı sözleşmeler) için işlem ücretlerine sponsor olabilen isteğe bağlı bir akıllı sözleşme hesabıdır. Paymasters, doğrulama aşamasında UserOperation'ın kabul edilip edilmediğini değerlendirir ve yürütme aşamasında gerekli ücret mantığını uygular. Bunu yaparak, kullanıcılar için işlem ücretlerine sponsor olabilir ve kullanıcıların USD stablecoin'ler gibi ERC-20 belirteçlerini kullanarak gas için ödeme yapmalarını sağlayabilirler.
Şekil 2: ERC-4337 işlem süreci
Kullanıcı, ERC-4337 standardına uygun akıllı sözleşme cüzdanı aracılığıyla UserOperations oluşturur. UserOperations, kullanıcının kimlik doğrulama için imzaladığı blok zinciriyle etkileşime girme niyetini özetler. Oluşturulduktan sonra, UserOperations, standart Ethereum işlem mempool'undan ayrı UserOperations'a adanmış bir depolama olan özel UserOperation Mempool'a bağlanır.
Paketleyiciler, UserOperation Mempool'u izleyen, simülasyonlar yürüten ve bir dizi UserOperation'ı tek bir işlem paketinde birleştiren özel bir aktörler sınıfıdır. Paketleyiciler, Kullanıcı İşlemlerini toplamaktan ve bunları EntryPoint sözleşmesine sunmaktan, gaz kullanımını optimize etmekten ve önce ücret mantığını kullanarak karı maksimize etmekten sorumludur.
EntryPoint sözleşmesi bir UserOperations paketi alır. ERC-4337 işlem akışında Kullanıcı İşlemlerini yönetmek için merkezi bir koordinatör görevi görür.
UserOperation belirtilirse, EntryPoint sözleşmesi Paymaster sözleşmesiyle etkileşime girer. Daha önce belirtildiği gibi Paymasters, sözleşme hesabı işlem ücretlerine sponsor olabilir. EntryPoint, ödeyenin yeterli mevduata sahip olduğunu veya sözleşme hesabının gaz için ödeme yapmak için yeterli paraya sahip olduğunu doğrular. Yürütme sırasında Paymaster dahil olursa, bir sonraki bölümde göstereceğimiz özel ücret mantığını uygulayabilir.
EntryPoint sözleşmesi daha sonra sözleşme hesabını ve gerekirse, UserOperation'daki imzayı doğrulamak için veznedarı arar. Sözleşme hesapları, işlem yürütmeyi kolaylaştırmak için EntryPoint sözleşmesiyle sorunsuz bir şekilde etkileşime giren kullanıcı hesaplarıdır. Doğrulama başarılı olduktan sonra EntryPoint, her bir Kullanıcıİşleminin ilgili verilerini Sözleşme Hesabına aktarır ve yürütme sürecini başlatır.
Hesap soyutlama ve pratik uygulama
Blockchain teknolojisi gerçek dünyadaki uygulamaları keşfetmeye devam ettikçe, kendi kendine saklama cüzdanları, kullanıcıların dijital para birimlerini tutması ve işlem yapması için popüler bir seçenek haline geliyor. Ethereum'un başlangıcından bu yana, her türden hesap ve aynı kişi veya kişi grubuna ait birden fazla hesap dahil olmak üzere yaklaşık 180 milyon benzersiz adres işlem gördü. ³Bununla birlikte, her ay yalnızca gerçek kişiler tarafından başlatılan milyonlarca zincir üstü etkileşim görüyoruz ve Ethereum ana ağında günde yaklaşık 1 milyon işlemle günlük zincir üstü aktivite görüyoruz. ⁴ Karşılaştırıldığında, Visa 2022'de günde ortalama 707 milyon işlem olan 258 milyar işlem gerçekleştirdi ve şu anda dünya çapında 4,1 milyar Visa bağlantılı kart dolaşımda. ⁵ Blok zincirleri, aynı kullanım kolaylığıyla aynı genişlikte ödeme deneyimlerini destekleseler karşılaştırılabilir düzeyde benimseme elde edebilirler mi? Bu yöndeki olası adımlar, kullanıcılar için gaz ücretlerinin geri çekilmesini veya ERC-20 belirteçlerinde işlem ücretleri ödemelerine izin verilmesini içerir.
ERC-20 jetonlarıyla ödeme yapmak için ERC-4337 Paymaster'ı kullanın
Şekil 3: Paymaster, işlem ücretlerinin ERC-20 tokenleri kullanılarak ödenmesini kolaylaştırıyor
Bugün Ethereum blok zincirinde işlem yapmak için, kullanıcıların gas ücretlerini ödemek için ETH almaları gerekir; benzer şekilde, Polygon blok zincirinde işlem yapmak için, kullanıcıların yerel token MATIC'i almaları gerekir. Sadece gaz için ödeme yapmak amacıyla farklı yerel blok zincir belirteçleri biriktirme ihtiyacını ortadan kaldıran bir çözüm var mı? Durum, Visa'nın temel sınır ötesi ödeme ağının değerine benzer; burada gezginler, yerel para birimlerini önce edinmeden yerel para birimlerinde harcama yapabilirler. Paymaster sözleşmesinin bu versiyonunda, sözleşme bir aracı para birimi dönüştürme hizmeti görevi görebilir. Hizmet, kullanıcılardan dijital para birimi toplayabilir ve ardından kullanıcı adına benzin için ödeme yapmak üzere geçerli döviz kuruna dayalı olarak yerel bir jetona dönüştürebilir. Ek olarak, bu anında finansman ile yapılabilir, yani kullanıcıların nakit akışı yönetimini optimize etmek için herhangi bir ön finansman gereksinimi olmadan yalnızca işlem sırasında gaz maliyetlerini finanse etmeleri gerekir.
ERC-4337 Paymaster kullanan kullanıcılar için sponsor işlem ücretleri
Şekil 4: Paymaster, kullanıcılar için işlem ücretlerine sponsor olur
Bugün Web 2.0'daki P2P işlemleri birçok ülkedeki tüketiciler için ücretsizdir ve bu da acil bir soruyu gündeme getirmektedir: tüketiciler neden blok zincirindeki P2P işlemleri için ödeme yapmalıdır? Hesap Soyutlama, üçüncü bir tarafın (bir fintech cüzdan sağlayıcısı gibi) bu ücretleri karşılamaya istekli olması durumunda kullanıcıların bu ücretleri atlamasına olanak tanıyan bir çözüm sunar. Bu durumda, cüzdan sağlayıcı veya dApp, veznedar olarak hareket ederek kullanıcı için gaz ücreti ödeyebilir ve sürtüşmeyi önemli ölçüde azaltabilir. ERC-4337 Paymaster konsepti, kullanıcıların cüzdan platformları üzerinden ücretsiz olarak işlem yapmasına izin vererek kullanıcı benimsemesini teşvik edebilir.
Diğer şeylerin yanı sıra, akıllı sözleşme hesapları, cüzdan yönetimini basitleştirebilir ve imza doğrulamaya bir alternatif sunarak kişisel saklama cüzdanlarında daha fazla güvenlik ve fon kurtarma için çok faktörlü kimlik doğrulamayı etkinleştirebilir. Ek olarak, dApp'lerin belirli bir miktara kadar kullanıcı hesaplarından yinelenen çekme ödemelerini işlemesine izin vermek gibi özelleştirilebilir limitlerle belirli görevler için geçici izinler vererek dApp'lerin kullanımını kolaylaştırırlar. Bu örnekler, akıllı sözleşmelerin, kripto para birimi olmayan kullanıcıların hesaplarını güvende tutarken blockchain teknolojisiyle daha kolay etkileşim kurmasına nasıl yardımcı olabileceğini basitçe göstermektedir.
ERC-4337 Paymaster ile yaptığımız deneyler
ERC-20 jetonlarıyla ödeme yapmak için ERC-4337 Paymaster'ı kullanın
Şekil 5: Paymaster, ERC-20 belirteçleri (kod snippet'i) kullanarak işlem ücretlerinin ödenmesini kolaylaştırır
İlk Visa Paymaster sözleşmemizle, kullanıcıların işlem ücretlerini gelecekte USD sabit para birimleri veya hatta merkez bankası dijital para birimleri gibi alternatif belirteçlerle ödeyip ödeyemeyeceğini araştırıyoruz. Bu durumda Paymaster, kullanıcı tarafından ödenen jenerik bir ERC-20 token eşdeğerini alarak ETH işlem ücretlerini öder. Uygulama için Ethereum Vakfı ve ERC-4337 çekirdek ekibi⁶ tarafından sağlanan başlangıç kodunu kullandık. Bu örnek sözleşme, Paymaster için yönetim mantığını ve özel ERC-20 jetonunu içerir. Bu sözleşme için, bir beyaz liste ve token-ETH dönüşüm oranını güncelleme işlevi sunuyoruz. Bu, ETH ile jetonlar arasındaki döviz kurunun dinamik olduğu gerçek yaşam koşullarını daha iyi simüle etmemizi sağlar. Test kurulumumuz, bir akıllı sözleşme cüzdanı dağıtmayı ve kullanıcı eylemleri göndermeyi içeriyordu. Şu anda ERC-4337 uyumlu cüzdan seçenekleri sınırlıdır, Ethereum Vakfı ve ERC-4337 çekirdek ekibi tarafından oluşturulan Trampoline cüzdanını kullanmaya karar verdik. ⁷ Kullanıcı işlemlerimizi Goerli Testnet'e göndermek için Blocknative'in genel Bundler'ını kullandık. ⁸ Başarılı bir UserOperation için, Visa Paymaster sözleşmesinin öncelikle kullanıcının gas ücretini ödemek için ERC-20'de yeterli bakiyesi olup olmadığını kontrol etmesi gerekir. Onaydan sonra, kullanıcılar işlem ücretlerini bu jenerik ERC-20 belirteci ile öderler. Dağıtılan sözleşmemizi, ⁹ ve işlenen UserOperation'ı burada bulabilirsiniz.
ERC-4337 Paymaster kullanan kullanıcılar için sponsor işlem ücretleri
Şekil 6: Paymaster, kullanıcılar için işlem ücretlerine sponsor olur (kod snippet'i)
Bahsettiğimiz ikinci kullanım örneğine göre, diğer Visa Paymaster sözleşmemiz işlem ücretlerini tamamen destekliyor. Yine uygulamamız, Ethereum Foundation ve ERC-4337 çekirdek ekibi tarafından sağlanan başlangıç koduna¹¹ dayanmaktadır. Origination Code, her işlemi karşılıksız olarak destekler. Yalnızca yetkili kullanıcıların Visa Paymaster sözleşmesiyle etkileşime girmesine izin vermek için bir beyaz liste ekledik. Devreye alınan sözleşmemizi burada bulabilirsiniz. ¹² Test uygulamamız, beyaz listedeki kullanıcılar için kullanıcı işlem işlem ücretlerini başarıyla destekleyebildi. Burada başarılı bir UserOperation görebilirsiniz. ¹³
Paymaster kullanım örneği, bu makalede vurguladığımızın çok ötesine geçer. Temel blockchain işleme mantığını soyutlayarak, birçok yenilikçi kullanıcı deneyimi mümkündür. Halihazırda devam etmekte olan ERC-4337 geliştirmesi için, yukarıda açıklanan deneylerimizi temel alabilecek birkaç olası yaklaşım görüyoruz. Örneğin, Paymaster akıllı sözleşmesine yerleşik özel bir yeni ERC-20 belirteci gerektirmek yerine, Paymaster'ı USDC gibi mevcut bir ERC-20 belirteciyle entegre etmek daha kolay olacaktır. Bu yaklaşım, belirteç fiyatını belirlemek için harici bir kaynak kullanmayı ve Paymaster sözleşmesinin kullanıcıdan belirtilen belirteç için ücretlendirmeyi onayladığını kontrol etmeyi gerektirir. Bir yaklaşım, Paymaster sözleşmesinin doğrulayabileceği token fiyatları ve imzalar gibi gerekli bilgileri sağlayabilen zincir dışı bir kehanet hizmeti dağıtmaktır.
Alternatif olarak, gerekli veriler için bir kehanet sözleşmesinin yardımıyla tüm süreç zincir üzerinde ele alınabilir. Bu yaklaşım, veznedarların uygun şekilde tazmin edildiği konusunda daha iyi güvence sağlarken, uygulanması da daha zordur. Bazı ERC-4337 kısıtlamaları, Paymaster'ların Paymaster doğrulaması sırasında zincir üzerindeki kahinleri sorgulamasını zorlaştırır ve Bundler'lar genellikle bunu yapması gereken UserOperation'ları reddeder. Bu süreci etkinleştirmek için, Bundler'ın seçebileceği güvenilir Paymaster'ların bir listesini içeren alternatif bir mempool oluşturmak gerekir. Bu güvenilir Paymaster'lar kehanet sözleşmelerini çağırabilir ve bu Paymaster'ları kullanan UserOperation'lar yedek bellek havuzundan çekilir.
Geleceğe bakmak
Dijital bir cüzdan kullanarak bir blok zinciriyle etkileşim kurmak zorlu bir deneyim olabilir ve çoğu kişi, kullanım kolaylığı sağlamanın daha geniş çapta benimsenmeyi sağlamada kritik bir adım olduğuna inanıyor. ERC-4337, kullanıcıların dijital para birimlerini ve dijital varlıkları harcama şeklini değiştirebilecek kendi kendini koruyan akıllı sözleşme cüzdanları aracılığıyla zincir üstü kullanıcı ödeme deneyimini geliştirmek için ilginç gelecek olasılıkları ortaya koyuyor.
ERC-4337 söz konusu olduğunda, Ethereum topluluğu bu yeni yolculuğun başlangıcındadır. Bazılarını testlerimizde kullandığımız ve bu makalede bahsettiğimiz, AA güdümlü akışların üzerine inşa edilebileceği altyapıyı sağlamak için birçok plan var, ancak hala büyüme için önemli bir alan var. Herhangi bir açık alanda olduğu gibi, kamu Paketleyiciler tarafından sunulan ademi merkeziyetçilik seçeneklerine karşı özel Paketleyicilerin özelleştirilebilirliği gibi rekabet eden yaklaşımlar ve takaslar vardır: Paymaster'ın tamamen zincir üzerinde güvene dayalı güvenliğine karşı maliyet etkinliğine kıyasla bazı bileşenleri dağıtma; ve diğer şeylerin yanı sıra cüzdanların kullanabileceği çok sayıda alternatif imza şeması. Bu farklı tasarım seçenekleri, kullanıcılara gelecekteki dijital ödeme deneyimlerini daha iyi sağlamak için zengin seçeneklerle sonuçlanabilir.
Herkes için, Her Yerde Ödeme İnovasyonu
Ödeme çözümlerinde dünya lideri olan Visa, her zaman gerçek dünyanın ihtiyaçlarını karşılayan yeniliklerin peşindedir. Akıllı sözleşmelerin potansiyelini ve programlanabilir para ve programlanabilir ödemelerin olası geleceğini araştırmaya devam edeceğiz. Bu yazıda, ERC-4337 tarafından uygulanan Ethereum'da AA'nın blok zincirinde ilginç yeni kullanım durumlarını nasıl sağlayabileceğini araştırıyoruz. Bir ERC-4337 işleminin uçtan uca gözden geçirilmesini sağlıyoruz ve temeldeki mekaniği vurgulamak için bunun standart Ethereum işlemlerinden nasıl farklı olduğunu açıklıyoruz.
ERC-4337 ile ilgili deneylerimiz, gerçek dünya sorunlarını çözmedeki potansiyel faydalarını öğrenmek ve değerlendirmek ve zincir üstü etkileşimler yoluyla müşteri deneyimini önemli ölçüde geliştirmek için Paymaster sözleşmelerini konuşlandırarak iki farklı kullanım durumuna odaklanıyor. Bu sınırda çalışan şirketler için ürün, araştırma ve mühendislik ekiplerimiz programlanabilir ödemelere yönelik fikirleri tartışmaktan mutluluk duyacaktır.
Kripto ekosistemindeki araştırma ilgi alanlarımız ve faaliyetlerimiz hakkında daha fazla bilgi edinmek için GDLVisaCryptoResearch@visa.com adresinden Visa Crypto ile iletişime geçin.
*Bu belge yalnızca açıklama amaçlıdır. Geliştirilmekte olan ürünün bir açıklamasını içerir ve tam olarak dağıtılan ürünün potansiyel yeteneklerinin bir temsili olarak anlaşılmalıdır. Bu ürünün son sürümü, bu sunumda açıklanan tüm özellikleri içermeyebilir. Yazımızda, kavramsal terimler olan giriş noktası, paymaster ve kullanıcı işlemi ile bunlara karşılık gelen zincir üzerindeki varlıklar EntryPoint, UserOperation ve Paymaster arasında net bir ayrım yapmakta ısrar ediyoruz. Bu yaklaşım, orijinal ERC-4337 teklifinde belirtilen kuralları takip eder. *
*İncelemeleri için Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot ve Stackup kurucu ortağı John Rising'e teşekkür ederiz. *