Açıklama: Zincirler Arası Köprüler Tasarlarken Nelere Dikkat Edilmeli?

Yeni BaşlayanJan 14, 2024
Bu makale çapraz zincir teknolojisindeki bazı gelişmeleri incelemektedir.
Açıklama: Zincirler Arası Köprüler Tasarlarken Nelere Dikkat Edilmeli?

Giriş

Blockchain endüstrisinin kuruluşundan bu yana sayısız L1/L2 ortaya çıktı ve neredeyse her halka açık zincir kendi DeFi ekosistemini geliştirdi. Bazı insanlar yalnızca belirli halka açık zincirlerde etkileşime girerken, daha fazla insan farklı zincirlerde ticaret ve madencilik gibi kar fırsatları bulmayı umuyor. Bunların arasında zincirler arası fon transferi vazgeçilmez bir zorunluluk haline geldi.

Sıradan kullanıcılara ek olarak birçok proje tarafının farklı zincirler arasında fon transferi yapması, farklı zincirlerdeki likiditeyi yönlendirmesi ve "birden fazla kullanım için tek para" elde etmesi gerekiyor.

Ancak farklı blok zincirleri izole konsensüs sistemleridir ve fonların bir zincirden diğerine doğrudan geçmesi mümkün değildir. Zincirler arası fonların özü, zincirler arası köprünün halka açık bir karşı taraf olarak hareket etmesi, kaynak zincirindeki kullanıcı fonlarını alması ve hedef zincirdeki kullanıcılara para göndermesidir. (Haritalanan varlıkları ihraç edin veya hedef zincir tarafından ayrılan likidite havuzundan kullanıcılar için fon serbest bırakın).

Zincirler arası fonları hayata geçirmenin en iyi yolu nedir? Başlangıçta insanlar hâlâ merkezi borsalara güveniyordu. Bir zamanlar şöyle bir söz vardı: "Merkezi borsalar zincirler arası en iyi köprülerdir." Ancak “hisse-takas-geri çekme” işlemi oldukça zahmetli ve insanlar saf bir zincire sahip olmayı umuyorlar. Bu şekilde fonlar daha doğrudan çapraz zincirlenebilir.

Üstelik, merkezi borsalarla karşılaştırıldığında Çapraz zincir köprüler, yalnızca fon transferleriyle sınırlı kalmayıp, daha genel zincirler arası mesajlaşmayı tamamlayabilir. Örneğin, A zincirinden hisse sağlamak ve B zincirindeki varlıkları ödünç vermek için zincirler arası borç verme dApp'i kullanıyorsanız, zincirler arası mesajlaşmayı kullanmanız gerekir.

Çapraz zincirin tarihsel kökenini incelerseniz, bunun blockchain teknolojisinin gelişiminin ilk aşamalarına kadar uzandığını görebilirsiniz. O zamanlar farklı halka açık zincirlerin ortaya çıkması, insanların zincirler arasındaki birlikte çalışabilirlik sorununun çözülmesi gerektiğini, aksi takdirde birçok bilgi/fon adasının ortaya çıkacağını fark etmesini sağladı. Zamanla insanlar farklı türde çapraz zincir yöntemleri önerdiler ve yavaş yavaş günümüzün genel çapraz zincir modelini oluşturdular.

Aşağıda çapraz zincir teknolojisindeki bazı gelişmeleri açıklayacağız.

1. Metodoloji

Karşı tarafları kendiniz bulun ve düşünün, en sezgisel çapraz zincir yöntemi nedir? Diyelim ki A zincirinde 100 USDT var ve bunu B zincirine aktarmak istiyorsunuz. B zincirinde 100 USDT'si olan bir kişi var ve o da USDT'yi A zincirine aktarmak istiyor. İkiniz bunun olduğunu gördünüz. tam doğru, o yüzden hemen harekete geçtin. Fakat A zincirindeki karşı tarafın adresine USDT aktardığınızda pişman oldu ve B zincirindeki USDT'sini sizin adresinize aktarmadı. Bu nedenle bu P2P ticaret modeli pek güvenilir değildir. Öncelikle karşı taraf sözleşmeyi bozarak hiçbir teminat vermeden zarara uğramanıza neden olabilir; ikincisi, bu karşı tarafı bulmak kolay değil ve tam olarak çaprazlamak istediğiniz miktarla eşleşen bir karşı tarafı bulmak için uzun süre beklemeniz gerekebilir, ancak zincirler arası yön. Tam tersine, kullanıcılar bekleyemeyebilir bile. böyle bir karşı taraf için sonsuza kadar.

