Bir blockchain PlatoBlockchain Veri Zekasında teslimat ve ödeme. Dikey Arama. Ai.

Bir blok zincirinde ödemeye karşı teslimat

Blok zincirleri kitaptaki en eski sorunu nasıl çözebilir?

İnsanlar arası ticaret, insanlığın kendisi kadar eskidir. Mağara adamı Ogg, mağara adamı Ugg'e “Sana taş vereyim, bana çilek ver” dediği anda başladı. Ancak ticaret beraberinde temel bir sorunu da beraberinde getirir: güven. Ogg'un kayayı kullanarak Ugg'e basmasını, ardından iki taşı da kapmasını engelleyen şey ve kaçmadan önce çilek? Sözlü bir değişim anlaşmasını, her iki tarafın da sözlerini tutmasını sağlayan bir icra mekanizmasına nasıl çevirebiliriz?

Modern bir örnek vermek gerekirse, birkaç yıl önce ikinci el pazarında bir araba sattım. İnternet üzerinden bir alıcı buldum, bizzat tanıştık, arabayı test ettirdi ve bir fiyat üzerinde anlaştık. Bu yüzden, daha kompakt bir biçimde etkin bir şekilde nakit olan bir kasiyer çeki almak için bankasına gitti. Birlikte arabanın yasal mülkiyetini devredecek resmi bir hükümet formunu imzalayıp sunabileceğim bir postaneye gittik.

İşte orada, postane penceresinin önünde duruyoruz ve garip bir çıkmaza ulaşıyoruz. Çek hala cebinde ve imzalı formu elimde tutuyorum. Birkaç saat önce tanıştık ve birbirimize güvenmek için hiçbir nedenimiz yok. Önce formu veriyor muyum, sonra kaçmak yerine bana çeki vermesini mi umuyorum? Yoksa bana çeki verip formda vermeyi umuyor mu? Her iki durumda da biri ihanet riskine maruz kalıyor.

Ve sonra endişelenmeyi bırakıp formu vermem gerektiğini anladım. Neden? Çünkü bundan sonra iki şeyden biri olabilir. Ya alıcı bana çeki verir, bu durumda herkes mutlu olur ve takas tamamlanır. Ama ya onun yerine kaçarsa? Bu durumda, postane memuru az önce verdiğim formu görecek ve yırtacak. Bingo, güvenli bir değişimimiz var.

Orada ne olduğunu gördün mü? İkilemimiz bir aracı, bu durumda postane katibi kullanılarak çözüldü. Katip, ya adil bir işlem yapılmasını ya da hiç işlem yapılmamasını sağlar. Ve herhangi bir aracı bu hizmeti sağlayamaz. Her iki tarafın da güvendiği biri olmalı. Devlete ait bir postanenin çalışanı durumunda, bu, hükümetin kendisine duyduğumuz güvenden kaynaklanır. Postane memurlarına rüşvet verilebiliyorsa, ya ben ya da alıcı, hem nakit hem de arabaya sahip olduğumuz bir durumu düzenleyebilir. Gerçekten bir çok ülkeböyle bir yozlaşma refah üzerinde büyük bir yük oluşturabilir.

Mağara adamı ve arabalar bir şeydir, ancak odağımızı ticaretin oynadığı finans dünyasına kaydıralım. Merkez Rol. Tabii ki, bankalar çalışanlarına başkasının hisselerinden kaçmaları için ödeme yapmazlar. Ancak, finansal varlıkların güvenli bir şekilde takas edilmesi önemli bir sorun olmaya devam ediyor, çünkü bir işlemdeki katılımcıların sözlerini tutmakta başarısız olabileceği daha az karikatürize yol vardır. Örneğin, taraflardan biri iflas edebilir veya piyasa koşullarındaki ani bir değişiklik, bir varlığı güvence altına almasını engelleyebilir. Yazım hatalarından veya bir Muhasebe hilesi başka bir karşı tarafta.

Bunların bir sonucu olarak "yerleşim riskleri", Çoğu finansal işlem, teslimat ve ödeme (DvP). Bu, yukarıda açıklanan postane süreci için sadece süslü bir terim. DvP, bir işlemin taraflarından biri taahhüt edileni teslim etmezse, diğer tarafın karşılığında teklif ettiği varlığı elinde tutmasını sağlar.

