Veritabanı olarak Blockchain (Bitcoin)?


16

Bu BBC News makalesini okuyordum ve aşağıdaki alıntı dikkatimi çekti. Bu gibi sesler Her Zaman Açık Kullanılabilirlik Grupları veya Yüksek Kullanılabilirlik Yansıtma güvenlik otomatik olarak dahil belki birlikte.

Blockchain modern, yüksek işlem hacmine sahip uygulamalar için potansiyel olarak uygulanabilir bir veritabanı çözümü mü?

Kişisel tıbbi kayıtlar gibi düşük hacimli işlemler için değerini görmek oldukça kolaydır, ancak yüksek hacimli veritabanlarına ne dersiniz?

Blockchain nedir?

Blockchains, bir dizi bilgisayarın merkezi bir aktöre ihtiyaç duymadan global bir kayıtta değişiklik yapmasına izin vermek için kriptografiye güvenir.

Aracıyı kaldırmak neredeyse her sektörde maliyetleri azaltır.

Blockchain, "blok" olarak bilinen bir veri koleksiyonuna gelen her şeyi kronolojik bir sırada veya "zincir" olarak kaydeden bir defterdir.

Para birimi olarak bu önemli bir özelliktir, çünkü kullanıcıların dijital paralarının bir tür olduğundan emin olmalarını sağlar, aynı şekilde cüzdanınızdaki her nota benzersizdir.

Blockchain ağları inşa eden Chain.com'un genel müdürü Adam Ludwin, "Blockchain teknolojisi, varlık yaratma şeklimiz olacak çünkü dijital bilgileri kopyalamadan aktarmanıza izin veriyor," diyor.

Blockchain, her türlü bilginin tarihini izlemek ve değerini korumak için kullanılabilir, bu nedenle örneğin doktorlar, tıbbi kayıtları güncellemek için kullanabilir.

Bir blok zincirindeki her değişiklik tüm ağda aynı anda yapıldığından, hiçbir bilgi kaybolmaz ve değişiklikler geri alınamadığından sistem şeffaflığını korur. Her blokta değişiklik yapmak için özel bir anahtar gerekir, böylece bireyler bu anahtarı koruyarak kayıtlarını güvende tutabilir.

Yanıtlar:


15

Blockchain modern, yüksek işlem hacmine sahip uygulamalar için potansiyel olarak uygulanabilir bir veritabanı çözümü mü?

Blockchain teknolojisi genel olarak yüksek hacimlerle çalışmayı zorlaştıran bazı özelliklere sahiptir.

Örneğin Bitcoin'e bir göz atın. Günlük ortalama işlemler hiç 300K'dan fazla olmamıştır: Günlük İşlemler (kaynak blockchain.info)

resim açıklamasını buraya girin

Daha da önemlisi, bir işlem için ortalama onay süresi yaklaşık 8 dakikadır !: Ortalama İşlem Onay Süresi (Yalnızca Ücretli) ve Quandl'den güzel bir resim :

resim açıklamasını buraya girin

Şimdi dünyadaki kaç bilgisayar bitcoin veritabanını tutmaktan sorumlu? Bitcoin konusunda uzman değilim ama işlemlerin tam geçmişinin blok zincirinde saklandığını düşünüyorum, bu yüzden bitcoin ağına katılan tüm bilgisayarlar aslında tüm veritabanının bir kopyasını tutuyor (elbette hesapların değil, işlemlerin bir kısmı ve gizli anahtarlar, bunlar kişisel cüzdanlarda saklanır).

Sadece kaç tane olduklarını tahmin edebiliriz ama sanırım bir milyondan fazlalar. Bir milyon bilgisayarla günde 300 bin işlem yüksek hacimli gibi gelmiyor. Ve onay için 8 dakika?

