Ölçeklenen merkezi olmayan bir uygulama nasıl oluşturulur? Daha az blockchain kullanın

Hayır, blockchain üzerinde merkezi olmayan bir uygulamanın (dapp) başlatılması başarılı bir işe yol açmayacaktır. Aslında çoğu kullanıcı, uygulamanın blockchain üzerinde çalışıp çalışmadığını düşünmüyor bile; yalnızca daha ucuz, daha hızlı ve daha basit bir ürün seçiyorlar.

Ne yazık ki, blockchain'in kendine özgü özellikleri ve faydaları olsa bile, üzerinde çalışan uygulamaların çoğu, merkezi rakiplerinden çok daha pahalı, daha yavaş ve daha az sezgiseldir.

Ölçeklenen merkezi olmayan bir uygulama nasıl oluşturulur? Daha az blockchain kullanın

Blockchain üzerine inşa edilen uygulamaların teknik incelemelerinde sıklıkla şunu söyleyen bir paragraf bulabilirsiniz: “Blockchain pahalıdır ve saniyede gereken işlem sayısını destekleyemez. Neyse ki birçok akıllı insan blockchaini ölçeklendirmek için çalışıyor ve Uygulamamız kullanıma sunulduğunda oldukça ölçeklenebilir hale gelecektir.”

Basit bir paragrafta, bir dapp geliştiricisi ölçeklenebilirlik sorunları ve sorunlara alternatif çözümler hakkında daha derin bir tartışmadan vazgeçebilir. Bu genellikle blockchain üzerinde çalışan akıllı sözleşmelerin uygulamanın arka ucu ve çekirdeği olarak hizmet ettiği verimsiz bir mimariye yol açar.

Bununla birlikte, merkezi olmayan uygulama mimarisine yönelik, blok zincirine bağımlılığı azaltarak çok daha iyi ölçeklenebilirliğe olanak tanıyan, hâlâ test edilmemiş yaklaşımlar bulunmaktadır. Örneğin Blockstack, uygulama verilerinin ve mantığının çoğunun zincir dışında depolandığı bir mimari üzerinde çalışıyor.

Öncelikle blockchain'i uygulama kullanıcıları arasında doğrudan aracı olarak kullanan ve özellikle iyi ölçeklenmeyen daha geleneksel bir yaklaşıma bakalım.

Yaklaşım #1: Arka Uç Olarak Blockchain

Konuyu daha açık hale getirmek için otel sektörünü örnek alalım. Bu, Booking.com gibi aracıların yer aldığı devasa bir sektör. çok büyük bir ücret alıyorlar misafirleri ve otelleri birbirine bağlamak için.

Bu yaklaşımı kullanarak böyle bir aracıyı yenmek istediğimiz her durumda, onun iş mantığını Ethereum gibi bir blockchain üzerinde akıllı sözleşmeler kullanarak kopyalamaya çalışacağız.

"Dünya bilgisayarında" çalışan açık kaynaklı akıllı sözleşmeler, tüccarları arada üçüncü bir taraf olmadan tüketicilere bağlayabilir ve sonuçta aracı tarafından alınan ücret ve komisyonları azaltabilir.

Aşağıdaki resimde gösterildiği gibi oteller, odalar, müsaitlik durumları ve hafta içi veya hafta sonları fiyatları ve hatta belki de diğer tüm ilgili bilgilerle birlikte odaların bir tanımını blockchain'e göndermek için merkezi olmayan bir uygulama kullanıyor.

Ölçeklenen merkezi olmayan bir uygulama nasıl oluşturulur? Daha az blockchain kullanın

Oda rezervasyonu yapmak isteyen herkes, blockchain üzerinde barındırılan otel ve odaları aramak için bu uygulamayı kullanır. Kullanıcı bir oda seçtikten sonra gerekli miktarda jetonun depozito olarak otele gönderilmesiyle rezervasyon gerçekleştirilir. Buna yanıt olarak akıllı sözleşme, blok zincirindeki numaranın artık mevcut olmadığı bilgisini günceller.

Bu yaklaşımın ölçeklenebilirlik sorununun iki tarafı vardır. Birincisi, saniyedeki maksimum işlem sayısı. İkincisi, blockchain üzerinde saklanabilecek veri miktarı.

Biraz kaba hesaplamalar yapalım. Booking.com kendilerine kayıtlı yaklaşık 2 milyon otelin bulunduğunu söylüyor. Ortalama bir otelin 10 odası olduğunu ve her birine yılda yalnızca 20 kez rezervasyon yapıldığını varsayalım; bu bize saniyede ortalama 13 rezervasyon verir.