Finans dünyasında ödemeye karşı teslimat nasıl uygulanıyor? Güvenilir aracılar aracılığıyla tahmin ettiniz. Bunlar başka bankalar, takas odaları veya merkezi saklama kuruluşları. Günümüz ticaretlerinin çoğu dijital olarak gerçekleştiğinden, bu fiziksel sertifikaların veya nakit transferlerinin yönetilmesi meselesi değildir. Daha ziyade, DvP, aracı tarafından veritabanındaki bir dizi kaydı eşzamanlı olarak güncelleyerek ve / veya diğer kurumlara talimatlar ileterek gerçekleştirilir.

Blockchain ile teslimat mı yoksa ödeme mi

Veritabanları hakkında konuşmak bizi düzgün bir şekilde blok zincirleri konusuna getiriyor. Bir blok zinciri, bir defterin veya veritabanının birkaç taraf arasında paylaşılmasına ve senkronize edilmesine izin verir. Bununla birlikte, normal veritabanlarından farklı olarak, blok zinciri veritabanları, birbirleriyle şiddetli bir rekabet içinde olsalar bile, birden çok kullanıcı tarafından güvenli ve doğrudan değiştirilebilir. Kurumsal BT alanında çalışıyorsanız, bu cümlenin etkilerini biraz düşünmek isteyebilirsiniz.

Bir blok zincirinde teslimata karşı ödemenin nasıl çalıştığını anlamak için, bitcoin'in işlem modelini anlayarak başlamamız gerekir. Burada diğer blok zinciri tasarımlarının işlemler için farklı bir model kullandığı ve bu farklılıklar hakkında daha sonra daha fazla konuşacağımız belirtilmelidir.

Bir bitcoin işleminde bir dizi girdi ve çıktı bulunur. Her girdi önceki bir işlemin bir çıktısına bağlanır ve önceki çıktının tüm bitcoini içeri akar. Bir işlemin girdilerindeki bitcoin, daha sonra içinde yazılan miktarlara göre çıktıları arasında yeniden dağıtılır. Ek olarak, her işlem çıktısı, sahibinin kendisine karşılık gelen bir özel anahtarı tuttuğu yeni sahibinin genel tanımlayıcısını içerir. Bir bitcoin işlemi yalnızca şu durumlarda geçerlidir:

  • İşlemin girdilerindeki toplam bitcoin miktarı, çıktılarında yazılan miktardan daha büyük veya ona eşittir. Herhangi bir fark, işlemi bir blokta teyit eden "madenci" tarafından bir ücret olarak tahsil edilir ve işlemlerin onay için teklif verebileceği bir piyasa mekanizması yaratılır.
  • İşlem, işlemin “harcadığı” önceki her çıktının sahipleri tarafından onaylanır. Bu onay, yeni işlemin içeriğinin kriptografik imzasıyla ifade edilir. Önceki bir çıktının imzası, yalnızca genel tanımlayıcısıyla eşleşen özel anahtar kullanılarak oluşturulabilir.

Bu kuralların her ikisi de, güvenmeyen taraflar arasında paylaşılan bir mali defterde çok önemlidir. İlki olmadan, herkes bitcoin yaratabilir. Ve saniye olmadan, herkes diğerlerinin bitcoinlerini harcayabilir. Ancak, bireysel işlemler yerine küresel olarak uygulanan üçüncü bir kurala da ihtiyacımız var:

  • Her işlem çıktısı yalnızca bir sonraki işlem tarafından kullanılabilir. Bu, şu adla bilinen bir saldırıyı engeller: çift ​​harcama aynı bitcoinlerin birden fazla alıcıya gönderildiği.

Bu kuralı uygulamak için, blok zinciri birbiriyle çakışmayan geçerli işlemlerin kronolojik bir günlüğünü içerir ve bu günlük, ağdaki her düğüm tarafından bağımsız olarak doğrulanır.