İyi bir donanıma sahip modern bir RDBMS, saniyede 1K'ya kadar işlem yapabilir. Bu, günde yaklaşık 86 milyon işlemdir. Onay zamanı? Bu, işlemin boyutuna (kaç tablo ve satır etkilediğine) bağlıdır, ancak bitcoin türünün küçük bir işlemi için (A hesabından 42 jetonu kaldırın ve B hesabına 42 jeton ekleyin), milisaniye olacaktır.

Sonuç olarak, hacim ve zaman farkı bugün 1000 ila 100000 kattır.

Blockchain teknolojisi gelecekte bu sorunu çözerse, orta veya yüksek hacimli uygulamalarda kullanmak mümkün olabilir. Sorunun nasıl çözülmesi gerektiğine dair tartışmaları ve önerileri okuyabiliriz - bağlantılarda adı geçen şirketlerin çoğu aslında bu konular üzerinde çalışıyor - ancak henüz yüksek hacimler ve hız sunan gerçek bir çalışma çözümü veya ürün görmedik.


Blockchain ile ilgili bir diğer sorun da kanlı tutarsızlık. Her şey yüklendi ve işlemleri işleyen istemci 'özel' değil, böylece bir grup bırakma veya ekleme yapabilirsiniz. 8 dakika kulağa doğru geliyor, belki de son 10 dakika, tüm müşterilere ulaşma onayı için fazladan bir veya iki dakikaydı? Emin değilim, kim daha fazla düğüm ile bilir belki aşağı gitti! Her iki şekilde de harika bağlantılar. Teşekkürler.
Ali Razeghi

2
Bu makale technologyreview.com/s/540921/… saniyede yedi işlemden oluşan kavramsal bir sınır olduğunu iddia etmektedir.
a_horse_with_no_name

@a_horse_with_no_name yan zincirleri zor sınırlar olmadan kolayca ölçeklenebilir ve şeffaf olarak işlenebilen bitcoin blok zinciriyle senkronize olmaya devam eder.
jangorecki

16

Kripto para birimi ve veritabanlarına çok aşinayım ve bunun büyük bir DB motoru olmadığını söyleyebilirim.

Blockchain'i canlı bir veritabanı olarak kullanma:

Bunu, blok zincirine kadar arama yeteneği veya indeksleme konusunda gerçekten iyi bir şekilde oluşturulmuş ilk normalleştirilmiş bir form olarak düşünün. Temelde herhangi bir hesaplama yeteneği olmayan bir excel sayfası, size birçok doğrulama ve doğrulama ile 'okuma / yazma' yeteneği verir. Bir blockchain, verilerinizi farklı şekilde sorgulamanıza, dizine eklemenize vb. İzin veren bir veritabanına koymadan önce verilerinizin temizlendiğini ve düzeltildiğini doğrulamanın harika bir yoludur.

Blockchain'in Faydaları:

Bu durumda blok zinciri tamamen bir defter ve PUT ve GET istekleri için bir API'dir. Bu kadar. Blockchain ilginçtir, çünkü işlemi geçerli olarak geçirmek için düğümlerin çoğuna ihtiyacınız vardır ve taahhüt edildiğinde herhangi bir geri dönüş yoktur. Bu nedenle, bir kişi sahte bir işlem yapmaya çalışırsa, bunu yapan kişinin güçlü bir çoğunluk payı olan bir havuzu olmadığı sürece yakalanır. Daha sonra birisi reddetmeden önce havuzunda doğrulayabilirler. Blockchain'in güçlü noktası budur. Verilerin doğru olduğunu doğrulama. Aynı zamanda oldukça yavaştır. Doğrulanması için normal yük altında yaklaşık 10 dakika bakıyorsunuz. Ağır yük altında zaman biraz artar.

İşlemlerin geçerli olduğunu ve blockchain kullanarak hileli olmadığını doğruladıktan sonra, bu verileri bir veritabanına aktarabilir ve istediğiniz gibi çalışabilirsiniz. Bununla ilgili bazı deneyimlerim var, ancak mevcut bitcoin mimarisindeki her bir işlemin kaydedileceğini ve böylece analiz edilmesi gereken bazı ilginç bilgilere sahip olduğunu unutmayın.

Bir DBMS'de blockchain şemasından veri sorgulama:

İşte PostgreSQL'de şema oluşturmak için kullanabileceğiniz bitcoin diyagramı. Bunu kullanarak daha sonra ilişkisel bir DBMS'ye koyabilirsiniz: https://bitcointalk.org/index.php?topic=38246 resim açıklamasını buraya girin

Verileri gerçek bir RDBMS'ye aktarmak istiyorsanız bu kod repo da yararlıdır: https://github.com/bitcoin-abe/bitcoin-abe

Ne DBMS koymak gerekir kadar, bu sizin kullanım durumunuza bağlıdır. Bazı desenleri görmek veya BI çalışması yapmak için işlemleri / cüzdan kimliklerini analiz etmek istiyorsanız, ilişkisel bir DB öneririm. Birden fazla kriptocoin ile canlı bir alım yapmak istiyorsanız, işlem günlüğüne ihtiyaç duymayan bir şey tavsiye ederim, böylece bir MongoDB çözümü iyi olur. Aynı anda tüm kriptocoinlerin canlı kaydını yapmaya başlamak istemiyorsanız ve otomatik ticaret veya aynı derecede çılgın bir şey yapmak için kullanmazsanız, Elastik Arama hakkında endişelenmeniz gerektiğini düşünmüyorum. :)


8

2014 yılında Bitcoin'i Fikri Mülkiyet iddiaları için bir veritabanı olarak kullanma öncülüyle ascribe.io oluşturduk. Yayınlandıktan sonra ağı tıkladık, çünkü verimi işleyemedi, gecikme süresi en az 10 dakikaydı ve OP_RETURN'a koyabileceğimiz şeyle sınırlı kaldık ve bizi Amazon S3'teki hak talebiyle ilgili gerçek dijital dosyayı depolamaya zorladık . Mevcut haliyle Bitcoin'in asla yüksek bir işlem veritabanı olamayacağını fark ettik.

Ancak, bir blockchain tarzı veritabanına sahip olup olamayacağımız fikri - merkezi olmayan kontrol, değişmezlik (kurcalamaya karşı direnç) ve ağdaki canlı varlıklar bizimle sıkıştı. 2014 ortalarında BigchainDB üzerinde çalışmaya başladık

Uzun lafın kısası - 100m tps'yi 100mS gecikme ile işleyebilir ve petabayt kapasiteye sahibiz. Kod, BigchainDB Github'umuz, buradaki teknik belgeler ve teknik incelememizdeki temel düşünce .

Yüksek işlem, merkezi olmayan bir veritabanı için bir kullanım durumunuz varsa, tam olarak bunun için BigchainDB'yi oluşturduk.


2

Bitcoin'den türetilen blockchain yavaş ve pahalıdır; bir blokta saklanabilecek veri miktarı çok azdır. Blok zincirlerinin arkasındaki mekanizmaların (defterleri dağıtma) hatalı, yüksek oranda çoğaltılmış bir veri deposu sağlaması amaçlanmıştır; eşler arası, merkezi kontrolün ortaya çıkmasını önlemek için "siyasi bir gereklilik" ten daha az önemli bir özelliktir. Bitcoin'den mümkün olduğunca az alan yüksek performanslı dağıtılmış bir defter (bir örnek için metrognomo.com'a bakın) üretmek için 18 aydır çalışıyorum. Sonunda, dağıtılmış bir defter hemen hemen eklenebilecek ancak eklenmeden sonra düzenlenemeyen sıralı bir dosyaya benziyor. Bu, bazı uygulamalar için değerli bir şeydir, ancak çoğu insanın veritabanı olarak düşündüğü şey değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.