Bu sayıyı perspektife koymak için Ethereum'un saniyede yaklaşık 15 işlem gerçekleştirebildiğini belirtmekte fayda var.

Aynı zamanda, uygulamamızın otellerin oda bilgilerinin indirilmesi ve sürekli güncellenmesi için yapılan işlemleri de içereceğini dikkate almakta fayda var. Oteller oda fiyatlarını çok sık, hatta bazen günlük olarak günceller ve her fiyat veya açıklama değişikliği, blockchain üzerinde bir işlem gerektirir.

Burada boyut sorunları da var; Ethereum blockchain'in ağırlığı yakın zamanda 2TB sınırını geçti. Bu yaklaşıma sahip uygulamalar gerçekten popüler hale gelirse Ethereum ağı son derece dengesiz hale gelir.

Böyle bir blockchain tabanlı sistem, blockchain teknolojisinin temel avantajları olan tarafsızlığı ve merkezileşme eksikliği nedeniyle dışarıdakileri dışlayabilir. Ancak blockchain'in başka özellikleri de vardır - dağıtılır ve yeniden yazılmaz, bunlar mükemmel özelliklerdir, ancak işlemlerin hızı ve komisyonu açısından bunlar için ödeme yapmanız gerekir.

Bu nedenle dapp geliştiricileri, blockchain kullanan her özelliğin gerçekten dağıtıma ve yazılamazlığa ihtiyaç duyup duymadığını dikkatle değerlendirmelidir.

Örneğin: Her otelin verilerini dünya genelindeki yüzlerce makineye dağıtmanın ve orada kalıcı olarak saklamanın faydası nedir? Oda fiyatları ve müsaitlik durumuyla ilgili geçmiş verilerin her zaman blockchain'e dahil edilmesi gerçekten önemli mi? Muhtemelen değil.

Bunun gibi sorular sormaya başlarsak, tüm fonksiyonlarımız için pahalı blockchain özelliklerinin hepsine mutlaka ihtiyacımız olmadığını görmeye başlayacağız. Peki alternatif nedir?

Yaklaşım #2: Blockstack'tan Esinlenen Mimari

Her ne kadar asıl vurgu Blockstack Kullanıcıların verilerinin sahibi olduğu uygulamalarda (örneğin, yayın metni, BentenSound, Görüntü İyileştirici veya grafit), Blockstack ayrıca blockchain'i yalnızca kesinlikle gerekli olduğunda hafifçe kullanma felsefesine sahiptir. Ana argümanları, blockchain'in yavaş ve pahalı olduğu ve bu nedenle yalnızca tek veya seyrek işlemler için kullanılması gerektiğidir. Uygulamalarla etkileşimin geri kalanı eşler arası (peer-to-peer) aracılığıyla gerçekleşmelidir; Merkezi olmayan uygulamaların kullanıcıları, verileri blockchain aracılığıyla değil, doğrudan birbirleriyle paylaşmalıdır. Sonuçta BitTorrent, e-posta ve Tor gibi en eski ve en başarılı merkezi olmayan uygulamalar, blockchain kavramından önce yaratılmıştı.

Ölçeklenen merkezi olmayan bir uygulama nasıl oluşturulur? Daha az blockchain kullanın
Sol: Kullanıcıların blockchain aracılığıyla etkileşime girdiği ilk yaklaşım. Doğru: Kullanıcılar birbirleriyle doğrudan etkileşime girer ve blockchain yalnızca kimlik tespiti ve benzeri amaçlar için kullanılır.

Otel rezervasyonu örneğine geri dönelim. Misafirleri otellerle buluşturmak için tarafsız, bağımsız ve açık bir protokol istiyoruz. Yani merkezi aracıyı ortadan kaldırmak istiyoruz. Örneğin oda fiyatlarını sürekli olarak ortak bir dağıtılmış defterde saklamamıza gerek yok.

Neden konukların ve otellerin blockchain yerine doğrudan etkileşime girmesine izin vermiyoruz? Oteller fiyatlarını, oda müsaitlik durumunu ve diğer bilgileri herkesin erişebileceği bir yerde, örneğin IPFS, Amazon S3 ve hatta kendi yerel sunucularında saklayabilir. Bu tam olarak Blockstack'ın merkezi olmayan depolama sisteminin adıdır Gaia. Kullanıcıların, verilerinin nerede saklanmasını istediklerini seçmelerine ve buna kimlerin erişebileceğini kontrol etmelerine olanak tanır. çok kullanıcılı depolama.