2. Noterlik Hizmetleri

2.1 Bireysel noter

Karşı taraf sözleşmeyi ihlal edebileceğinden, işlemleri yürütecek güvenilir bir üçüncü taraf bulabilir miyim diye düşündük. Kaynak zincirinde önce parayı ona veriyorum, sonra da hedef zincirde parayı bana aktaracağına söz veriyor. Örneğin bu kişinin hem A zincirinde hem de B zincirinde varlıkları var ve daha sonra A zincirinde benden 100 USDT aldığı sürece B zincirinden bana 100 USDT transfer edeceğini garanti ediyor.

Bu, ilk P2P zincirler arası varlık değişiminden çok daha iyidir, çünkü elinde "likidite" adı verilen sihirli bir şeye sahip olan güvenilir bir halka açık karşı taraf vardır ve onunla istediğiniz zaman ticaret yapabilirsiniz.

Yani onunla yaptığınız işlem “noktadan noktaya” işlem olmaktan çıkıp “noktadan havuza” işlem haline geliyor. Ama yine de huzursuz hissediyorsun. Onunla 100 USDT takas ederseniz sorun değil. Peki ya onunla 1 milyon USDT ticareti yapmak istersen? Nispeten iyi bir üne sahip olmasına rağmen yine de parayı alıp kaçtı.

Sonuçta bu noter bir tür merkezileştirme getiriyor ki bu hala istediğimiz Güvensiz zincirler arası yöntem değil.

2.2 Çoklu noterler (MultiSig)

Ya bu noter bir kişi değil de bir grup insansa? Ortak yönetilen bir hesap oluşturabiliriz ve hesabı birden fazla imzalayan kişi ortaklaşa yönetebilir. Bir mesaj imzalamaları gerekiyor. Yalnızca imza sayısı belirli bir eşiğe (genellikle 2/3) ulaştığında fon aktarılacaktır.

Bu durumda az sayıda (en fazla 1/3'ü) yanlış bir fikre sahip olup kaynak zincirinde benden para toplamak istiyor ancak hedef zincirde bana para göndermek istemiyorsa veya çevrimdışısınız, önemli değil. Başka bir dürüst noter yine de benim yüzümden parayı imzalayıp aktarırdı.

Bu çözüm daha güvenilirdir, merkezileşme riskini azaltır ve daha güvenlidir. Örneğin toplamda 20 saygın noter varsa bunların aynı anda hatalı işlem yapma olasılıkları hala çok düşüktür. (Bu, 20 düğümün bir kişi tarafından yönetildiği Multichain gibi durumları veya bilgisayar korsanlarının noterin imza anahtarlarının 2/3'ünü çaldığı Axie çapraz zincir köprüsü gibi durumları içermez.)

2.3 Çoklu Noter (MPC)

Ancak çoklu imzalı hesap yönetimi yönteminin birçok sakıncası da vardır.

Çoklu imzalar, imza kurallarının daha kolay açığa çıkmasını sağlar. Eğer 5/7 imza şeması ise, çoklu imza cüzdanının akıllı sözleşme kodu kaç tane imzalayanın olduğunu ortaya çıkaracak ve bilgisayar korsanları bu imzalayanları hedefli bir şekilde arayabilir ve özel anahtarı çalma fırsatlarını bekleyebilir.

Çoklu imza, farklı halka açık zincirlere uyum sağlamayı gerektirir. Örneğin, bazı halka açık zincirler akıllı sözleşmeleri desteklemez, bu nedenle çoklu imza hesaplarını uygulamak için zincirin özel kriptografik temellerini kullanmanız gerekir. Bu desteklenmiyorsa çoklu imza cüzdanınız çalışmayacaktır.

Birden fazla imzayı atan kişi belirlendikten sonra imzalayan değiştirilemez. Örneğin, 5/7 imza şemasını 6/8 şemasına değiştirmek istiyorsanız veya imzalayanı değiştirmek istiyorsanız, çoklu imza sözleşmesini yeniden dağıtmanız ve parayı yeni çoklu imza sözleşmesine aktarmanız gerekir. .

BTC türevleri için ilk zincirler arası çözüm olan tBTC, yetersiz ve kullanımı zor olduğu için ortadan kaldırılan çoklu imza yöntemini kullandı. Mevcut çapraz zincir köprülerin çoğu daha gelişmiş MPC yöntemini benimser.

Çok Taraflı Hesaplamanın tam adı, özel bir anahtar parçalama teknolojisi olan Çok Taraflı Hesaplamadır (Çok Taraflı Güvenli Hesaplama). Çoklu imzalı bir hesap, birden fazla özel anahtara sahip bir hesabı yönetirken, MPC hesabı, bir özel anahtara sahip bir hesabı yönetir. Özel anahtar birden fazla parçaya bölünmüştür. Birden fazla imzalayanın her biri bir özel anahtar parçasına sahiptir. İmzalayanların sayısı şu olduğunda Tam bir imza yalnızca eşiğe ulaşıldığında sentezlenebilir ve özel anahtarın tamamı imzalama işlemi sırasında açığa çıkmaz. MPC hesapları aşağıdaki avantajlara sahiptir: sıradan çoklu imzalı cüzdanlardan daha gizlidirler . Örneğin bir imza gerektiğinde, her birini imzalamak için 5/7 özel anahtar parçası kullanılır ve nihai bir yasal imza oluşturmak için birden fazla alt imza birleştirilir. Bu sayede zincirde gördüğünüz tek, sıradan bir imzadır. Bırakın arkasında imzalayanın kim olduğunu, MPC hesabından mı geldiğini, özel anahtar parçalarının sayısından ve belirli imza kurallarından mı geldiğini bilemezsiniz. Çoğu halka açık zincire çoklu imzalı cüzdanlardan daha iyi uyum sağlayabilir. MPC bir imza teknolojisidir ve zincirle hiçbir ilgisi yoktur. MPC hesabı sıradan bir hesaptır. Halka açık bir zincirin akıllı sözleşmeleri destekleyip desteklemediğine bakılmaksızın, MPC teknolojisi aracılığıyla ortak yönetilen bir hesap oluşturulabilir. MPC değiştirme imza mekanizması daha esnektir. Özel anahtar parçalarının sayısını ve imza eşiklerini istediğiniz zaman değiştirmek gibi daha esnek imza kuralı ayarlamalarını destekleyebilir ve ayrıca imzalayanı istediğiniz zaman değiştirebilirsiniz. Özel anahtarı yeniden paylaşmanız yeterlidir.

3. Daha fazla güvenlik önlemi

3.1 Sıcak ve soğuğun ayrılması

Noter saklama hesabı A zincirindeki 100 USDT'mi aldıktan sonra B zincirindeki adresime 100 USDT aktardı. Bu davranışı tetikleyen süreç ne olmalı?

Diyelim ki her noter üyesinin A zincirindeki işlemleri izleyen bir makinesi var. Çapraz zincir köprü saklama hesabına 100 USDT aktardığımı öğrendiklerinde bu işlem benim B zincirinde yer almayı umduğumu belirtti. kullanıcı2'nin adresi.

Bu sırada noterler ortaklaşa imza atarak B zincirindeki çapraz zincir köprü hesabındaki 100 USDT'yi kullanıcıya aktardılar. Bu sürecin koda yazılması ve otomatik olarak çalıştırılması gerekir, aksi takdirde noterin gerçek zamanlı olarak çevrimiçi olması ve talebi aldıktan hemen sonra işlem yapması gerekir ki bu da çok gerçekçi değildir.

Bu otomatik program birkaç bölüm içerecektir

  1. İzleme programı: Kaynak zincirindeki işlemlerin izlenmesinden sorumludur. İlgisiz işlemleri veya geçersiz işlemleri filtrelemek için bu adım bazı temel biçim doğrulamasını gerçekleştirebilir;

  2. Doğrulama prosedürü: Bu, çapraz zincir köprü sözleşmesiyle etkileşime giren kaynak zincirindeki bir işlemin bir bloğa paketlendiğini ve yerleştirildiğini doğrulamaktan sorumlu, desteklenen blok zincirinin hafif düğüm istemcisini (aynı zamanda tam bir düğüm de olabilir) içerecektir. zincir üzerinde. ;

  3. İmza prosedürü: Hedef zincirdeki kullanıcılara transfer işlemlerinin imzalanması ve başlatılmasından sorumludur.

Ancak otomasyon aynı zamanda bir sorunu da beraberinde getirir; yani otomatikleştirilmiş program, bilgisayar korsanları tarafından saldırıya uğrayabilir ve manipüle edilebilir. Bu nedenle riskleri kontrol etmek için zincirler arası köprüler sıcak ve soğuğu ayırmaya yönelik önlemler alacaktır. Otomatik program kısayol tuşunu kontrol eder ve aktarım miktarı sınırlıdır. Büyük transferlerde noterin manuel olarak imzalamak için soğuk tuşu kullanması gerekir. Sıcak ve soğuk ayırma kuralları MPC hesabında uygulanabilir.

3.2 Risk izolasyonu

Eğer bir hata varsa, hepsini tek bir olayda halletmek istemez misiniz? Bu nedenle likidite fonlarını yönetmek için sermaye havuzunu izole etmek ve birden fazla saklama hesabı kullanmak gerekmektedir. Örneğin, farklı halka açık zincirler arasındaki izolasyona göre A ve B, B ve C ve C ve D'nin tamamı bağımsız sermaye havuzlarıdır.

3.3 TİŞÖRT

Noter tarafından çalıştırılan otomatik izleme ve imzalama programları TEE cihazlarında çalıştırılabilir ve bu da hacker saldırılarının zorluğunu büyük ölçüde artırabilir.TEE, ana bilgisayardan izole edilmiş belirli bir cihaz üzerinde çalışan bir bilgi işlem ortamı olan Güvenilir Yürütme Ortamı anlamına gelir. işletim sistemi bir yerleşim bölgesi gibi.

Bu izolasyon, son derece yüksek güvenlikle donanım tarafından zorlanır; böylece TEE'ler, şifreleme anahtarı yönetimi, biyometrik kimlik doğrulama, güvenli ödeme işleme vb. gibi yüksek güvenlik gereksinimlerine sahip uygulamaları çalıştırabilir.

3.4 PoA sola, PoS sağa gider

Zincirler arası köprüleri daha güvenli hale getirmek için noter seçiminde iki yön vardır:

Bunlardan biri, mümkün olduğunca iyi bir üne sahip büyük şirketleri ve tanınmış kurumları seçmektir. Bu kurumlar için kötülük yapmanın maliyeti son derece yüksektir ve yıllar süren iyi niyetlerini kaybedebilirler. Ek olarak, bunları coğrafi olarak mümkün olduğu kadar çeşitli tutmaya çalışın (aynı yetki alanında yoğunlaşmaktan kaçının).

Örneğin çapraz zincir köprü projesi Wormhole bu modeli seçmiştir. 19 düğümü, büyük boyutlara ve güçlü fonlara sahip tanınmış büyük kurumlar tarafından desteklenmektedir. Bu PoA yöntemidir.

Başka bir yol da izinsiz noterleri kabul etmek ancak onlardan hisse almalarını istemektir. Yanlış davranırlarsa, yatırdıkları fonlar kesilecek. PoS bu şekilde çalışır. ZetaChain'in kullandığı şey budur.

İki yöntemden hangisinin daha iyi, hangisinin daha kötü olduğu konusunda doğrudan keyfi bir sonuca varmak zordur. Bu, zincirler arası köprü projesi taraflarının kendi yönlerinde ne kadar başarılı olduklarına bağlıdır.

İster PoA ister PoS olsun, zincirler arası köprüyü doğrudan halka açık bir zincire dönüştürebilirsiniz. Her düğüm aynı programı çalıştırır ve zincirler arası tüm istekler ve işleme süreçleri bu zincire kaydedilecektir. Zincirin kendisi de uygulamaları barındırabilir ve böylece ekolojik bir merkez haline gelebilir.

3.5 Gözlemci

Güvenliği artırmanın bir başka yolu da gözlemci rolü belirlemektir. Bu rol, zincirler arası davranışın izlenmesinden ve sorunların keşfedilmesi durumunda zincir içi ve iptal edilen işlemlerin raporlanmasından sorumludur. Gözlemcilerin tepki vermesi için bir pencere periyoduna ihtiyaç duyması nedeniyle zincirler arası transferlerin varış zamanı gecikebilir. Bu nedenle gözlemciler yalnızca kullanıcıların büyük değerli işlemler veya hassas zincirler arası işlemler için transfer gecikmelerini kabul etmesi durumunda müdahale edeceklerdir.

Diğer zincirler arası çözümler Hash lock Bu makalede bahsedilen ilk yönteme geri dönelim: P2P, zincirler arası varlık değişimi için karşı taraf arıyor. Karşı tarafın borcunu ödeyememesinden korkuyorsak bir mekanizma kurabiliriz. Birisi vazgeçtiğinde, diğer taraf parayı geri alabilir ve bozulmadan iade edebilir. Bu, hash kilitlerini ve zaman kilitlerini akıllıca kullanan hash kilitlemedir. Fonun alıcısını son ödeme tarihinden önce ödemeyi onaylamaya ve kaynak zincirinde bir alındı kanıtı oluşturmaya zorlar. Ödemeyi yapan kişi, bu alındı belgesiyle alıcının hedef zincirdeki eşdeğer varlıklarını alabilecektir. Aksi takdirde, her iki taraf da tüm parayı orijinal rota üzerinden iade edecektir.

Ancak bu yöntem yalnızca fon alışverişi yapabilir ve genel zincirler arası bilgi aktarımını tamamlayamaz. Zincirler arası fon transferi açısından bile, hash time kilitlerinin kullanıcı deneyimi çok kötüdür: döviz fiyatlarındaki dalgalanma karşı tarafın (likidite sağlayıcısı) aleyhineyse, o kişi rasyonel olarak işlemi tamamlamamayı seçebilir; Zincirler arası bir değişim için hem kullanıcının hem de karşı tarafın iki kez imzalaması gerekir. bu nedenle zincirler arası bir çözüm olarak karma zaman kilitleri ortadan kaldırılmıştır. Bu çözümü kullanan ilk çapraz zincir köprüler (cBridge ve Connext gibi) yöntemlerini değiştirdi. Zincir üstü hafif istemciBu yöntem, kaynak zincirinin hafif istemci sözleşmesini doğrudan hedef zincire dağıtmaktır. Bir sözleşmeyi bir zincire dağıtırsanız zincirdeki tüm düğümler, dağıttığınız sözleşme kodunu çalıştırır.

Bu nedenle, zincir üstü hafif istemci çözümü, hedef zincirin kaynak zincirdeki işlemleri doğrudan doğrulamasına olanak tanır. Bu yöntem son derece güvenlidir ancak aynı zamanda en pahalı olanıdır. Pahalılık aşağıdaki hususlara yansır: Hedef zincirin hafif istemci sözleşmesinin, kaynak zincirinden yeni blok başlığını gerçek zamanlı olarak alması ve doğrulaması gerekir. Bu işlem çok fazla Gaz tüketir. Kısa bir kanıt elde etmek için ZK kullanılsa bile, bir ZK kanıtını doğrulamanın Gaz tüketimi 400.000 Gazdan (EVM) az olmayacaktır, MPC şemasında zincirde doğrulanması gereken tek şey bir imzadır ve gaz tüketimi sadece 20.000'in biraz üzerinde, 20 kat fark! Daha güvenli ama 20 kat daha pahalı bir köprü mü kullanırdınız?

Hafif müşteri sözleşmeleri geliştirmek için gereken iş miktarı çok büyüktür. Zincirler arası köprüyü daha heterojen zincirlerle uyumlu hale getirmek için, diğer zincirlerin hafif istemci sözleşmelerini farklı zincirlerin tamamen farklı geliştirme ortamlarında uygulamanız gerekir ki bu, geliştiriciler için cehennem seviyesinde bir zorluktur. Bu, sözleşme yazımında daha büyük hata olasılığına yol açar; yani, hafif istemci köprüsünün güvenliği yalnızca teorik düzeydedir, ancak mühendislik uygulaması açısından çok güvensizdir. Geliştirme işi miktarını azaltmak için uygun bir çözüm, bir aktarma zinciri oluşturmak ve tüm zincirlerin bu aktarma zinciriyle hafif istemci sözleşmeleri oluşturmasına izin vermektir. Bu gerçekten de C(n,2)'nin iş yükünü n'ye düşürebilir, ancak yine de çok küçük değildir. Kaynak zincirden hedef zincire orijinal doğrudan zincirler arası aktarım, kaynak zinciri → aktarma zinciri → hedef zincirin ikinci dereceden aktarımı haline gelmiş olup, bu da ek gaz tüketimine ve zaman tüketimine neden olacaktır.

Bu nedenle, hafif istemci teknik çözümü şu anda daha evrensel bir zincirler arası köprü oluşturmak için kullanılamamaktadır.

Oyunu Sonlandır

Öncelikle farklı halka açık zincirlerin farklı yaklaşımları ve onları destekleyecek farklı kaynakları var. Yenilgiyi kabul etmedikleri sürece ekosistem var olacaktır. Kısa vadede gelişimi çok iyi olmasa da bir gün geliştirilebilir ve tekrar hayata dönebilir. Bunun gibi altyapının altında yatan şey, kimin daha uzun süre dayanabileceğini ve kimin pazara hızla uyum sağlayabileceğini görmektir.

Bitcoin ve Ethereum tüm uygulama senaryolarını çözemez veya belirli bir kesimde her zaman ilk sırayı sevmeyen insanlar vardır, bu yüzden yeni bir çark yaratırlar, böylece gelecek çok zincirli olur. Gelecekte alt katman artık bir zincir olmayacak, bu yüzden geleceğin çoklu ekolojik olması gerekiyor. Birden fazla ekoloji arasında fon ve mesajların nasıl aktarılacağı çapraz zincir/ekolojiler arası teknoloji gerektirir!

Konu çapraz zincir olduğunda kullanıcılar en çok neyle ilgileniyor? Aşağıdaki noktalardan başka bir şey yok:

Hız: Zincirler arası bir işlemin tamamlanması ne kadar sürer?

Ücret: Zincirler arası bir işlem için ne kadar ödemem gerekiyor?

Güvenlik: Zincirler arası köprü güvenli mi ve fonlar kaybolacak mı?

Likidite: Ticaretimi ve kabul edilebilir bir fiyat etkisini destekleyecek yeterli likidite var mı?

Bağlantı kapsamı: Kaç zinciri destekliyorsunuz? Çapraz zincir operasyonlarında kullanmam gereken zincirleri destekliyor musunuz?

Deneyim: Gaz ödemesini destekleyip desteklemediği, maliyet tahmininin doğru olup olmadığı, ilerleme sorgulamasını ve tarayıcı görüntülemeyi destekleyip desteklemediği, arızaların sık sık meydana gelip gelmediği, arızaların nasıl ele alınacağı vb. gibi zincirler arası operasyon uygun mu?

Öncelikle bazı projelerin özelliklerine nispeten net üç perspektiften genel bir bakış atalım: güvenlik, maliyet ve bağlantı aralığı.


Net tabloyu görüntülemek için bağlantıya tıklayın (tablo sürekli olarak güncellenmektedir):

https://docs.google.com/spreadsheets/d/1LKlbd5KJUnQIx3ZBTgyMADhxHtWVwBH9qDRm765tPMw/

Çapraz zincir köprüsünü tam olarak açıklamak için yukarıdaki tabloda tüm boyutlar ve veri analizi gibi tartışılması gereken birçok boyutsal ayrıntı vardır. Peki zincirleri geçerken hangi faktörlere dikkat ediyorsunuz? Hangi çapraz zincir köprülerini sıklıkla kullanıyorsunuz? Zincirler arası köprülerin optimizasyon için hangi yönlere odaklanması gerektiğini düşünüyorsunuz? Fikirleriniz varsa, lütfen yazarla iletişim kurmaktan çekinmeyin.

Yasal Uyarı:

  1. Bu makale [极客Web3]'ten yeniden basılmıştır. Tüm telif hakları orijinal yazara [0xKooKoo] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.
learn.articles.start.now
learn.articles.start.now.voucher
learn.articles.create.account