Bitcoin işlem modeli, herhangi bir finansal varlığı temsil edecek şekilde kolayca genişletilebilir. Bitcoin içeren bir işlem çıktısı yerine, bir varlık tanımlayıcısı ve miktarı tutabilir. Bitcoin işlemlerini kapsayan tüm kurallar hala geçerlidir ve katılımcıların (a) yoktan varlıklar yaratmalarını, (b) diğer insanların varlıklarını harcamalarını ve (c) aynı varlığı iki kez harcamalarını engellemektedir. Kripto para dışı varlıklar için, madencilerin farkı toplamasına izin vermek yerine, girdi ve çıktı miktarlarının tam olarak dengelenmesi konusunda ısrar etme eğilimindeyiz.

Öyleyse, bu modeli kullanarak ödeme işlemine karşı güvenli bir teslimatı nasıl oluşturabiliriz? Diyelim ki Alice ve Bob, Alice'in 10 sterlinini Bob'un 15 doları ile değiştirmeyi kabul etti. Kolaylık olması açısından, Alice'in tek bir işlem çıktısında düzgün bir şekilde oturan tam olarak 10 sterlin olduğunu ve Bob'un da aynı şekilde 15 dolara sahip olduğunu varsayacağız. (Eğer durum böyle değilse, bunu yapmak için fonlarını kolayca değiştirebilirler.)

Başlangıç ​​olarak, her iki taraf da iki giriş ve iki çıkış içeren bir işlem oluşturur. İki girdi, sırasıyla Alice'in £ 10 ve Bob'un 15 $ 'ını içeren önceki çıktıları harcar. Çıktılara gelince, ilki Alice'in tanımlayıcısını ve 15 $ 'ı içerir ve ikincisi 10 £ içeren Bob'a gider. Her iki para biriminde de girdi ve çıktı miktarları dengelendiği için işlemimiz yukarıdaki ilk koşulu yerine getiriyor. İkinciyi gerçekleştirmek için, hem Alice hem de Bob, her birine ait önceki çıktıları harcadığı için şimdi işlemi imzalamalıdır.

İşlem artık blok zincirine dahil edilerek sonuçlandırılabilir, ancak yine de çift harcama sorununu düşünmemiz gerekiyor. Ya Alice, aynı 10 sterlinini kendisine daha iyi bir anlaşma teklif eden farklı bir karşı tarafla değiştirerek çelişkili bir işlem yaratmış olsaydı? Burada blok zincirinin her çıktının yalnızca bir kez harcanmasını sağladığı üçüncü kural devreye giriyor. Rakip işlem, Alice'in Bob ile takası blok zincirinde olduktan sonra iletilirse, o zaman onaylanmaz. Ve ilk önce rakip işlem onaylandıysa, bunun yerine Alice'in Bob ile değişimi başarısız olacaktır. Her iki durumda da, blok zinciri, Alice ve Bob'un borsası ve diğerleri için ödemeye karşı teslimat sağlar. Bob, Alice'in 10 sterlinini almazsa, Alice 15 dolarını alamaz.

Kısmi işlemlerin gücü

Bu nedenle, blok zincirleri bize iki tarafın bir araya gelmesi, bir değişim işlemi oluşturması ve imzalaması ve bir bütün olarak başarılı olmasını veya başarısız olmasını sağlamamız için bir yol sunuyor. Bu, süreci yönetmek için güvenilir bir aracıya ihtiyaç duymadan, paylaşılan bir defterde teslimata karşı ödemeye olanak tanır. İşlemleri bloklar halinde onaylayan madenciler hala bir miktar güce sahip, ancak bu geleneksel bir aracıdan çok daha az. Yapabilecekleri en kötü şey, belirli bir işlemi onaylamayı reddetmektir. bütünüyleve bu DvP'yi ihlal etmez. Dahası, madencilik fiilen işlemleri oluşturan taraflar arasında paylaşılırsa, bu risk tamamen ortadan kalkar, çünkü herkes kendi işlemlerini onaylama şansına sahip olur.

Çok uzak çok iyi. Ancak bitcoin tarzı blok zincirlerinin daha fazla hilesi var. Bir işlemin, o işlemin harcadığı her bir önceki çıktının sahibi tarafından imzalanması gerektiğini hatırlayın. Varsayılan olarak, bu imza işlem içindeki giriş ve çıkışların tam listesini kilitler. Kriptografi, bir girdi veya çıktıdaki en ufak bir değişikliğin imzayı geçersiz kılmasını sağlar. Yukarıdaki örneği takip edersek, Alice işlemi imzaladıktan sonra Carol yerine Bob alırsa, işlem tamamen başarısız olur.

Peki ya Alice takası kiminle yaptığını umursamıyorsa? Çoğu amaç için, neden umursasın? Alice, özellikle Bob'la çalışmaya kararlı değilse, işlemin onu gerçekten ilgilendiren yalnızca iki bölümü vardır. Birincisi, farklı bir miktar veya varlık yerine 10 sterlinlik çıktının harcanacağı gerçeği. İkincisi, karşılığında yeni bir çıktı olarak 15 dolar alıyor. Sistemdeki tüm para temiz olduğu sürece, Alice o 15 doların nereden geldiğine veya takası kolaylaştırmak için başka ne olabileceğine gerçekten aldırış etmiyor.

Belki de tek bir parti 15 dolarla gelir ve Alice'in 10 sterliniyle doğrudan bir takas yapar. Ama belki Bob ve Carol sadece 7.50 $ takas etmek istiyordur. Bu durumda, her biri 5 sterlin toplayan iki çıktıyla birlikte işleme iki girdi eklerlerdi. Ya da belki Carol aslında 15 doları 950 ruble ile değiştirmek istiyor, Moskova'daki Sasha 950 rubleye sahip ve 10 sterlin arıyor. Bu durumda, her bir tarafın yapbozun yalnızca kendi parçasını önemsediği 3 yönlü bir değişim gerçekleşebilir. Alice'in başlattığı işlem sonsuz sayıda farklı yolla tamamlanabilir. Ancak Alice'in bakış açısından, bunların hepsi ona 15 sterlin karşılığında 10 dolar vermek gibi aynı amaca ulaşıyor ve hepsi onu eşit derecede mutlu ediyor.

Değişim senaryoları

Bir blockchain bunu nasıl kolaylaştırır? Kısmi işlemler ve kısmi imzalar yoluyla. Alice, tek bir girdi (10 £) ve tek bir çıktı (ona $ 15) ile bir işleme başlar. İşlemin bu kısımlarını, herhangi bir sayıda başka giriş veya çıkışın eklenebileceğini belirten bir dijital imza ile kilitler. Bu kısmi işlemi Bob'a verir ve “ne yapabileceğinizi görün” diyor. Belki onu Carol'a ve diğer potansiyel karşı taraflara veya sendika kurucularına da verir. Bunların her biri, takası dengelemek veya tekrar teslim edilebilecek daha büyük bir kısmi işlem oluşturmak için kendi girdi ve çıktı çiftlerini ekleyebilir. Kimin ne yaparsa yapsın, işlem yalnızca girdi ve çıktı varlıkları dengelendikten sonra yürütülebilir (yani blok zincirinde onay yoluyla kapatılabilir).

Bir blok zinciri işlemi yalnızca bir dijital veri yığınıdır, bu nedenle bu kısmi işlemler e-posta veya başka herhangi bir iletişim ortamı üzerinden gönderilebilir. Olası işlemdeki katılımcılar bunu bilir çünkü halka açık olarak bile paylaşılabilirler. blockchain bunlarla ilgilenecek. Alice'in imzası, karşılığında biri ona 10 dolar verirse yalnızca 15 sterlin harcamasını sağlar.

Son olarak, Alice teklifi devre dışı bırakmayı seçerse, yapması gereken tek şey aynı 10 £ 'u başka bir işlemde harcamaktır, çoğunlukla da teklifi kendisine geri göndererek. Blok zinciri aynı çıktının iki kez harcanmasına izin vermeyeceği için, bu onun mevcut kısmi işlemini değersiz kılar. Blok zincirindeki diğer tüm katılımcılar bunu görecek ve takası tamamlamak için zamanlarını boşa harcamayı bırakacaklar.

DvP'den akıllı sözleşmelere

Bendeki gibi önceden tartıştıBitcoin tarzı bir blok zinciri, paylaşılan bir ilişkisel veritabanında senkronizasyonu ve güvenliği yönetmenin bir yolu olarak görülebilir. Hem bitcoin hem de veritabanı işlemleri atomik olarak ele alınır, yani bir bütün olarak başarılı veya başarısız olurlar. Analojinin anahtarı, bir blok zincirindeki bir işlem çıktısı ile veritabanındaki bir satır arasındaki eşdeğerliktir. Bazı çıktıları harcayan ve bazılarını yaratan bir blok zinciri işlemi, bazı satırları silen ve bunun yerine bazılarını oluşturan bir veritabanı işlemiyle aynıdır. (Mevcut bir satırı değiştiren bir veritabanı işlemi, o satırı silmeye ve onun yerine yeni bir güncellenmiş olanı oluşturmaya eşdeğerdir. Bu eşdeğerlik, popüler MVCC bitcoin tarzı blok zincirlerinin dağıtılmış bir formu olarak görülebildiği veritabanlarında eşzamanlılık kontrolü yöntemi.)

Öyleyse, finansal verilerimizin, her satırın üç parça bilgi içerdiği bir veritabanında tutulduğunu varsayalım: sahibinin tanımlayıcısı, bir varlık tanımlayıcısı ve bir varlık miktarı. Bir blok zinciri, bu defterin, birbirlerine hiç güvenmeseler bile, katılımcıları arasında güvenli bir şekilde paylaşılmasını sağlar. Veritabanları dilinde şunları sağlar:

  • Bir işlem tarafından silinen satırlardaki varlık miktarları, oluşturduğu satırlardakilerle eşleşir.
  • Bir işlemle silinen (veya değiştirilen) her satır için, işlem o satırın sahibi tarafından imzalanmalıdır.
  • Veritabanı satırı bir işlem tarafından silinmişse, bu başka bir işlemin onu tekrar silmesini engeller.

Bu kurallardan ilkine, yani işlemlerin varlık miktarlarını koruması gerektiğine bakalım. Bunu genel bir "işlem kısıtlaması" kavramına genişletebiliriz. Bir işlem kısıtlaması, her işlem için iki dizi satır gören bir kara kutu biçimini alır: (a) işlem tarafından silinen satırlar, (b) oluşturduğu satırlar. Kara kutunun görevi, bu iki kümeye bakmak ve işlemin geçerli olup olmadığına 'evet' veya 'hayır' cevabını vermektir. Bizim özel durumumuzda, yalnızca her iki setteki toplam varlık miktarları tam olarak eşleşirse evet yanıtı verecektir.

İşlem kısıtlamalarını uygulama yeteneğine sahip olduğumuzda, bunlar herhangi bir kural setini içerecek şekilde genişletilebilir. Bazı örnekler, "bu varlığın bir birimi ancak bu diğer üç varlık aynı anda emanette kilitlendiğinde oluşturulabilir" veya "bu varlık yalnızca yetersiz yağmur bildiren karşılık gelen bir satır varsa aktarılabilir" olabilir. Bir blok zincirinin dağıtılmış mimarisi perspektifinden, kutunun içindeki mantık, gördüğü her işlemin kesin ve tutarlı bir değerlendirmesini bize verebildiği sürece hiçbir fark yaratmaz.

Sonuç olarak, işlem kısıtlamaları, blok zinciri katılımcılarının gerçekleştirebileceği veri dönüşümlerini kısıtlamak için genel bir yöntem görevi görebilir. "Akıllı sözleşmelere" yönelik bu yaklaşım, saklı yordamlar kullanılan Ethereum ve onun Eris türev. Gelecekteki bir yazıda, bu iki paradigmanın basitlik, ölçeklenebilirlik ve eşzamanlılık açısından avantaj ve dezavantajlarını daha derinlemesine inceleyeceğiz.

Yapabilirsin beni Twitter'da buradan takip edin. Ayrıca bakınız: Bitcoin vs blockchain tartışmasını sona erdirmek.

Teknik ek

Kısmi DvP işlemleri oluşturmak için bir imza tipi of SINGLE|ANYONECANPAY. Kullanıyorsanız Çoklu Zincir, preparelockunspent, createrawexchange ve appendrawexchange API çağrıları sizin için ayrıntılara dikkat edin. Bakın Başlamak nasıl kullanılabileceklerine dair basit bir örnek için sayfa.

Lütfen herhangi bir yorum gönderin LinkedIn'de.

Kaynak: https://www.multichain.com/blog/2015/09/delivery-versus-payment-blockchain/

Zaman Damgası:

Den fazla Çoklu zincir