Güven oluşturmak için tüm otel verileri otelin kendisi tarafından kriptografik olarak imzalanır. Bu verilerin nerede saklandığına bakılmaksızın bütünlüğü, blok zincirinde saklanan otelin kimliğiyle ilişkili genel anahtarlar kullanılarak doğrulanabilir.

Blockstack durumunda yalnızca kimlik bilgileriniz blockchain üzerinde saklanır. Her kullanıcının verilerinin nasıl elde edileceğine ilişkin bilgiler bölge dosyalarında depolanır ve düğümler kullanılarak eşler arası ağ aracılığıyla dağıtılır. Ve bir kez daha, düğümlerin sağladığı verilere güvenmenize gerek yok çünkü bu verilerin gerçekliğini, bunları blockchain'de ve diğer kullanıcılarda depolanan karmalarla karşılaştırarak doğrulayabilirsiniz.

Sistemin basitleştirilmiş versiyonunda konuklar, otel aramak ve odaları hakkında bilgi almak için Blockstack eşler arası ağını kullanacak. Aldığınız tüm verilerin orijinalliği ve bütünlüğü, ortak anahtarlar ve karmalar kullanılarak doğrulanabilir. sanal devre Blok yığını.

Bu mimari ilk yaklaşıma göre daha karmaşıktır ve daha kapsamlı bir altyapı gerektirir. Aslında, Blockstack tam da bu noktada devreye giriyor ve böylesine merkezi olmayan bir sistem oluşturmak için gerekli tüm bileşenleri sağlıyor.

Ölçeklenen merkezi olmayan bir uygulama nasıl oluşturulur? Daha az blockchain kullanın

Bu mimariyle, yalnızca gerçekten dağıtılması ve üzerine yazılmaması gereken verileri blockchain üzerinde saklıyoruz. Blockstack durumunda, kaydolmak ve verilerinizin nerede saklanması gerektiğini belirtmek için yalnızca blockchain üzerinde işlemlere ihtiyacınız vardır. Bu bilgilerden herhangi birini değiştirmek isterseniz daha fazla işlem yapmanız gerekebilir ancak bu tekrarlanan bir olay değildir.

Üstelik uygulama mantığı, ilk yaklaşımın aksine akıllı sözleşmeler üzerinde değil, müşteri tarafında çalışır. Bu, geliştiricinin bu mantığı, maliyetli ve hatta bazen imkansız akıllı sözleşme güncellemeleri olmadan değiştirmesine olanak tanır. Merkezi olmayan uygulamalar, uygulama verilerini ve mantığını zincir dışında tutarak, geleneksel merkezi sistemlerin performans ve ölçeklenebilirlik düzeylerine ulaşabilir.

Sonuç

Blockstack üzerinde çalışan uygulamalar, geleneksel blockchain uygulamalarından çok daha iyi ölçeklenebilir ancak kendi sorunları ve cevaplanmamış sorularıyla daha genç bir yaklaşımdır.

Örneğin, merkezi olmayan bir uygulama akıllı sözleşmelerde çalışmıyorsa, bu durum yardımcı program tokenlarına olan ihtiyacı azaltır. Bu, ICO'ların merkezi olmayan uygulamalar için (Blockstack'ın kendisi dahil) ana finansman kaynağı olduğunu düşünen işletmeler için sorunlara neden olabilir.

Burada teknik sorunlar da var. Örneğin, atomik bir operasyonda oda rezervasyonlarının token karşılığında yapıldığı akıllı bir sözleşmede otel rezervasyon fonksiyonunu uygulamak nispeten kolaydır. Akıllı sözleşmeler olmadan Blockstack uygulamasında rezervasyonun nasıl çalışacağı da çok açık değil.

Milyonlarca kullanıcı potansiyeline sahip küresel pazarları hedefleyen uygulamaların başarılı olabilmesi için çok iyi ölçeklenmesi gerekir. Yakın gelecekte bu düzeyde ölçeklenebilirliğe ulaşmak için yalnızca blockchainlere güvenmek bir hatadır. Booking.com gibi büyük merkezi pazar oyuncularıyla rekabet edebilmek için merkezi olmayan uygulama geliştiricilerinin, uygulamalarını tasarlarken Blockstack tarafından sunulanlar gibi alternatif yaklaşımları dikkate almaları gerekiyor.

Kaynak: habr.com

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster