Özel blok zincirleri "adil" paylaşılan veritabanlarından daha fazlasıdır

Blockchain dedektörleri neden noktayı kaçırıyor?

Ve böylece devam ediyor. itibaren popüler gönderiler için küçümseyen tweetler için gelecek hakkında tahminler, dünya ve annesi, daha önce özel blok zincirlerine domates atmak için sıraya giriyor ne olduklarını anlamak bile.

Özel bir blok zincirinin yalnızca paylaşılan bir veritabanı olduğunu söylemek, HTML ve HTTP'nin "yalnızca" dağıtılmış köprü metni olduğunu söylemek gibidir. İki yönden yanlış. İlk olarak, anlamsal olan: özel blok zincirleri, sağlar kalemler gibi paylaşılan veritabanları yazmayı etkinleştirir ve HTML / HTTP dağıtılmış köprü metnini etkinleştirir. Bitcoin blok zinciri ve birincil uygulaması anlamlı bir şekilde ayrılamaz, çünkü biri diğeri olmadan var olamazdı. Ancak bu denklik özel blok zincirleri için hiç geçerli değildir.

İkinci hata, “adil” kelimesinin kullanılmasıdır. Sadece? HTML ve HTTP miydi sadece köprü metni yapmanın bir yolu nedir? Köprü metni (önceki değeri) onlarca yıl önce icat etti, yani bu teknolojiler bilgisayar tarihinde küçük bir dipnot mu? Oh, ama onların yerini kazanma yollarını saymama izin verin: (a) basit biçimlendirme dili herhangi bir meslekten bireyin öğrenebileceği, (b) hiyerarşik adresleme şeması hem TCP / IP hem de kavramsal mekan modelimizle çalışan, (c) basit protokol içeriğin eyaletten ücretsiz alınması ve (d) her ikisi müşteri ve sunucu her şeyi hayata geçiren yazılım. Newton'un sadece bir bilim adamı ve Dostoyevsky'nin sadece bir yazar olduğunu da söyleyebiliriz.

Öyleyse bunu tamamen açıklığa kavuşturalım: Evet, özel blok zincirleri bir veritabanını paylaşmanın bir yoludur. Ancak finans dünyası ve ötesi için büyük etkileri olan yeni bir paylaşılan veritabanı türü sağlıyorlar. Ve okumaya istekliysen, sana tam olarak nedenini söyleyeceğim.

Veritabanı nedir?

Veritabanı, tablolar halinde düzenlenmiş yapılandırılmış bilgi havuzudur. Bunu, isteğe bağlı olarak birbirine bağlanabilen bir veya daha fazla Excel elektronik tablosundan oluşan bir koleksiyon olarak düşünebilirsiniz. Her tablo, her satırda bir varlık olacak şekilde, belirli bir türden bir dizi varlık hakkında bilgi içerir. Her tablonun, bu varlıkların farklı yönlerini açıklayan bir veya daha fazla sütunu da vardır. Örneğin, WidgetCo'nun dahili personel dizini tablosu, çalışan kimliği, adı, soyadı, departmanı, dahili telefon numarası ve oda numarası için sütunlar içerebilir.

Veritabanlarının elektronik tabloların ötesine geçmesinin önemli yollarından biri, içinde depolanan verilerle ilgili kurallar içermeleridir. Bu kurallar, tüm kuruluşun yararı için bilgilerin mantıklı ve tutarlı kalmasını sağlamaya yardımcı olur. Bugünün en popüler veritabanları, kurallar birkaç ortak form alır:

  • The veritabanı şeması her sütunda ne tür bilgilere izin verildiğini tanımlar. Örneğin, telefon numarası 4 rakam içermelidir ve boş bırakılamaz ("boş").
  • Benzersiz tuşlar belirli bir sütunun (örneğin çalışan kimliği) her satırda farklı bir değere sahip olması gerektiğini belirtir.
  • Kısıtlamaları kontrol edin Her satırdaki sütun değerleri arasındaki ilişkileri zorlayan. Örneğin, departman "Tedarik" ise, oda numarası 3 veya 4 ile başlamalıdır.
  • Yabancı anahtarlar hangi tablolar arasındaki ilişkileri zorlar. Örneğin, veritabanı bordro için kullanılan başka bir tablo içeriyorsa, bordro tablosundaki her çalışan kimliğinin de personel dizininde bulunması gerektiğine dair bir kural olabilir.

Bir işlem, bir bütün olarak kabul edilen veya reddedilen bir veritabanında yapılan değişiklikler koleksiyonudur. Bir işlem veri tabanını her değiştirdiğinde, yazılım veri tabanının kurallarına uyulmasını sağlar. Bir işlemin herhangi bir bölümü bu kurallardan birini ihlal ederse, işlemin tamamı karşılık gelen bir hatayla reddedilecektir.

Listeleyebileceğim daha ezoterik kural türleri var, ancak hepsinin ortak bir yanı var. Soruya cevap veriyorlar: Veritabanı geçerli bir durumda mı? Başka bir deyişle, veritabanının içeriği üzerinde bir kısıtlama görevi görürler. zaman içinde tek bir noktadan bakıldığında. Ve bu, tek bir kuruluşun içinde yer alan bir veritabanı için iyi çalışıyor, çünkü kısıtlamaların ana işi programcı hatasını önlemektir. WidgetCo'nun dahili uygulamalarından biri dizine 3 basamaklı bir telefon numarası eklemeye çalıştıysa, bunun nedeni kötü niyet değil, geliştiricinin düşüncesinde veya kodunda bir hata olabilir. Bir veritabanının bu hataları yakalama yeteneği şüphesiz kullanışlıdır ve bir kuruluş içinde kötü bilgilerin yayılmasını önlemeye yardımcı olur, ancak güven sorunlarını çözmez. (Kısıtlamalar ayrıca uygulama mantığını basitleştirmeye yardımcı olabilir, örneğin yabancı anahtar basamaklama or tekrarlanan hükümler, ancak bunlar hala geliştiricilere yardımcı olmanın yollarıdır.)

Veritabanı paylaşımı

Şimdi WidgetCo'nun dahili personel dizininin dış dünya ile nasıl paylaşılabileceğini düşünelim. Çoğu durumda, sağlanmasında bir sorun yoktur. paylaşılan okuma Giriş. Dizin bir metin dosyasına aktarılabilir ve müşterilere ve tedarikçilere e-posta ile gönderilebilir. İnternette yayınlanabilir, tıpkı bunu. Harici kodla aramaya izin vermek için bir API bile verilebilir. Paylaşılan okuma teknik bir doddle, kimin neyi görebileceğine karar verme sorusudur.

Ama düşündüğümüzde işler yapışkanlaşmaya başlıyor paylaşılan yazma. WidgetCo harici bir varlık için değiştirmek veritabanı? Belki telefonların yerini PhoneCo alıyor, o da personel rehberindeki telefon numaralarını güncelliyor. Bu durumda WidgetCo, PhoneCo'nun kullanması için yeni bir "hesap" oluşturur. WidgetCo'nun dahili kullanımına yönelik hesapların aksine, PhoneCo'nun hesabının yalnızca telefon numarası sütununu değiştirmesine ve hiçbir zaman satır eklemesine veya silmesine izin verilmez. PhoneCo'nun tüm işlemleri, artık iki tür kısıtlama uygulayan WidgetCo'nun veritabanı sistemi tarafından işlenir:

  • Tüm veritabanı kullanıcıları için geçerli olan global kurallar. Örneğin, telefon şirketi bir numarayı yalnızca 3 rakam içerecek şekilde değiştiremez ve başka hiç kimse değiştiremez.
  • PhoneCo'nun yapmasına izin verilenleri kısıtlayan hesap başına kurallar, bu durumda yalnızca mevcut satırların telefon numarası sütununu değiştirir.

Çok uzak çok iyi. Ortak bir yazma veritabanımız var. Bu işe yarıyor çünkü WidgetCo veri tabanından sorumlu ve telefon şirketi WidgetCo'nun iyi lütfu sayesinde erişim kazanıyor. PhoneCo telefon numaralarını rastgele ayarlamaya başlarsa, WidgetCo erişimlerini kapatabilir, sözleşmelerini feshedebilir ve bir yedekten bazı eski verileri geri yükleyebilir. Ve WidgetCo, örneğin PhoneCo tarafından girilen yeni telefon numaralarını ters çevirerek yanlış davranmaya başlarsa, bu tamamen anlamsız olacaktır, çünkü yalnızca WidgetCo'nun kendilerine zarar verir. Telefon şirketi, WidgetCo'yu tuhaf bir müşteri olarak görüyor, ancak faturalarını zamanında ödedikleri sürece özellikle dikkat etmiyor.

Ama şimdi iki veya daha fazla tarafın (a) taraflardan hiçbirinin kontrol edemediği, (b) herhangi bir tarafça yazılabilen ve (c) herkes tarafından güvenilebilecek bir veri tabanını paylaşmak isterse ne olacağını görelim. İşleri daha da kötüleştirmek için, diyelim ki bu partiler farklı teşviklere sahipler, birbirlerine güvenmiyorlar ve hatta şiddetli rakipler olabilirler. Bu durumda çözüm hep aynı olmuştur: güvenilir bir aracı tanıtmak. Bu aracı bir veritabanını merkezi olarak yönetir, tüm taraflara hesaplar sağlar ve bilinen bir kurallar dizisine göre tüm işlemlere izin verilmesini sağlar. Birçok durumda, özellikle finansal, her parti hala verilerin kendi kopyasını tutar, bu nedenle herkes bunu kontrol etmek için çok zaman harcar veritabanları aynı fikirde.

Her şey oldukça dağınık ve hantal hale geliyor. Ama eğer bir şeyden bahsediyorsak sınırlı güven ortamında paylaşılan yazma veritabanışu anda alternatifi yok. Finansal işlemlerin gerçekleşmesinin ana nedenlerinden biri budur merkezi temizleme evleri, neden kullanıyorsun Google Takvim küçük bir çalışma grubunda bile ve neden kalabalık kaynaklı merak Vikipedi harcıyor milyonlarca dolar barındırma. Web'in kullanıcı arayüzü olarak bile müşteri tarafına taşınır, merkezi sunucular bu arayüzlerin dayandığı verileri saklamaya devam eder.

Gerçek paylaşılan yazma

Diyelim ki bir veritabanının paylaşılmasına izin vermek istedik, yazma anlamında, merkezi bir otorite olmadan. Örneğin, rakip birçok şirket, müşterilerinin yararına ortak bir personel dizini sürdürmek istemektedir. Aslında neye benzeyebilir? Pek çok şeye ihtiyacı var:

  • İşlemlerin herhangi bir tarafça oluşturulmasına ve bağlı tüm düğümlere hızlı bir şekilde yayılmasına olanak tanıyan sağlam bir eşler arası ağ.
  • İşlemler arasındaki çakışmaları tanımlamanın ve bunları otomatik olarak çözmenin bir yolu.
  • Tüm eşlerin veritabanının aynı kopyası üzerinde birleşmesini sağlayan bir senkronizasyon teknolojisi.
  • Farklı katılımcılara ait olarak farklı bilgi parçalarını etiketlemek ve merkezi bir otorite olmadan bu veri sahipliği biçimini uygulamak için bir yöntem.
  • Operasyonlara izin verilen kısıtlamaları ifade etmek için bir paradigma, örneğin bir şirketin dizini hayali girişlerle şişirmesini önlemek.

Vay canına. Bu zor bir liste ve bugünün kullanıma hazır veritabanları tarafından desteklenmiyor. Akım eşler arası çoğaltma teknolojisi beceriksizdir ve çatışma çözümüne karmaşık bir yaklaşımı vardır. Destekleyen veritabanları sıra tabanlı güvenlik yine de onu uygulamak için merkezi bir otorite gerektirir. Benzersiz anahtarlar ve kontrol kısıtlamaları gibi standart veritabanı düzeyi kısıtlamaları, veritabanını kötü amaçlı değişikliklere karşı koruyamaz. Sonuç olarak:

Paylaşılan yazma veritabanlarının çalışması için bir sürü yeni şeye ihtiyacımız var ve bu da blok zincirlerinin bunları sağlamasıdır.

Hakkında çok fazla detaya girmeyeceğim Nasıl blok zincirleri bunları yapar, çünkü ben daha önce çoğunu kapladı. Bazı temel unsurlar düzenli peer-to-peer teknikler, gruplama bloklar halinde işlemler, tek yön şifreleme karması işlevleri, çok partili fikir birliği algoritması, dağıtılmış multiversion eşzamanlılık kontrolü ve satır başına izinler açık anahtar şifrelemesi. Eski fikirlerin uzun bir listesi yeni bir şekilde bir araya geldi. İsterseniz HTML / HTTP.

Tüm bunlara ek olarak, paylaşılan yazma veritabanları tamamen yeni bir kural türü gerektirir; bir işlemin gerçekleştirebileceği dönüşümleri kısıtlama. Bu kesinlikle önemli bir yeniliktir ve güvenmeyen kuruluşlar arasında bir veri tabanını paylaşıyorsak büyük bir fark yaratır. Bu tür kurallar, bitcoin tarzı işlem kısıtlamaları veya Ethereum tarzı zorunlu kılınmış olarak ifade edilebilir. saklı yordamlar ("Akıllı sözleşmeler"), her biri avantajlar ve dezavantajlar. Belki de keşfedilmeyi bekleyen daha iyi yollar vardır. Ancak hepsi, bir işlem gerçekleşmeden önce ve sonra veritabanının durumunu birbirine bağlama özelliğini paylaşır. Başka bir deyişle, soruyu cevaplarlar: Bu geçerli bir işlem miydi? Bu, veritabanının tek bir noktada geçerli olup olmadığını sormaktan temel olarak farklıdır.

Bu tür bir veritabanının yararlı gerçek dünya uygulamalarına sahip olup olmadığını merak ediyorsanız, bu doğru bir soru. Ancak, özel blok zincirlerine olan yoğun ilgiyi en az bir sektör, süreçleri basitleştirme ve maliyetleri ve gecikmeleri azaltma potansiyelleri nedeniyle. Finans kurumları günümüzün veritabanı platformlarının yoğun kullanıcılarıdır ve bu platformlar paylaşılan bir yazma senaryosuna izin vermez. Bankalar bunu arıyor.

Bu sorunun ve çözümünün bitcoin ve sansürsüz para fikri ile hiçbir ilgisi yoktur. Aslında, bitcoin ile tek bağlantı teknik Bitcoin blok zinciri ile bu özel blok zincirlerinin bazılarının nasıl olduğu arasındaki benzerlik bugün uygulandı. Önemli bir fark, özel blok zincirlerinin ihtiyaç duymamasıdır iş kanıtı madencilik, çünkü bloklar kapalı bir dizi katılımcı tarafından oluşturuldu. Zamanla iki dünya daha da farklılaşabilir, çünkü gereksinimleri tamamen farklıdır. Finansal düzenlemeyi sevseniz de sevmeseniz de, basit gerçek, özel blok zincirlerinin düzenlenmiş bir dünyada potansiyel olarak yararlı olduğu, ancak en azından şimdilik, kamu blok zincirleri değil.

Benzetme ile bitirebilirsem, BM Uluslararası Hukuk İlkeleri Bildirgesi ülkelere, açıkça işaretlenmiş bir çitle çevrili olduğu sürece istedikleri herhangi bir bölgeyi ellerinde tutabileceklerini söylemiyor. Daha ziyade, “kuvvet kullanma tehdidi veya kullanımından kaynaklanan hiçbir toprak edinimi yasal olarak kabul edilmeyeceğini” belirtir. Başka bir deyişle, meşruiyetiyle ilgili bir kuraldır. değişiklikler, sadece durumlar. Ve şimdi bizim için çok açık görünen BM deklarasyonu, uluslararası hukukta tam bir devrimdi. Artık tek taraflı iktidar ve otoriteye dayanan bir dünya değil, farklılıkların karşılıklı mutabakatla çözülebileceği bir dünya demekti.

Paylaşılan veritabanları söz konusu olduğunda, özel blok zincirleri tam olarak aynı şeyi yapar.

Zaman Damgası:

Den fazla Çoklu zincir