Payjoin, Bitcoin işlemleri oluşturmak için basit, akıllı bir numara kullanarak birçok sorunu tek bir taşla çözen bir protokoldür. Bitcoin'in en büyük gizlilik endişesini çözmek için tasarlanmıştır, ancak aynı zamanda ölçeklendirme sorunlarının çözülmesine yardımcı olabilir ve bu nedenle insanların ücretlerden tasarruf etmesine yardımcı olabilir. Özellikle Lightning Network düğümleriyle uyumludur çünkü mevcut tasarımının işlemin alıcısı için bir canlılık gereksinimi vardır, yani alıcının ödemeyi alırken çevrimiçi olması gerekir (tıpkı bir Lightning düğümü gibi). Gelecekte, çevrimdışı olarak kullanılabilmesi için bu gereksinim bile ortadan kaldırılacaktır. Cüzdan yazılımına entegre edilmesi kolaydır ve ödeme yaparken aynı anda birçok yıldırım kanalı açabilir ve pasiftir, böylece farkında bile olmadan avantajlardan yararlanabilirsiniz. Payjoin'in gizlilik avantajları katmanlıdır, bu nedenle insanların yalnızca küçük bir yüzdesi onu kullansa bile herkes gizlilik avantajlarından yararlanabilir. Ve belki de en iyisi, PayJoin hard fork veya soft fork gerektirmez. Bitcoin ile kullanılabilir ve kullanılmıştır ve aslında Bitcoin yazılımının ilk sürümünden beri mevcuttur.
Payjoin, Coinjoin'in bir türevidir. Coinjoin daha eskidir ve aynı zamanda daha fazla çevrimiçi etkileşim gerektirir, bu da kullanıcıların onu kullanmak için yoğun bir şekilde meşgul olmaları gerektiği anlamına gelir, bu da kullanılabilirliği azaltır ve benimsemeyi caydırır. Bununla birlikte, buna rağmen, PayJoin'in faydaları ve kullanım kolaylığı daha belirgin olmasına rağmen, CoinJoin'in bugüne kadar benimsenmesi PayJoin'inkinden çok daha yüksek olmuştur. Geliştiriciler için karmaşık, belirsiz yön, cüzdan yazılımı tarafından benimsenmesini engelliyor.
Payjoin uzun yıllardır piyasada ve aşağıdakileri dikkate alarak:
Yukarıda belirtilen birçok faydası vardır
Pasif, müdahaleci olmayan bir kullanıcı arayüzü sağlama yeteneği
Cüzdan sağlayıcılarının entegre etmesi ne kadar kolay
Payjoin'in büyük ölçekte benimsenmesi neden yavaş?
Özellikle, daha fazla etkileşim gerektiren, kullanımı daha zor ve daha pahalı olan Coinjoin protokolü neden daha fazla benimseniyor?
Bu makalede, Bitcoin'in gizliliğine yönelik mevcut saldırılara, PayJoin'in geçmişine gizlilik perspektifinden bakacağız, PayJoin'in nasıl çalıştığına ve Bitcoin'i değiştirmeden neden bu kadar çok fayda sağlayabileceğine ve son olarak mevcut benimsemeye bakacağız. Payjoin gizliliği, ölçeklenebilirliği büyük ölçüde artırabilir ve ücretlerden tasarruf etmeye yardımcı olabilirse, cüzdanın onu entegre etmek için gösterdiği küçük çaba buna değecektir.
Bitcoin için gizlilik neden önemlidir?
Payjoin'in önemini tartışmadan önce, gizliliğin önemini anlamalıyız. Artık sizi ikna etmeme ihtiyacınız yoksa, Pyajoin'in tarihi ve nasıl çalıştığı hakkında bilgi edinmek için doğrudan bir sonraki bölüme geçebilirsiniz.
Batı demokrasilerinde, mahremiyetin önemi tarif edilemez, çünkü faydaları hala insanlar için görünmez görünüyor. Gizliliğin neden önemli olduğunu ikna edici bir şekilde açıklamak zordur (özellikle daha yüksek maliyetler veya daha büyük rahatsızlıklar karşısında), kötü insanların kendileri hakkında çok fazla bilgiye sahip olmasının kötü sonuçlarını asla hissetmedikleri için veya insanların bu izinsiz girişlerin uzun vadeli sonuçları hakkında düşünmelerini gerektirdiği için.
Tabii ki, mahremiyet giderek daha fazla insanın umursadığı bir şey gibi görünüyor (teoride), ancak genellikle çok düşük tetik engelleri ve rahatlıktan ödün vermeden nadiren aktif olarak yaklaşıyorlar. Bu nedenle, insanların gizliliğini korumak isteyen teknolojiler, mümkün olduğunca kullanıcı dostu ve mümkün olduğunca kullanışlı olacak şekilde tasarlanmalıdır.
Homojenlik
Payjoin'in çözmeye yardımcı olabileceği tek sorun gizlilik değildir, ancak bunu çözmek için yaratılmıştır. İnsanlar uzun zamandır Bitcoin'in doğasında var olan gizlilik eksikliğinden yakınıyor ve Bitcoin topluluğu bu konuyu çok ciddiye alıyor. Bitcoin, doğrudan bire bir işlemleri kolaylaştırmak için tasarlanmıştır ve sansüre dayanıklıdır. Bununla birlikte, gelecekteki ödemelerin izlenmesine izin verdiği için, belirli bir miktar para bir kimliğe bağlandığında ayrımcılığa yol açabilir. Bu, homojenliği yok eder - aynı para birimindeki bazı madeni paraların aynı miktardaki diğerlerinden ayırt edilemez olma derecesi - ve homojenlik, iyi paranın birincil özelliğidir.
Alıcılar takip edilebilirse, yalnızca şu anda yasadışı kişiler tarafından tutulan madeni paralar reddedilmekle kalmayacak, aynı zamanda yasa dışı amaçlar için kullanılan cüzdanlar da mevcut sahibinin bunları tamamen meşru yollarla elde edip etmediğine bakılmaksızın tüccarlar tarafından işaretlenebilir ve daha sonra reddedilebilir. Süt almak için sahip olduğunuz parayı kullanamadığınızı hayal edin, çünkü birileri tarafından uyuşturucu satın almak için kullanıldı ve "Paranız temiz değil" diyorlar, bu sizin için adil mi? Başkasının günahı için cezalandırılmalı mısın? Madeni paralarla ne yapardın? Paranın değersiz olduğunu hissedersiniz çünkü onu tutmak sadece satın alma gücünüze zarar verir. Ve madeni paraların bir kısmının ("temiz para") diğerinden daha değerli olması mantıklı değil. Ne olursa olsun, bir dolar diğerine eşit olmalıdır, aksi takdirde böyle bir madalyonun değer aktarma kabiliyeti bozulacaktır.
Cezai Karışıklık
Genellikle yalnızca suçluların gizliliğe ihtiyacı olduğunu söyleyen Bitcoin ve mahremiyeti karalayanlar vardır. "Kötü bir şey yapmıyorsan, al ve saklayacak hiçbir şeyin yok" a benzer. Bunu çürütmek kolaydır:
Çok az insan banyo yaparken ve tuvaleti çevrimiçi olarak kullanırken canlı yayın yapmaya isteklidir. Bu bir suç olduğu için mi? Sadece herkesin bir şeyi gizlemek istediğini ve bu saklamanın mutlaka yanlış olmadığını gösterir.
Daha geniş anlamda, neyin suç teşkil ettiğine dair yasal bir tanım sağlamak Hükümetin sorumluluğundadır, ancak bu tanım her zaman değişebilir. Eğer insanlar mahremiyete sahip olmakta özgür değillerse, o zaman hiçbir şeye sahip olmakta özgür olmayacaklardır, çünkü eylemleri çevredeki sosyal çevre tarafından ciddi şekilde kısıtlanacaktır (ve hatta hükümet doğrudan dahil olacaktır). Tamamen yasal bir şey yapıyor olsa bile, insanlar işaret ediliyor ve sürekli saldırıya uğruyor. Gizlilik, kendini seçici olarak ifşa etme hakkıdır.
Bu basit, apaçık çirkin ifadeye ek olarak, gerçekte, suçlular, yasalara uyan vatandaşların büyük çoğunluğunun aksine, mahremiyet için yüksek bir bedeli kabul etmeye isteklidirler, bu nedenle temel mahremiyeti tehlikeye atan önlemler, sıradan insanlar için faillerden çok daha zararlıdır. Hükümet, suçluları yakalamak için mahremiyet kısıtlı önlemleri kullanma konusunda kötü bir iş çıkarmasa bile, bunun yerine "seçer ve seçer" ve seçici olarak vatandaşları gözetler, sonuç aynı olacaktır. Eğer bir vatandaş iktidardakilerin hoşuna gitmeyen bir şey söylerse (ve iktidardakilerin hoşlanmadığı şeyler her gün aynı olabilir), o zaman TA seçici olarak tutuklanacak ve zarar görecektir.
Son olarak, mahremiyet arzusu sadece hükümetin yetkisini aşması korkusu değildir. Aynı zamanda pratik, güvenlik ve onur endişeleri de vardır. Birisi ne kadar paranız olduğunu, nerede yaşadığınızı öğrenebilirse, eşyalarınızı çalmak ne kadar zor? İnternette kaç yere adresinizi, ödeme bilgilerinizi, fotoğraflarınızı vb. girmeniz gerektiğini düşünün. Kişisel bilgilerinizi güvende tutmak için bu siteleri çalıştıran herkese güveniyor musunuz? Onlara güvenmemelisiniz, çünkü en iyi sistemler bile çökebilir ve suçlular, sistemleri patlatmak ve bu değerli bilgileri çalmak için bilgisayar korsanlarına büyük meblağlar ödemeye istekli olacaktır.
Gizlilik ve Demokrasi
Herhangi bir totaliter devlette, vatandaşları kontrol etmenin ön koşulu, vatandaşların konuşmalarını, bilgi kanallarını ve finansal faaliyetlerini bilmektir. Bu anlayış olmadan, neye saldıracağınızı veya neyi durduracağınızı bilmenin bir yolu yoktur, çünkü anlatıyı manipüle etmenin ve kontrolü daha da güçlendirmenin bir yolu yoktur. Hükümet bu bilgilere güvenilir bir şekilde erişemezse, bir vatandaşı istediği kadar hedef alamaz. Sovyetler Birliği ve Nazi Almanyası gibi geçmişin totaliter toplumlarında, aile üyeleri tarafından özel konuşmalarda ifade edilen itirazları bildirmeleri için beyinlerini yıkayarak insanların mahremiyetini ve aile içindeki güvensiz ilişkilerini bozdular. Aynı mahremiyeti bozan önlemler paranın başına geldiğinde, konuşmadan bile daha korkunçtur. Fonun kesilmesi, siyasi muhalefetle mücadelede çok etkili bir araçtır.
Bitcoin'in gizliliği savunmasız
"Doğru olan bir krizi boşa harcamayın. "
– Machiavelli
Suçla mücadele (Hamas terör saldırısı) adına, Bitcoin'de gizliliği koruma yöntemlerini yasa dışı olarak nitelendirmek için yeni düzenleyici önlemler speküle ediliyor.
10 Ekim 2023'te Wall Street Journal, Hamas'ın kripto para birimi aracılığıyla $130 milyon fon aldığını bildiren bir makale yayınladı. Bir hafta sonra, Senatör Elizabeth Warren, Başkan Biden'a açık bir mektup yazdı ve onu yürütme organının 31 Ekim'e kadar "kripto para biriminin terörist kullanımına" nasıl tepki verdiği konusunu ele almaya çağırdı ve Wall Street Journal'ı bu tür bir düzenlemeye acil ihtiyaç duyulduğunun kanıtı olarak gösterdi. Mektup, Senato'nun 100 üyesinden 29'unun yanı sıra Temsilciler Meclisi'nin 76 üyesinden imza aldı. İlginç bir şekilde, mektubun gönderilmesinden iki gün sonra, 19 Ekim'de, Mali Suçları Uygulama Ağı (FCE), kara para aklama riskleri için kripto para gizleme düzenlemesini düzenlemek için bir teklif yayınladı. Teklif, işlem akışını gizlemek için kullanılan yöntemleri listeler:
"Bir işlemin yapısını koordine etmek, yönetmek veya manipüle etmek için programatik veya algoritmik kodun kullanılması: Bu yaklaşım, iki veya daha fazla kişinin işlemlerini koordine etmek için yazılımın kullanılmasını içerir, böylece bu işlemler tek bir koordineli girdiden birden fazla olası çıktı üretmek için birleştirilir, böylece her işlemin benzersizliğini gizler ve her işlemde yer alan kişiyi tanımlama olasılığını azaltır."
Bu tanım hem coinjoin hem de payjoin'i içerir, ancak "algoritmik kod kullanma" tanımı keyfi işlemleri kapsayacak kadar geniştir ve bu nedenle keyfi sansüre izin verir.
Ancak Wall Street Journal'ın açık mektuba bir bakış açısı sunan ve bu düzenlemeyi savunmaya çalışan makalesi, verileri çok kötü bir şekilde yanlış yorumladı - Hamas'ı gerçekten ilgilendiren gerçek miktar sadece 450.000 dolardı. Kripto para birimleri hiçbir zaman Hamas'ın birincil finansman kaynağı olmadı. Hamas'ın kendisi, izlenebilir olan bitcoin aracılığıyla para almak istemediklerini açıkça belirtti.
İronik olarak, şu anda terörist gruplarla başa çıkmak için önerilen düzenleyici önlemler, terörist gruplar üzerinde en az etkiye sahip ve Bitcoin ve diğer kripto para birimlerini kullanmak isteyen sıradan insanlar için en fazla etkiye sahip.
Hiç şüphe yok ki, Bitcoin'in gizlilik hakları için savaş Amerika Birleşik Devletleri'nde zaten devam ediyor ve yabancı ulusal güvenlik gerekçeleriyle mücadele kisvesi altında olacağı öngörülebilir. Daha da önemlisi, şu andan itibaren, Bitcoin'deki gizliliği koruyan teknolojileri anlayın ve bunları zayıflatma girişimleriyle mücadele etmek için kullanmaya başlayın.
Payjoin'in ne işe yaradığını ve nasıl çalıştığını anlamak için Bitcoin işlemlerinin neye benzediğini anlamak gerekir. Her bitcoin bazı girdi ve çıktılarla bağlantılıdır. Çıktı, bu bitcoinlerin hangi açık anahtara veya "adrese" gönderildiğini tanımlar. Girdi, işlemin fonlarının "kaynağını", yani işlemi (ve yeni çıktısını) oluşturmak için kullanılan önceki çıktıyı tanımlar. İyi bir benzetme, ödeme yapmak için farklı nakit mezhepleri kullanmamızdır. Diyelim ki bir restoranda akşam yemeği için 25 dolar ve garson için 5 dolar, toplam 30 dolar ödemek istiyorsunuz (bu, işleminizin çıktısı, iki farklı kişiye iki farklı "porsiyon" para - restoran ve garson).
Peki nasıl ödeme yapıyorsunuz? Diyelim ki elinizde çok fazla not var (yani girdiniz):
1 sayfa 20 yuan
2 yaprak 10 $
5 yaprak 5 yuan
Yani, bu anlaşmayı oluştururken, biri 5 dolar olan ve biri sadece garsona verilen 1 adet 20 dolarlık banknot ve 2 adet 5 dolarlık banknot kullanabilirsiniz:
Önemli bir hususa dikkat edin ve nakit benzetmesi yapmamız için uygun olmayan bir husus: Buradaki 20 $ ve 5 $ tek parça halinde * birleşecek *. Daha çok, birden fazla altın külçesi vermek yerine gerekli miktarı ödeyebilmeniz için iki parça altını eriterek daha büyük bir altın haline getiriyormuşsunuz gibi. Bitcoin, istediğimiz çıktıyı üretmek için girdileri bölmenize ve birleştirmenize olanak tanır.
Ayrıca aşağıdaki gibi 2 adet 10 dolarlık ve 2 adet 5 dolarlık banknot da kullanabilirsiniz:
Paramızı harcayana kadar, bu bireysel Bitcoin "notlarına" "Harcanmamış İşlem Çıktıları (UTXO'lar)" denir. İsim kulağa garip geliyor, ancak düşünmek için zaman ayırırsanız, bunun oldukça doğru olduğunu fark edeceksiniz - bunlar bazı işlemlerin "sonuçları" (çıktıları) ve henüz başka bir işlem tarafından harcanmamışlar. Henüz harcanmamış bir işlem çıktısı, harcayabileceğiniz çıktıdır. Yani, aslında, UTXO'lar cüzdanınızdaki kağıt para gibidir. Harcandıktan sonra, bir işlemin girdisi haline gelirler ve ardından başka bir işlemin çıktısı (başka birinin cüzdanındaki nakit) haline gelirler ve artık harcayamazsınız, ancak harcadığınız notun kaydı sonsuza kadar blok zincirinde kalır.
Nakitten farklı olarak, Bitcoin işlemlerinin geçerli olması için gönderenin izni gerekir. Bu, gönderenin dijital imzası aracılığıyla elde edilir ve bu da fonları harcamayı amaçladıklarının kanıtı olarak hizmet eder. Geçerli bir imzanın (yani, UTXO'nun adresiyle eşleşen bir imza) UTXO'yu kullanan işlem girişinde temsil edilmesi gerekir. İmzanın varlığı, bu UTXO'nun "kilidini açar" ve bu UTXO'nun sahibinin onu böyle bir işlem için harcamayı planladığını gösterir.
Aşağıdaki resim, bu yazının yazıldığı sırada blok zinciri tarafından 1 kez onaylanan gerçek bir işlemi göstermektedir:
! [Biri ücret olmak üzere 1 girdi ve üç çıkışlı gerçek bir işlem örneği] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-c006e2488a-dd1a6f-cd5cc0.webp)
Gördüğünüz gibi, yukarıdaki işlem 1 girdi aldı ve biri gerçek ödemeyi temsil eden ve diğeri neredeyse kesinlikle para üstü olarak harcayana geri gönderilen 2 çıktı oluşturdu. Girdi ve çıktı arasındaki fark, işlemi ilk onaylayan bloğu çıkaran madenciye giden ücrettir.
Bu "UTXO modu" çok güçlüdür. Her işlemin bir girdisi ve bir çıktısı olduğundan ve bir işlemin çıktısı sonraki başka bir işlemin girdisi haline geldiğinden, Bitcoin'in sahiplik transferini takip edebilen bir işlem zincirine sahip oluruz. Bitcoin arzı sınırlı olduğundan ve bu nedenle önemli bir "enflasyonist olmayan" özelliğe sahip olduğundan, herhangi bir zamanda ne kadar Bitcoin'in dolaşımda olduğunu (veya "harcanmadığını") denetleyebilmek önemlidir ve UTXO modeli oc'de kullanılabilir.
Bu aynı zamanda Bitcoin'in gizlilik endişelerinin de kaynağıdır. Her işlemin kendi geçmişi vardır. Size verilen tüm bitcoinleri ve nereye gönderdiğinizi takip etmek kolaydır. Tüm sistem açıkça bu özelliği destekleyecek şekilde tasarlanmıştır, ancak bireyleri izleme niyeti yoktur. Bu sistemde, tek gerçek pazarlık kozunuz, gerçek kimliğinizi asla açık anahtarınızla ilişkilendirmemektir ki bu, kitlesel gözetim çağında yapılması çok zordur.
Payjoin'in Tarihsel Kökenleri
Satoshi Nakamoto'nun küçük hatası
Satoshi Nakamoto, 2008'de Bitcoin teknik incelemesini yayınladığında, gizlilik endişelerinin her işlemin herkese açık hale getirilmesi gerekliliğinden kaynaklandığını ve bunun da onu gizli tutma gerekliliğiyle çeliştiğini fark etti.
Gerçek kimlikleri işlemlere bağlamaktan kaçınmak için iki öneride bulundu:
Açık anahtarı anonim tutun
Açık anahtarları tekrar kullanmayın
Bunların hepsi iyi bir tavsiyedir, ancak 1) çevrimiçi ödeme yaparken son derece dikkatli olmadığımız sürece, gerçek kimliğimizin ödemelerimizden tamamen izole edildiğini garanti etmek zordur; 2) için, açık anahtar yeniden kullanılmasa bile, birden fazla anahtardan elde edilen çıktı sonraki ödemelerde birlikte harcandığı sürece, izleyicinin hangi açık anahtarların hangi kişiye ait olduğunu belirlemesi zor değildir. Bu öneriler, bir araya getirildiğinde bile, yapılması zor ve kusurlu çözümlerdir.
Bu önerilerden sonra Satoshi Nakamoto, sisteminin zayıflığını abartarak küçük bir hata daha yaptı:
"Ek bir güvenlik duvarı olarak, ortak bir sahibine işaret etmediklerini garanti etmek için her işlem için yeni bir anahtar çifti kullanılmalıdır. Bazı ilişkilendirmeler hala kaçınılmazdır ve çok girdili işlemler kaçınılmaz olarak girdilerin hepsinin aynı sahibinden olduğunu gösterecektir. Risk, bir ortak anahtarın sahibi açığa çıkarsa, ilişkilendirmenin aynı sahibe ait diğer işlemleri açığa çıkarabilmesidir. "
Satoshi'nin hipotezi ve şimdiye kadar gösterdiğimiz tüm örnekler, bir işlemin tüm girdilerinin aynı sahibine ait olduğunu ima ediyor. Başka bir deyişle, bir işlem için harcanan tüm "banknotlar" cüzdanınızdan gelir, bu makul bir varsayımdır, ancak mutlaka doğru değildir. Bu hipoteze "sahiplik ipuçlarının kimliğine girme" denir. Zincir üstü etkinlik izlemenin de temeli olan herhangi bir işlem için neredeyse doğrudur.
Coinjoin
2013'ün başında Gregory Maxwell, bitcointalk.org forumlarında ilginç bir oyun oynadı ve kendine ait bir UTXO (1 BTC değerinde) ve adresini sundu ve herhangi birinin bu UTXO'yu girdi olarak kullanarak yeni bir işlem oluşturup oluşturamayacağını sordu. Böyle bir işlemin yaratıcısı ona 1 BTC'den daha az gönderirse, ondan bir miktar para alır ve ona 1 BTC'den fazla gönderirse, ona fazladan para verir, ancak kendisine gönderilen miktar 1 BTC'den fazla ve az değilse, o zaman daha fazla gizlilik için fonlarını (ve adresini) kullanmaya eşdeğerdir, çünkü girdi, işlem yaratıcısının kendi UTXO'suymuş gibi görünür, ancak değildir. Maxwell'in çıktılarından biri harcanıp adresine geri gönderildiğinde, diğerlerinin oyuna devam edebilmesi için başka bir UTXO sağlar. Bir blockchain aktivite analizi firmasının bakış açısına göre bu, Maxwell'in zengin göründüğünü düşünmelerine neden olur! Adresleri herkese açık olduğundan ve bu adresleri içeren işlemler oluşturmak için birçok UTXO kullanıldığından, bu işlemleri analiz eden ve işlemlerin tüm girdilerinin aynı kişiden geldiğini varsayan herhangi bir analist, Maxwell'in çok, çok sayıda bitcoin'e (gerçekte sahip olduğundan daha fazla) sahip olduğunu varsayacaktır, bu nedenle yazısının başlığı: "Ben gerçekten zenginim!"
Tabii ki, Maxwell adresini halka açık bir forumda yayınladığı için oyun özel değil, ancak ortaya çıkan çok önemli bir konsept sunuyor. Maxwell'in dediği gibi:
"Birçok kişi yanlışlıkla bir işlemin birden fazla adrese mal olması durumunda, hepsinin aynı kişiden geldiği anlamına geldiğini varsayar. Bu genel olarak doğrudur, ancak mutlaka doğru değildir: insanlar birlikte bir işlem oluşturmak için birbirleriyle işbirliği yapabilir ve güvenli ve güvene dayalı olmayan bir yaklaşım vardır. "
Aynı yıl bir takip gönderisinde Mavwell, fikri resmi olarak "Coinjoin" adını verdiği bir konsepte dönüştürdü:
"Bitcoin sahipliğinin tarihini düşünürken, birden fazla farklı komut dosyası açık anahtarına mal olan bir işlemi, bu fonları bir araya getirmenin mülkiyeti olarak düşünebilirsiniz ve bu nedenle şunu varsayabilirsiniz: aynı kişi onları kontrol etmedikçe birlikte nasıl harcanabilirler?
[......]
Bu varsayım yanlıştır. Aynı işlemde, bu fonların sahipliğinin aynı olduğunu kanıtlamaz (statüko temelde doğru olsa da) ve bu nedenle Coinjoin elde edilebilir:
imzalar her girdi için bir tanedir ve aynı işlem içinde bile birbirinden tamamen bağımsızdır. Bu, Bitcoin kullanıcılarının bir dizi girdi harcamayı ve bir dizi çıktı üretmeyi birlikte kabul edebilecekleri, ardından her birinin işlemi ayrı ayrı imzalayabileceği ve ardından imzalarını birleştirebileceği anlamına gelir. Herkes imzasını vermediği sürece işlem geçerli olmayacak, ağ tarafından kabul edilmeyecek ve hiç kimse memnun olmadığı bir işlemi imzalamayacaktır. "
Bu, aslında, herhangi bir sayıda kişinin, başka birinin fonlarının çalınması konusunda endişelenmek zorunda kalmadan, her biri kendi girdilerini sağlayan ve imzalayan işlemler oluşturmak için işbirliği yapabileceği anlamına gelir.
Ardından, coinjoin işlemlerinin başka bir avantajını tanıttı, bu da işlemlerin toplu olarak işlenebilmesi ve böylece ücretlerden tasarruf edebilmesidir: ödeme yapmak istediğinizde ödemeleri başlatmak isteyen diğer kişileri bulabilir ve birlikte işlemler oluşturabilirsiniz:
"Aynı fikir daha gelişigüzel kullanılabilir. Bir ödeme başlatmak istediğinizde, ödeme yapmak isteyen diğer kişileri bulun ve birlikte ortak bir ödeme oluşturun. Bu sadece gizliliği artırmakla kalmayacak, aynı zamanda işlemlerinizi daha küçük hale getirecek ve bu nedenle ağa yayılmayı kolaylaştıracak (ve daha düşük ücretlerle) ve ekstra gizlilik bir avantajdır. "
Sonunda, conjoin, yeterli sayıda insanın kullandığı, herkesin kazandığı ve herkesin bundan gizlilik avantajları elde ettiği bir protokoldür:
"Böyle bir işlem, geleneksel bir yöntem kullanılarak oluşturulan bir işlemden yüzeysel olarak ayırt edilemez. Sonuç olarak, bu işlemler yeterince yaygın olduğu sürece, teknolojiyi kullanmayanların bile mahremiyetini artıracaktır, çünkü girdi ve karıştırma artık aynı kontrolün güçlü kanıtı olarak kullanılamaz. "
Somut bir örnek vermek gerekirse, diyelim ki bir coinjoin'e katılmak isteyen 3 kişi bulduk. 0.1 bitcoin'i karıştırmayı önceden kabul ettiler ve 3 eşit çıktı üretmenin gizlilik avantajını elde edebildiler, bu da başkalarının üç adresin her birinin kimden geldiğini söylemesini imkansız hale getirdi. Analist için, değişim adresi ile girdi arasındaki ilişki hala çok açıktır, ancak bu üç eşit miktarın çıktısının kimin çıktısı olduğu açık değildir.
Yalnızca 3 katılımcı olduğunda, özellikle diğer katılımcılar sonraki işlemlerde kendilerini anonimleştirebildiklerinden (gerçek kimlikleriyle ilişkilendirebildiklerinden) gizlilik avantajı mutlaka önemli değildir, ancak bu, birden fazla coinjoin turu veya daha büyük bir anonimlik seti kullanılarak geliştirilebilir.
Özetlemek gerekirse, coinjoin, birden fazla tarafın girdi ve çıktıları kullanılarak oluşturulan bir işlemdir, bu nedenle başkalarının hangi çıktının kime ait olduğunu belirlemesi zordur.
Coinjoin işleminin nasıl oluşturulacağına ve hangi araçların mevcut olduğuna daha derinlemesine bir bakış için bu kılavuza göz atın.
Coinjoin, en etkili ve yaygın olarak benimsenen Bitcoin gizlilik çözümlerinden biridir, ancak bazı önemli dezavantajları da vardır:
Etkileşim: Coinjoin, eşit bir çıktı değerini kabul etmesi gereken katılımcılardan yoğun etkileşim gerektirir ve hepsinin belirli bir süre içinde imzalarını sağlaması gerekir. Yoğun etkileşim ihtiyacı, kullanıcılar için sürtüşme yaratır ve bu da daha fazla kullanıcı tarafından benimsenmesini engeller.
Merkezi Koordinatörler: Wasabi ve Whirlpool şu anda Coinjoin'in en popüler yöntemleridir. Ayrıca, madencilere işleme katılmaları için verilen blok onay ücretlerini içermeyen (coinjoin işlemlerinde kullanılan büyük miktarda imza verisi nedeniyle oldukça yüksek olan) gerçekleştirdikleri koordinasyon çalışması için ücret alırlar. Join Market, koordineli olmayan bir hizmet örneğidir, ancak bunun karşılığı, daha fazla kullanıcı etkileşimi gerektirmesidir.
Gizliliği güçlendirmek için birden fazla giriş gerektirir: Daha iyi gizlilik için, genel öneri birden fazla madeni para birleştirmeye katılmaktır (çünkü tek bir katılım, küçük anonim katkılar nedeniyle çok az kazançla sonuçlanabilir). Ancak birden fazla etkileşim zaman alır, etkileşimi artırır ve daha fazla ücret öder.
Coinjoin tam olarak normal bir işlem gibi görünmüyor: Coinjoin işlemlerinin kesin, tanınabilir bir özelliği vardır: birden fazla taraftan gelen birden fazla girdi, aynı değerde birden fazla çıktı üretir. Bu, coin'iniz coinjoin'e katılmadan önce tanımlandıysa, siz katılana kadar bekçi köpeğinin de coinjoin'de olacağı anlamına gelir. Coinjoin'den sonra paranızın nereye gittiğini veya ne yaptığınızı bilmiyor olabilirler, ancak ne kadar paranız olduğunu ve bir coinjoin'e ne kadar katıldığınızı bilirler
Açıkçası, bu sınırlamalar nedeniyle CoinJoin, özellikle varsayılan bir gizlilik planı isteyen daha pasif kullanıcılar için Bitcoin gizliliği için nihai çözüm değildir.
Birkaç yıl sonra, işleme dahil olan tarafların herhangi bir ekstra adım atmasını gerektirmeyen, basit, merkezi bir koordinatör veya pazar yeri gerektirmeyen (ve dolayısıyla zamandan ve paradan tasarruf sağlayan) ve normal bir işlemle aynı görünen daha iyi bir sonuç ortaya çıktı: Payjoin.
Payjoin, daha önceki bir dizi yenilikten oluşuyor, hadi bir göz atalım.
GSYİH-21
Erken Bitcoin için önemli bir kullanıcı deneyimi (UX) iyileştirmesi BIP-21 oldu. "BIP", "Bitcoin Yükseltme Teklifi"nin kısaltmasıdır ve Bitcoin protokolünde fikir birliği değişiklikleri (örneğin, sert veya yumuşak çatallar) gerektiren veya Bitcoin ile etkileşim için yararlı bilgiler ve yöntemler sağlayan bir dizi kriter içerir.
BIP-21, URI'lerin kullanımını tanımlayan ve bir bağlantıya tıklayarak veya bir ödeme başlatmak için bir QR kodunu tarayarak Bitcoin ile etkileşim sürecini basitleştiren bir standarttır. Miktar, etiket ve mesaj gibi az sayıda sorgu parametresi de tanımlanır, böylece istemci yazılımı bunları kolayca getirebilir ve ayrıştırabilir ve daha iyi bir kullanıcı deneyimi sağlar. Birkaç parametreye sahip bir BIP-21 URI örneği aşağıda verilmiştir:
Daha da önemlisi, bu standart genişletilebilir, özel sorgu parametreleri oluşturabilirsiniz ve bunun üzerine yeni standartlar geliştirilebilir. Örneğin, Bitcoin adresinize ek olarak, Lightning Network'te para almanın bir yolunu sağlayan lightning adlı özel bir parametre de ekleyebilirsiniz, böylece kullanıcılar size her iki şekilde de ödeme yapabilir:
! [Yıldırım ile BIP-21] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-568740308b-dd1a6f-cd5cc0.webp)
Bu güçlü ve esnek BIP'in, coinjoin'den kavramları birleştirirken oldukça yararlı olduğu kanıtlanmıştır.
Uç Noktaya Ödeme (P2EP)
Payjoin kavramından bahseden bulduğum en eski belge, Ağustos 2018'de yayınlanan ve konsepte yol açan bir atölyeye atıfta bulunan Blocksteam'dendi. Makale, nihai fikri "Uç Noktaya Ödeme" olarak adlandırıyor, çünkü coinjoin kavramını BIP-21 ile birleştiriyor ve bir işlemin göndericisi ve alıcısının, alıcı tarafından sağlanan BIP-21 uyumlu bir ağ uç noktası aracılığıyla işleme girdi sağlamak için birlikte çalışmasına izin veriyor. Aşağıdaki diyagram, alıcı tarafından sağlanan bir uç noktanın nasıl göründüğüne bir örnektir:
Alıcının cüzdanına gönderenin bir P2EP ödemesini denemeye istekli olduğuna dair bir sinyal gönderebilen bir ağ uç noktası olan p2ep parametresi (bu durumda bir .onion adresi, ancak basit bir http:// adresi veya başka bir uyumlu ağ uç noktası da olabilir) özellikle dikkat çekicidir. P2EP ödemesi başarısız olursa, cüzdan gönderene geri dönecek ve belirli bir adrese normal bir ödeme isteyecek ve yalnızca gönderenin girişini kullanacaktır.
Girdi katkısı P2EP aracılığıyla koordine edildiğinden ve coinjoin gibi "kusurlu" eşit değerde bir çıktı üretmediğinden, payjoin işlemlerinin tanımlanması daha zordur.
Fikir doğru yönde atılmış büyük bir adımdır, ancak henüz emekleme aşamasındadır, kesinleşmemiştir ve bazı ekstra karmaşıklıkların kaldırılması gerekmektedir.
Konu dışı: Satoshi Nakamoto'nun IP'ye Öde
Bu fikrin "IP'ye Öde" adı verilen bir varyasyonu, aslında Satoshi Nakamoto tarafından Bitcoin yazılımının en eski sürümünde uygulandı. Bununla birlikte, bu yaklaşım önemli bir gizlilik ikilemi ortaya çıkarmaktadır, bu nedenle Bitcoin yazılımının sonraki sürümlerinde terk edilmiştir.
Bustapay
Aynı ayın ilerleyen saatlerinde Ryan Haver, Bitcoin geliştirici e-posta listesinde P2EP'nin geliştirilmiş bir sürümünü önerdi ve "Bustapay" adlı bir BIP'yi resmileştirdi. Bu sürüm, orijinal P2EP protokolünü basitleştiriyor ve basitlik uğruna ve karmaşıklığın bir kısmını ortadan kaldırıyor, basitliğin her yerde erişim için gerekli olduğunu düşünüyor.
Bustapay teklifinin hala iyileştirilmesi gereken bazı önemli sorunları var ve protokol olması gerektiği kadar eksiksiz değil. Ancak bu, doğru yönde atılmış bir başka adımdır ve cüzdan entegrasyonu için basitliğe odaklanması, özellikle Bitcoin geliştiricilerinin yavaş hareket eden ve temkinli ekosistemi için kritik bir adımdır. Bustapay hiçbir zaman tanıtılmamış olsa da, bugünün maaş birleştirme teklifinin son habercisiydi – cüzdan entegrasyonuna, zincir içi işlemlerde olumlu değişikliklere hazırız.
Payjoin teklifi
Son olarak, 2019'un ortalarında, Bustapay ve P2EP kavramları, Nicolas Forier (BTCPayServer'ın kurucusu) ve Kukks tarafından "Basit Bir Payjoin Teklifi" başlıklı BIP-78'i oluşturmak için daha da rafine edildi ve geliştirildi.
Payjoin'e yol açan protokolün arka planının anlaşılmasıyla, bu teklifin başındaki özetin anlamı ve amacı açıktır:
"Bu belge, iki tarafın bir ödeme yaptıklarında bir coinjoin işlemini müzakere etmeleri için bir protokol önermektedir. "
Teklif, önceki yöntemlerden çok daha titiz bilgiler sağlar, bir gönderici ve alıcı arasında bir madeni para birleştirme işleminin nasıl oluşturulacağını gösterir, işlem girdilerinin sahiplik kimliği zincirini kırar ve basit, esnek ve ucuzdur.
Payjoin nasıl çalışır?
Diyelim ki Alice, Bob'a 1.1 BTC ödemek istiyor ve ardından bir blok zinciri izleme şirketi şöyle bir işlem görüyor:
! [Ortak girdi sahipliği sezgisel olduğunu varsayan örnek] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ca34b5b6d3-dd1a6f-cd5cc0.webp)
Alice'in Bob'a 0,5 BTC ödediğini ve ardından paranın geri kalanını para üstü olarak kendisine aktardığını düşünebilirler ve hepsi bu:
! [Ortak girdi sahipliği buluşsal yönteminin kullanıldığını varsayan örnek] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-28843c7745-dd1a6f-cd5cc0.webp)
Ve çoğu zaman, böyle düşünmekte yanlış bir şey yok! Sonuçta, değişim genellikle daha büyük mezheplerdedir ve 0,5 daha çok bir "tamsayı" dır ve ödemelerde kullanılma olasılığı daha yüksektir (1,1'e kıyasla).
Ayrıca Alice'in neden gerekli olmayan bir girdi kullandığını merak edebilirler (hem 0,8 hem de 0,3 gereksizdir), ancak bunun sıradan bir işlem olmadığından asla emin olamazlar ve neden ek bir girdi kullanıldığı sonucuna varamazlar - belki de Alice cüzdanını daha sonra yönetebilmek için düzenliyordur. Bu belki bir ödeme iştiraki olabilir, ancak öyle düşünseniz bile, hangi UTXO Alice'in, hangisi Bob'un? Bilmenin bir yolu yok. Çoğu işlem maaş birleştirme * olmadığından, yanlışlıkla bunun bir maaş birleştirme işlemi olmadığını düşünme olasılıkları daha yüksektir.
Bununla birlikte, Alice akıllıdır ve mahremiyetini korumak ister ve payjoin'i bilir, bu nedenle Bob'dan işlem için de bir girdi sağlamasını ister. Bob kabul etti, bu yüzden girdi olarak bir (veya daha fazla) UTXO'ya mal olan bir işlem oluşturdu ve Alice'e geri gönderdi. Anlaşmanın Alice ile bir sorunu yoksa, bunu ağa yayınlayacak. Anlaşma aslında şöyle bir şey:
Zincir gözlemcileri tüm girdilerin Alice'ten geldiğini varsaydıkları sürece (ilk örnekte olduğu gibi ve şimdi de öyleler), hangi girdilerin Alice ve Bob'a ait olduğu konusunda çılgınca yanılıyorlar!
İlginç bir şekilde, hem Alice hem de Bob herkes için gizlilik avantajları sunuyor. Çünkü CoinJoin'den farklı olarak bu işlem daha çok normal bir işlem gibidir ve yeterli sayıda kişi PayJoin kullandığı sürece izleyici hangi işlemlerin normal olduğunu belirleyemez. Alice ve Bob, izleyicileri boşa çıkarırken, her işlemi biraz şüpheli hale getirir. Yeterli sayıda insan bunu yaptığı sürece, tüm işlemler şüpheli hale gelecektir. Zincir üstü gizlilik genellikle bir sayı oyunudur ve ne kadar çok kişi dahil olursa, herkes için gizlilik o kadar iyi olur.
Bu durumda, Alice ve Bob, gizliliği korumak için ilgili girdilerini kullanarak bir işlem oluşturmak için işbirliği yaptılar. Tabii ki, tüm süreç şüpheli bir şekilde otomatiktir (ve gerçekte otomatiktir).
BIP-78'de, tüm süreç daha resmi olarak şu şekilde tanımlanır:
Alıcı, göndericiye "Kısmen İmzalanmış Bitcoin İşlemi (PSBT)" gönderilebilecek bir ağ uç noktasına/sunucusuna işaret eden pj= sorgu parametresine sahip bir BIP-21 URI'si sunar. Bu uç nokta HTTPS kullanabilir. OnJoin veya kimlik şifrelemesi kullanan başka bir protokol, örneğin:
! [Örnek PJ] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-d33ce79c42-dd1a6f-cd5cc0.webp)
2. Gönderici, yalnızca ödeme için tamamen yeterli olan kendi girişlerini kullanarak alıcının uç noktasına gönderilen, oluşturulmuş, yayınlanabilir bir PSBT oluşturur. Bu PSBT'ye "ilk PSBT" denir.
3. Alıcı, PSBT'yi kendi girdilerini içerecek şekilde değiştirir, kendi girdilerini imzalar ve değiştirilen PSBT'yi gönderene geri gönderir. Alıcı, gönderenin giriş veya çıkışlarının hiçbirini değiştirmez. Bu PSBT'ye "Payjoin Teklifi" denir.
4. Gönderici teklifi doğrular, ardından tüm işlemi tamamlamak için girdilerini yeniden imzalar ve son olarak ağa yayınlar.
Alıcının Payjoin teklifini oluşturmak için kullanılabilecek bir UTXO'ya sahip olmaması gibi, sürecin neresinde hata yapılırsa yapılsın, TA'nın yalnızca normal bir işlem olan ilk PSBT'yi yayınlaması gerekir. Bu işlemin tüm girdileri aynı sahibinden olsa da ve yalnızca yeterli sayıda kişi payjoin'leri kullanıyor olsa da, her iki tarafın da payjoin'i yapmadığı sonucuna varamazsınız ve izleyicinin herkesin payjoining'i yaptığını varsayması ve ardından ödemeyi izlemenin başka bir yolunu bulması gerekir.
Payjoin'in birçok avantajı
Daha fazla gözetim ipucunu parçalayın
Mülkiyet kimliği varsayımı, gizliliği etkileyen payjoin ile kırılabilecek tek varsayım değildir. BIP-78, sahibini tanımlamak için kullanılabilecek diğer iki ipucuna işaret eder:
Değişikliğin komut dosyası ortak anahtarı ile tanımlanması:
Bitcoin'de komut dosyası açık anahtarı, bir miktar bitcoin'in hangi koşullar altında harcanabileceğini belirten "kilit komut dosyası"dır. Buna "komut dosyası ortak anahtarı" denir, çünkü kilitleme koşulu, kilidini açmak için bir genel anahtarla (adres) eşleşen geçerli bir imza gerektirir. Başka bir deyişle, yalnızca bu UTXO'nun ilişkili genel anahtarının özel anahtarını kontrol eden kişi kilidini açabilir.
P2PKH, P2WPKH, P2SH, P2TR gibi çeşitli komut dosyası ortak anahtar türleri vardır. Genel olarak, cüzdanlar tüm işlemler için aynı komut dosyası açık anahtarını kullanır, bu nedenle değişiklik çıktısı (ödemelere ve ücretlere ek olarak gönderen tarafından gönderene geri gönderilen fonlar) büyük olasılıkla gönderenin girdisiyle aynı tür komut dosyası açık anahtarını kullanır ve alıcıya gönderilen çıktının farklı bir tür kullanması daha olasıdır. Bu, aynı işlemde aynı komut dosyası türünü kullanan UTXO'ların, yani alıcıya gönderilen çıktının farklı türde olacağı varsayılarak, potansiyel olarak gönderene ait olarak tanımlanabileceği anlamına gelir.
BIP-78, alıcının yalnızca gönderenle aynı türde komut dosyası ortak anahtarını kullanmasına izin veren bir yöntem belirtir ve bu, ödeme çıktısını ve değişiklik çıktısını açığa çıkarabilecek yukarıdaki iş parçacığını keser.
Değişimin tanımlanması ve ödeme miktarına göre ödeme (tam sayı):
Normalde, lütfen kasık, bir arkadaşınıza ödeme her zaman bir tamsayı seçecektir, çünkü bu çok daha doğal olacaktır. Bob, Alice'i ücretlendirecek olsaydı (ve Bitcoin'i "bir tamsayıya daha yakın" bir fiat fiyatından ücretlendirmiyorlardı), o zaman büyük olasılıkla 0,00010231 gibi tam olmayan bir sayı yerine 0,0001 gibi bir e kümesi alacaktı. Bir işlemin çıktılarından biri bir tamsayı ise, bunun bir ödeme çıktısı olması muhtemeldir ve tamsayı olmayan bir çıktı bir değişiklik çıktısıdır (en azından şimdilik).
Payjoin ayrıca, bir Payjoin teklifi oluştururken ek tamsayı çıktısı ekleyerek alıcının bu iş parçacığını kesmesinin bir yolunu da açıklar.
Asimetrik faydalar, daha geniş bir grubun birleştirilmesiyle elde edilir
Daha önce de belirtildiği gibi, coinjoin'in gizlilik açısından ana dezavantajlarından biri, 1) coinjoin işlemlerinin normal işlemlerden kolayca ayırt edilebilmesi ve 2) çok az kişinin özel olarak coinjoins yapmasıdır, bu normal işlemlerde durum böyle değildir. Bu, Bitcoin'in homojenliği sorununu yaratır, çünkü bazı insanların basılan paranın kirli olduğunu düşünmesi muhtemeldir, çünkü "mahremiyet arayışı eşittir kötülük" gibi saçma bir fikre sahip olan biri. Elbette, işlemlerin çoğunluğu, hatta işlemlerin yalnızca belirli bir yüzdesi özelse, gizlilik arayan işlemler göze çarpmaz.
Payjoin diğer işlemlere benziyor, bu yüzden dikkat çekici değil. Dış gözlemcilerin de böyle bir işleme bakmak için herhangi bir nedeni yoktur, çünkü ödemeyi karıştırmak ve çıktıları değiştirmek niyetini göstermez.
Başka bir şeye benzediği için, payjoin'i benimsemenin marjinal faydaları bile, izlenen potansiyel müşteriler hızla güvenilmez hale geldiğinden, herkesin gizliliğinin ihlal edilmesinin daha zor olacağı anlamına gelir. Adam Gibson (JoinMarket'in kurucu katılımcısı ve Bitcoin gizliliği konusunda uzman) bunu çok iyi özetliyor:
"Çok dikkatli olsanız bile, bu PayJoin işlemlerinin normal ödemelerden hiçbir farkı yok [...] İşte harika olan şey: Bu teknolojinin küçük bir şekilde benimsenmesinin de gözlemleneceğini varsayalım. Diyelim ki işlemlerin %5'i bu yöntemi kullanıyor. Mesele şu ki, hiç kimse tam olarak hangi %5'in PayJoin işlemleri olduğunu bilmiyor. Bu büyük bir başarı [...] , çünkü bu, Payjoin kullanmayanlar da dahil olmak üzere tüm ödemelerin gizlilik avantajlarından yararlandığı anlamına geliyor!"
UTXO bitirme
Açıkçası, hem PayJoin hem de öncüleri gizlilik endişelerini gidermeye kararlıdır. Ancak payjoin kullanmanın harika bir yanı var ve BIP-78 bunu açıkça ortaya koyuyor: UTXO toplama.
Satoshi Nakamoto, her alıcı işlem için bir bahşiş adresi kullanmayı önerdi ve bu da bir kullanıcının cüzdanının yönetmesi gereken birçok UTXO'ya sahip olmasıyla sonuçlandı. Bu UTXO'lar yeni bir işlem oluşturmak için girdi olarak kullanıldığında (bunun bir coinjoin veya payjoin işlemi olmadığı varsayılarak), böyle bir işlem çok fazla ücrete mal olur. Ücretler, işlemin hacmine (bayt sayısı) (kıt bir kaynak olan blok alanına karşılık gelir) göre ücretlendirildiğinden, daha fazla girdi daha büyük işlemlere ve daha fazla ücrete eşittir.
Zincir üzerinde görünen her UTXO'nun yine de ücret ödemesi gerekeceğinden, UTXO sıralaması için payjoin kullanmanın mutlaka ücret tasarrufu sağlamadığını unutmamak önemlidir. Ancak, bu ücretleri uzun bir süreye yayar ve ödeme sırasında UTXO'ları toplu hale getirme fırsatı sunar. Toplu işleme, UTXO'ları düzenlemeyi daha ucuz hale getirecektir (özellikle harmanlama amacıyla bir işlem başlatmanız gerektiğinden). Ayrıca UTXO'ları bağlamayı kolaylaştırır ve sabit sürücünüzde daha az yer kaplar. Buna ek olarak, cüzdanlar, alıcıların hangi UTXO'ları düşük ücretlerle düzenlemek istediklerini önceden belirlemelerine izin vererek UTXO'ların organizasyonunu otomatikleştirmenin ve sorunsuz hale getirmenin bir yolunu uygulayabilir.
Lightning Network ve Payjoin: Doğada Yapılan Bir Eşleşme
Lightning Channel'ı açmak için Payjoin'i kullanın
Lightning Network (LN), Bitcoin'in üzerine inşa edilmiş, işlemleri anında, çok düşük ücretli ödeme için zincir dışına çıkaran, böylece işlem hacmini, gizliliği önemli ölçüde artıran ve Bitcoin'in yeni kullanım durumlarına ("mikro ödemeler" gibi) girmesine izin veren bir katman-2 çözümüdür. Ödemeleri yönlendirmek için düğümler arasında bir ödeme kanalları ağı kullanır ve fonları geldikleri yerden hedeflerine iletir. Bu kanallar, her düğüm operatörünün kanal karşı taraflarıyla bir miktar "likidite" (bitcoin) kilitlemesini gerektirir ve bu daha sonra bir düğüm ile kanal karşı tarafları arasında akabilir. Bir kanalda ne kadar Bitcoin harcayabileceğiniz, kanalın sizin tarafınızda ne kadar likidite olduğuyla sınırlıdır.
Bir Lightning düğümünü korumak söz konusu olduğunda, karmaşıklığın çoğu bu kanalların açılmasından ve her kanalın likiditesinin yönetilmesinden kaynaklanır. Yeni kullanıcıları işe almak en büyük acı noktalarından biridir çünkü çok fazla adım vardır. Diyelim ki Alice, Bob ile bir kanal açmak istiyor ve yeni bir Lightning düğümü kurdu, ancak henüz finanse edilmedi. O zaman aşağıdakileri yapması gerekiyor:
Yeni oluşturduğu Lightning Wallet'a en azından kanalı açmaya yetecek kadar fonla para yatırmak için zincir üstü bir işlem gönderin ve işlemin onaylanmasını bekleyin (en az 10 dakika)
Kanalı açmak ve onaylanmasını beklemek için Bob ile bir işlem görüşmesi yapmak için Lightning Wallet yazılımını kullanın
En azından, Alice'in ücreti iki kez ödemesi ve her işlem için yaklaşık 10 dakika beklemesi gerekiyor ki bu sıkıcı.
Payjoin bu süreci basitleştirir ve Alice'in tasarruf etmesine yardımcı olur: Alice, Lightning Wallet'a para yatırabilir ve kanalı tek bir işlemde açabilir.
Bu senaryoda Alice, açmak istediği kanalın ayrıntılarıyla payjoin alma uç noktasını önceden yapılandırır: kaç bitcoin kilitlenecek ve kanalı hangi rakip açacak. Ardından, payjoin'i destekleyen bir cüzdan kullanarak, birisi (Alice dahil) uç noktaya ilk PSBT'yi gönderebilir, bir payjoin işlemi için pazarlık yapabilir ve uç nokta, Bob'un düğümüyle bir kanal açmak için gerekli API çağrılarını yapar.
Başka bir deyişle, gönderen (bu durumda Alice), payjoin'i alan uç nokta ile Alice ile iletişim kurar, bir işlem oluşturur ve fonları doğrudan Bob ve Alice'in 2'nin 2'si çoklu imza çıktısına gönderir, böylece iki düğüm arasında bir yıldırım kanalı oluşturur. Bu, tüm süreci bir işleme dönüştürür:
! [Payjoin ile Yıldırım Kanalı] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-4c65326146-dd1a6f-cd5cc0.webp)
Bilinmesi gereken ilginç bir şey, hem yıldırım kanalının açılmasının hem de payjoin'in canlı gereksinimleri olmasıdır (en azından maaş katılımı uzun süre gerekli olmayacak olsa da), bu da tüm katılımcıların işlem gerçekleştiğinde çevrimiçi olması gerektiği anlamına gelir. Bu, zincir üstü Bitcoin işlemlerine kıyasla çok kısıtlayıcıdır (yalnızca ödeme yapan kişinin ödeme anında çevrimiçi olmasını gerektirir). Bununla birlikte, bu aynı zamanda iki protokol setinin birbirine mükemmel bir şekilde uymasını sağlar.
Örneğin, Lightning Network, ödemeleri zincir dışında tutarak gizliliği artırmanın harika bir yoludur ve Bitcoin'in değer deposundan ödün vermeden bir değişim aracı olarak kullanılma yeteneğini büyük ölçüde artırabilir (yani, aslında günlük ihtiyaçları satın almak için kullanılabilir). Bununla birlikte, zincir üzerinde bir kanal açma ihtiyacı, kanalı açmak için kullandığınız fonların yanı sıra kanalı sizinle birlikte açan kişilerin de zincir üzerinde bir iz bırakacağı anlamına gelir. Daha önce tartıştığımız nedenlerden dolayı, payjoin, meraklıların ipuçlarının çoğunun kafasını karıştırabilir ve yok edebilir.
Bu aynı zamanda işleri daha da kolaylaştırır, çünkü kullanıcıların iki yerine yalnızca bir işlem başlatması gerekecek, yalnızca bir işlemin onaylanmasını beklemek zorunda kalacakları için daha hızlı hale gelecekler ve yalnızca bir ücret ödemeleri gerektiği için daha ucuz hale gelecekler. Aslında, bu yaklaşım aynı anda birden fazla kanalın açılmasına izin verir. Kanalı açmak istediğiniz düğümlerin bir listesini yapabilir, bunu bir BIP-21 payjoin alma uç noktası olarak yapılandırabilir ve ardından ödeme alırken hepsini bir kerede ve otomatik olarak açabilirsiniz ve yalnızca bir onay ve bir ödeme ücreti beklemeniz gerekir. Kesinlikle!
Bu fikri uygulayan "Nolooking" adlı bir proje zaten var, bu da bir dizi açık anahtarı listelemenize ve ardından aynı anda birden fazla Lightning Kanalını açmanıza olanak tanıyor *gruplar halinde)! Bu, Alice'in sadece Bob ile değil, aynı zamanda Bob, Carol ve Dina ile de sadece bir zincir içi işlemle bir kanal açmasına olanak tanır! Düşünmesi heyecan verici: Gelecekte, Lightning cüzdanlarında payjoin varsayılan olarak etkin olacak ve fiili kullanıcı deneyimi, sadece kanal ortağınızı seçmeniz, tek bir Bitcoin işlemi başlatmanız ve işinizin bitmesidir! Bu ne kadar şaşırtıcı?
Bunun, kendi kendine gözetim yıldırım kanallarının benimsenmesini basitleştireceğini hayal etmek kolaydır. Lightning cüzdan yazılımının, kullanıcıların ne kadar Bitcoin kilitlemek istediklerini (yani ne kadar likidite istediklerini) girebilecekleri, az sayıda makul büyüklükte kanal açmak için varsayılan bir değer belirleyecekleri ve yönlendirme ve ücretlerden biraz fedakarlık yapacakları bir "hızlı başlatma" düğmesine sahip olması ilginç olurdu. İleri düzey kullanıcılar için, "Ne yaptığımı biliyorum" düğmesini sağlamanız yeterlidir.
Zayıf Yönler
Herhangi bir protokolün zayıf yönleri vardır ve PayJoin de bir istisna değildir.
Canlılık (ağ oluşturma) gereksinimlerinde büyük bir sorun yatmaktadır. Mevcut uygulamada, gönderici ve alıcı nihai işlemi müzakere ettiğinden (elbette programlanmış) işlemi oluştururken alıcının payjoin web sunucusunun finansal olarak sigortalanması gerekir. Bu, çevrimiçi kalmaya teşvik eden tek kişi olan Lightning düğümlerinin yanı sıra tüccar sunucularının benimsenmesini sınırlayabilir. Kullanıcının bakış açısından, alıcının sunucusunun çevrimiçi olup olmadığına bakılmaksızın işlemin herhangi bir zamanda gönderilebilmesi daha da iyi olurdu.
Daha az olası ancak daha tehlikeli bir başka zayıflık, bir payjoin sunucusunun (yani alıcının sunucusunun) güvenli olmayan bir sunucuda olması durumunda, alıcının çıktısının işlem sırasında (gönderene geri iletilmeden önce) kurcalanabilmesi ve alıcıya ait fonların çalınmasına neden olabilmesidir.
Ancak, daha sonra söyleyeceğimiz gibi, bu sorunların her ikisini de çözmek için çözümler önerilmiştir.
Son olarak, PayJoin protokolünün bir başka zayıflığı da, cüzdanların onu entegre etmek için geliştirme çabası göstermesi gerektiğinden, benimsenmesinin önünde bir engelle karşılaşmasıdır. Özel bir zorluk, ideal kullanıcı arayüzünün varsayılan olarak payjoin olması gerektiğidir. Hem gönderenin cüzdanı hem de alıcının cüzdanı, kullanıcı tarafından gizlilik ayarlarında açılmak zorunda kalmadan doğrudan payjoin girişiminde bulunacaktır. En iyi gizlilik, varsayılan olarak gizliliği uygulamaktır, çünkü kullanıcılardan aktif eylemde bulunmalarını isterseniz, cesaretleri kırılabilir. Bu nedenle, payjoin'in ortalama bir kullanıcı tarafından benimsenmesi için, anlamakta zorlanmak zorunda kalmayacakları sorunsuz bir deneyim olması gerekir. Cüzdanda varsayılan olarak açık olmalıdır. Protokolün payjoin hatalarına karşı zaten yerleşik bir yanıtı olduğunu unutmayın: kullanıcının manuel müdahalesi olmadan normal bir işleme geri döner.
Sunucu tarafında payjoin gerekmez
Dan Gould, payjoins'in 2. sürümü için bir taslak BIP gönderdi ve payjoins'in hem zaman uyumsuz hem de sunucusuz senaryolarda yapılmasına olanak tanıdı. Bu sunucusuz ödeme katılımı, alıcının ödemeyi alırken çevrimiçi olmasını gerektirme sorununu ve ilgili sunucu tarafı güvenlik sorunlarını çözecektir. Her zaman açık olan payjoin alıcı sunucusu, payjoin'in kullanıcı tarafından benimsenmesinin önündeki en büyük engel olabileceğinden, bu BIP'nin uygulanması, Bitcoin'in pasif gizliliğinin yanı sıra payjoin'in benimsenmesine de önemli faydalar sağlayabilir.
Payjoin'in benimsenme durumu
2023'ün sonu itibariyle, PayJoin'in benimsenmesi hala nispeten küçüktür, ancak 2018'deki başlangıcından bu yana büyümeye devam etmiştir. Payjoin şu anda mevcut olduğundan ve herhangi bir Bitcoin konsensüs değişikliği gerektirmediğinden, tek engel onu destekleyen cüzdan yazılımı yazmaktır ve geliştiricilere yardımcı olacak araçlar her geçen gün gelişmektedir. Payjoin Dev Kit (PDK), cüzdanların maaş birleştirmeleri entegre etmek için kullanabileceği modüllere sahip yeni bir payjoin uygulamasıdır. Hatta bir payjoin oluşturmak için komut satırını kullanabileceğiniz bir payjoin-cli aracından oluşur. Bu kitaplık Rust ile yazılmıştır, ancak diğer dillerin onu kullanmasına izin veren bağlamalar geliştirme aşamasındadır.
Cüzdan desteği
BTCPayServer ve JoinMarket, varsayılan olmasa da maaş birleştirmelerinin gönderilmesini ve alınmasını zaten destekliyor. BlueWallet, Sparrow, Wasabi ve BitMask göndermeyi destekler. Bir avuç başka cüzdan, Bitcoin Core da dahil olmak üzere bir eklenti aracılığıyla bunu destekler. Payjoin'i Mutiny Wallet'a entegre etmeye çalışan aktif PR'lar da var. Geçerli benimseme durumu burada listelenmiştir.
Payjoin ve Bitcoin'in geleceği
Adam Gibson, zincir üstü işlemlerin yalnızca yüzde 5'i payjoin kullanılarak oluşturulsa bile, bunun Bitcoin'in gizliliği üzerinde büyük bir etkisi olabileceğini söyledi. Sadece bir analitik firmasının işlemi doğru bir şekilde yorumlayabileceklerinden emin olarak varsayması için yeterli olan bir eşiği geçmemiz gerekiyor. Bizi gözetleme yöntemleri bir kez kırıldığında, Bitcoin'in gizliliğinin faydalarını anlamayan veya haklarımızı korumayı amaçlamayanlar tarafından uygulanan akılsız, keyfi ve kötü niyetli kısıtlamalar önemsiz hale gelecektir.
Ve gördüğümüz gibi, PayJoin'in getireceği birçok olasılık nedeniyle, bu sadece bir gizlilik çözümü değil, aynı zamanda ücret tasarrufu, tek bir işlem için birden fazla yıldırım kanalı gibi ilginç kullanımlara izin veren ölçeklenebilir ve işbirliğine dayalı bir işlem protokolüdür. Bitcoin'e getirebileceği faydalar sınırsızdır ve şimdi Bitcoin'in kendisini değiştirmeden gerçekleştirilebilir.
Peki ne bekliyoruz?
Evet
PayJoin'i desteklemek veya katkıda bulunmak istiyorsanız, Discord'a katılın, bize bağışta bulunun veya payjoin.org hakkında bilgi edinin.
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Daha iyi Bitcoin ile Payjoin
Yazar: Brandon Lucas, Kaynak: BTC Çalışması
Payjoin, Bitcoin işlemleri oluşturmak için basit, akıllı bir numara kullanarak birçok sorunu tek bir taşla çözen bir protokoldür. Bitcoin'in en büyük gizlilik endişesini çözmek için tasarlanmıştır, ancak aynı zamanda ölçeklendirme sorunlarının çözülmesine yardımcı olabilir ve bu nedenle insanların ücretlerden tasarruf etmesine yardımcı olabilir. Özellikle Lightning Network düğümleriyle uyumludur çünkü mevcut tasarımının işlemin alıcısı için bir canlılık gereksinimi vardır, yani alıcının ödemeyi alırken çevrimiçi olması gerekir (tıpkı bir Lightning düğümü gibi). Gelecekte, çevrimdışı olarak kullanılabilmesi için bu gereksinim bile ortadan kaldırılacaktır. Cüzdan yazılımına entegre edilmesi kolaydır ve ödeme yaparken aynı anda birçok yıldırım kanalı açabilir ve pasiftir, böylece farkında bile olmadan avantajlardan yararlanabilirsiniz. Payjoin'in gizlilik avantajları katmanlıdır, bu nedenle insanların yalnızca küçük bir yüzdesi onu kullansa bile herkes gizlilik avantajlarından yararlanabilir. Ve belki de en iyisi, PayJoin hard fork veya soft fork gerektirmez. Bitcoin ile kullanılabilir ve kullanılmıştır ve aslında Bitcoin yazılımının ilk sürümünden beri mevcuttur.
Payjoin, Coinjoin'in bir türevidir. Coinjoin daha eskidir ve aynı zamanda daha fazla çevrimiçi etkileşim gerektirir, bu da kullanıcıların onu kullanmak için yoğun bir şekilde meşgul olmaları gerektiği anlamına gelir, bu da kullanılabilirliği azaltır ve benimsemeyi caydırır. Bununla birlikte, buna rağmen, PayJoin'in faydaları ve kullanım kolaylığı daha belirgin olmasına rağmen, CoinJoin'in bugüne kadar benimsenmesi PayJoin'inkinden çok daha yüksek olmuştur. Geliştiriciler için karmaşık, belirsiz yön, cüzdan yazılımı tarafından benimsenmesini engelliyor.
Payjoin uzun yıllardır piyasada ve aşağıdakileri dikkate alarak:
Payjoin'in büyük ölçekte benimsenmesi neden yavaş?
Özellikle, daha fazla etkileşim gerektiren, kullanımı daha zor ve daha pahalı olan Coinjoin protokolü neden daha fazla benimseniyor?
Bu makalede, Bitcoin'in gizliliğine yönelik mevcut saldırılara, PayJoin'in geçmişine gizlilik perspektifinden bakacağız, PayJoin'in nasıl çalıştığına ve Bitcoin'i değiştirmeden neden bu kadar çok fayda sağlayabileceğine ve son olarak mevcut benimsemeye bakacağız. Payjoin gizliliği, ölçeklenebilirliği büyük ölçüde artırabilir ve ücretlerden tasarruf etmeye yardımcı olabilirse, cüzdanın onu entegre etmek için gösterdiği küçük çaba buna değecektir.
Bitcoin için gizlilik neden önemlidir?
Payjoin'in önemini tartışmadan önce, gizliliğin önemini anlamalıyız. Artık sizi ikna etmeme ihtiyacınız yoksa, Pyajoin'in tarihi ve nasıl çalıştığı hakkında bilgi edinmek için doğrudan bir sonraki bölüme geçebilirsiniz.
Batı demokrasilerinde, mahremiyetin önemi tarif edilemez, çünkü faydaları hala insanlar için görünmez görünüyor. Gizliliğin neden önemli olduğunu ikna edici bir şekilde açıklamak zordur (özellikle daha yüksek maliyetler veya daha büyük rahatsızlıklar karşısında), kötü insanların kendileri hakkında çok fazla bilgiye sahip olmasının kötü sonuçlarını asla hissetmedikleri için veya insanların bu izinsiz girişlerin uzun vadeli sonuçları hakkında düşünmelerini gerektirdiği için.
Tabii ki, mahremiyet giderek daha fazla insanın umursadığı bir şey gibi görünüyor (teoride), ancak genellikle çok düşük tetik engelleri ve rahatlıktan ödün vermeden nadiren aktif olarak yaklaşıyorlar. Bu nedenle, insanların gizliliğini korumak isteyen teknolojiler, mümkün olduğunca kullanıcı dostu ve mümkün olduğunca kullanışlı olacak şekilde tasarlanmalıdır.
Homojenlik
Payjoin'in çözmeye yardımcı olabileceği tek sorun gizlilik değildir, ancak bunu çözmek için yaratılmıştır. İnsanlar uzun zamandır Bitcoin'in doğasında var olan gizlilik eksikliğinden yakınıyor ve Bitcoin topluluğu bu konuyu çok ciddiye alıyor. Bitcoin, doğrudan bire bir işlemleri kolaylaştırmak için tasarlanmıştır ve sansüre dayanıklıdır. Bununla birlikte, gelecekteki ödemelerin izlenmesine izin verdiği için, belirli bir miktar para bir kimliğe bağlandığında ayrımcılığa yol açabilir. Bu, homojenliği yok eder - aynı para birimindeki bazı madeni paraların aynı miktardaki diğerlerinden ayırt edilemez olma derecesi - ve homojenlik, iyi paranın birincil özelliğidir.
Alıcılar takip edilebilirse, yalnızca şu anda yasadışı kişiler tarafından tutulan madeni paralar reddedilmekle kalmayacak, aynı zamanda yasa dışı amaçlar için kullanılan cüzdanlar da mevcut sahibinin bunları tamamen meşru yollarla elde edip etmediğine bakılmaksızın tüccarlar tarafından işaretlenebilir ve daha sonra reddedilebilir. Süt almak için sahip olduğunuz parayı kullanamadığınızı hayal edin, çünkü birileri tarafından uyuşturucu satın almak için kullanıldı ve "Paranız temiz değil" diyorlar, bu sizin için adil mi? Başkasının günahı için cezalandırılmalı mısın? Madeni paralarla ne yapardın? Paranın değersiz olduğunu hissedersiniz çünkü onu tutmak sadece satın alma gücünüze zarar verir. Ve madeni paraların bir kısmının ("temiz para") diğerinden daha değerli olması mantıklı değil. Ne olursa olsun, bir dolar diğerine eşit olmalıdır, aksi takdirde böyle bir madalyonun değer aktarma kabiliyeti bozulacaktır.
Cezai Karışıklık
Genellikle yalnızca suçluların gizliliğe ihtiyacı olduğunu söyleyen Bitcoin ve mahremiyeti karalayanlar vardır. "Kötü bir şey yapmıyorsan, al ve saklayacak hiçbir şeyin yok" a benzer. Bunu çürütmek kolaydır:
Bu basit, apaçık çirkin ifadeye ek olarak, gerçekte, suçlular, yasalara uyan vatandaşların büyük çoğunluğunun aksine, mahremiyet için yüksek bir bedeli kabul etmeye isteklidirler, bu nedenle temel mahremiyeti tehlikeye atan önlemler, sıradan insanlar için faillerden çok daha zararlıdır. Hükümet, suçluları yakalamak için mahremiyet kısıtlı önlemleri kullanma konusunda kötü bir iş çıkarmasa bile, bunun yerine "seçer ve seçer" ve seçici olarak vatandaşları gözetler, sonuç aynı olacaktır. Eğer bir vatandaş iktidardakilerin hoşuna gitmeyen bir şey söylerse (ve iktidardakilerin hoşlanmadığı şeyler her gün aynı olabilir), o zaman TA seçici olarak tutuklanacak ve zarar görecektir.
Son olarak, mahremiyet arzusu sadece hükümetin yetkisini aşması korkusu değildir. Aynı zamanda pratik, güvenlik ve onur endişeleri de vardır. Birisi ne kadar paranız olduğunu, nerede yaşadığınızı öğrenebilirse, eşyalarınızı çalmak ne kadar zor? İnternette kaç yere adresinizi, ödeme bilgilerinizi, fotoğraflarınızı vb. girmeniz gerektiğini düşünün. Kişisel bilgilerinizi güvende tutmak için bu siteleri çalıştıran herkese güveniyor musunuz? Onlara güvenmemelisiniz, çünkü en iyi sistemler bile çökebilir ve suçlular, sistemleri patlatmak ve bu değerli bilgileri çalmak için bilgisayar korsanlarına büyük meblağlar ödemeye istekli olacaktır.
Gizlilik ve Demokrasi
Herhangi bir totaliter devlette, vatandaşları kontrol etmenin ön koşulu, vatandaşların konuşmalarını, bilgi kanallarını ve finansal faaliyetlerini bilmektir. Bu anlayış olmadan, neye saldıracağınızı veya neyi durduracağınızı bilmenin bir yolu yoktur, çünkü anlatıyı manipüle etmenin ve kontrolü daha da güçlendirmenin bir yolu yoktur. Hükümet bu bilgilere güvenilir bir şekilde erişemezse, bir vatandaşı istediği kadar hedef alamaz. Sovyetler Birliği ve Nazi Almanyası gibi geçmişin totaliter toplumlarında, aile üyeleri tarafından özel konuşmalarda ifade edilen itirazları bildirmeleri için beyinlerini yıkayarak insanların mahremiyetini ve aile içindeki güvensiz ilişkilerini bozdular. Aynı mahremiyeti bozan önlemler paranın başına geldiğinde, konuşmadan bile daha korkunçtur. Fonun kesilmesi, siyasi muhalefetle mücadelede çok etkili bir araçtır.
Bitcoin'in gizliliği savunmasız
Suçla mücadele (Hamas terör saldırısı) adına, Bitcoin'de gizliliği koruma yöntemlerini yasa dışı olarak nitelendirmek için yeni düzenleyici önlemler speküle ediliyor.
10 Ekim 2023'te Wall Street Journal, Hamas'ın kripto para birimi aracılığıyla $130 milyon fon aldığını bildiren bir makale yayınladı. Bir hafta sonra, Senatör Elizabeth Warren, Başkan Biden'a açık bir mektup yazdı ve onu yürütme organının 31 Ekim'e kadar "kripto para biriminin terörist kullanımına" nasıl tepki verdiği konusunu ele almaya çağırdı ve Wall Street Journal'ı bu tür bir düzenlemeye acil ihtiyaç duyulduğunun kanıtı olarak gösterdi. Mektup, Senato'nun 100 üyesinden 29'unun yanı sıra Temsilciler Meclisi'nin 76 üyesinden imza aldı. İlginç bir şekilde, mektubun gönderilmesinden iki gün sonra, 19 Ekim'de, Mali Suçları Uygulama Ağı (FCE), kara para aklama riskleri için kripto para gizleme düzenlemesini düzenlemek için bir teklif yayınladı. Teklif, işlem akışını gizlemek için kullanılan yöntemleri listeler:
Bu tanım hem coinjoin hem de payjoin'i içerir, ancak "algoritmik kod kullanma" tanımı keyfi işlemleri kapsayacak kadar geniştir ve bu nedenle keyfi sansüre izin verir.
Ancak Wall Street Journal'ın açık mektuba bir bakış açısı sunan ve bu düzenlemeyi savunmaya çalışan makalesi, verileri çok kötü bir şekilde yanlış yorumladı - Hamas'ı gerçekten ilgilendiren gerçek miktar sadece 450.000 dolardı. Kripto para birimleri hiçbir zaman Hamas'ın birincil finansman kaynağı olmadı. Hamas'ın kendisi, izlenebilir olan bitcoin aracılığıyla para almak istemediklerini açıkça belirtti.
İronik olarak, şu anda terörist gruplarla başa çıkmak için önerilen düzenleyici önlemler, terörist gruplar üzerinde en az etkiye sahip ve Bitcoin ve diğer kripto para birimlerini kullanmak isteyen sıradan insanlar için en fazla etkiye sahip.
Hiç şüphe yok ki, Bitcoin'in gizlilik hakları için savaş Amerika Birleşik Devletleri'nde zaten devam ediyor ve yabancı ulusal güvenlik gerekçeleriyle mücadele kisvesi altında olacağı öngörülebilir. Daha da önemlisi, şu andan itibaren, Bitcoin'deki gizliliği koruyan teknolojileri anlayın ve bunları zayıflatma girişimleriyle mücadele etmek için kullanmaya başlayın.
1. Bitcoin işleminin şekli
Payjoin'in ne işe yaradığını ve nasıl çalıştığını anlamak için Bitcoin işlemlerinin neye benzediğini anlamak gerekir. Her bitcoin bazı girdi ve çıktılarla bağlantılıdır. Çıktı, bu bitcoinlerin hangi açık anahtara veya "adrese" gönderildiğini tanımlar. Girdi, işlemin fonlarının "kaynağını", yani işlemi (ve yeni çıktısını) oluşturmak için kullanılan önceki çıktıyı tanımlar. İyi bir benzetme, ödeme yapmak için farklı nakit mezhepleri kullanmamızdır. Diyelim ki bir restoranda akşam yemeği için 25 dolar ve garson için 5 dolar, toplam 30 dolar ödemek istiyorsunuz (bu, işleminizin çıktısı, iki farklı kişiye iki farklı "porsiyon" para - restoran ve garson).
Peki nasıl ödeme yapıyorsunuz? Diyelim ki elinizde çok fazla not var (yani girdiniz):
Yani, bu anlaşmayı oluştururken, biri 5 dolar olan ve biri sadece garsona verilen 1 adet 20 dolarlık banknot ve 2 adet 5 dolarlık banknot kullanabilirsiniz:
! [Restoran ödemesi] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-4a2caad01b-dd1a6f-cd5cc0.webp)
Önemli bir hususa dikkat edin ve nakit benzetmesi yapmamız için uygun olmayan bir husus: Buradaki 20 $ ve 5 $ tek parça halinde * birleşecek *. Daha çok, birden fazla altın külçesi vermek yerine gerekli miktarı ödeyebilmeniz için iki parça altını eriterek daha büyük bir altın haline getiriyormuşsunuz gibi. Bitcoin, istediğimiz çıktıyı üretmek için girdileri bölmenize ve birleştirmenize olanak tanır.
Ayrıca aşağıdaki gibi 2 adet 10 dolarlık ve 2 adet 5 dolarlık banknot da kullanabilirsiniz:
! [Restoran ödemesi] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-0a70c8526f-dd1a6f-cd5cc0.webp)
Ya da 5 $ karşılığında 6 sayfa kullanın:
! [Restoran ödemesi] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-441fc7aa70-dd1a6f-cd5cc0.webp)
Paramızı harcayana kadar, bu bireysel Bitcoin "notlarına" "Harcanmamış İşlem Çıktıları (UTXO'lar)" denir. İsim kulağa garip geliyor, ancak düşünmek için zaman ayırırsanız, bunun oldukça doğru olduğunu fark edeceksiniz - bunlar bazı işlemlerin "sonuçları" (çıktıları) ve henüz başka bir işlem tarafından harcanmamışlar. Henüz harcanmamış bir işlem çıktısı, harcayabileceğiniz çıktıdır. Yani, aslında, UTXO'lar cüzdanınızdaki kağıt para gibidir. Harcandıktan sonra, bir işlemin girdisi haline gelirler ve ardından başka bir işlemin çıktısı (başka birinin cüzdanındaki nakit) haline gelirler ve artık harcayamazsınız, ancak harcadığınız notun kaydı sonsuza kadar blok zincirinde kalır.
Nakitten farklı olarak, Bitcoin işlemlerinin geçerli olması için gönderenin izni gerekir. Bu, gönderenin dijital imzası aracılığıyla elde edilir ve bu da fonları harcamayı amaçladıklarının kanıtı olarak hizmet eder. Geçerli bir imzanın (yani, UTXO'nun adresiyle eşleşen bir imza) UTXO'yu kullanan işlem girişinde temsil edilmesi gerekir. İmzanın varlığı, bu UTXO'nun "kilidini açar" ve bu UTXO'nun sahibinin onu böyle bir işlem için harcamayı planladığını gösterir.
Aşağıdaki resim, bu yazının yazıldığı sırada blok zinciri tarafından 1 kez onaylanan gerçek bir işlemi göstermektedir:
! [Biri ücret olmak üzere 1 girdi ve üç çıkışlı gerçek bir işlem örneği] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-c006e2488a-dd1a6f-cd5cc0.webp)
Gördüğünüz gibi, yukarıdaki işlem 1 girdi aldı ve biri gerçek ödemeyi temsil eden ve diğeri neredeyse kesinlikle para üstü olarak harcayana geri gönderilen 2 çıktı oluşturdu. Girdi ve çıktı arasındaki fark, işlemi ilk onaylayan bloğu çıkaran madenciye giden ücrettir.
Bu "UTXO modu" çok güçlüdür. Her işlemin bir girdisi ve bir çıktısı olduğundan ve bir işlemin çıktısı sonraki başka bir işlemin girdisi haline geldiğinden, Bitcoin'in sahiplik transferini takip edebilen bir işlem zincirine sahip oluruz. Bitcoin arzı sınırlı olduğundan ve bu nedenle önemli bir "enflasyonist olmayan" özelliğe sahip olduğundan, herhangi bir zamanda ne kadar Bitcoin'in dolaşımda olduğunu (veya "harcanmadığını") denetleyebilmek önemlidir ve UTXO modeli oc'de kullanılabilir.
Bu aynı zamanda Bitcoin'in gizlilik endişelerinin de kaynağıdır. Her işlemin kendi geçmişi vardır. Size verilen tüm bitcoinleri ve nereye gönderdiğinizi takip etmek kolaydır. Tüm sistem açıkça bu özelliği destekleyecek şekilde tasarlanmıştır, ancak bireyleri izleme niyeti yoktur. Bu sistemde, tek gerçek pazarlık kozunuz, gerçek kimliğinizi asla açık anahtarınızla ilişkilendirmemektir ki bu, kitlesel gözetim çağında yapılması çok zordur.
Payjoin'in Tarihsel Kökenleri
Satoshi Nakamoto'nun küçük hatası
Satoshi Nakamoto, 2008'de Bitcoin teknik incelemesini yayınladığında, gizlilik endişelerinin her işlemin herkese açık hale getirilmesi gerekliliğinden kaynaklandığını ve bunun da onu gizli tutma gerekliliğiyle çeliştiğini fark etti.
Gerçek kimlikleri işlemlere bağlamaktan kaçınmak için iki öneride bulundu:
Bunların hepsi iyi bir tavsiyedir, ancak 1) çevrimiçi ödeme yaparken son derece dikkatli olmadığımız sürece, gerçek kimliğimizin ödemelerimizden tamamen izole edildiğini garanti etmek zordur; 2) için, açık anahtar yeniden kullanılmasa bile, birden fazla anahtardan elde edilen çıktı sonraki ödemelerde birlikte harcandığı sürece, izleyicinin hangi açık anahtarların hangi kişiye ait olduğunu belirlemesi zor değildir. Bu öneriler, bir araya getirildiğinde bile, yapılması zor ve kusurlu çözümlerdir.
Bu önerilerden sonra Satoshi Nakamoto, sisteminin zayıflığını abartarak küçük bir hata daha yaptı:
Satoshi'nin hipotezi ve şimdiye kadar gösterdiğimiz tüm örnekler, bir işlemin tüm girdilerinin aynı sahibine ait olduğunu ima ediyor. Başka bir deyişle, bir işlem için harcanan tüm "banknotlar" cüzdanınızdan gelir, bu makul bir varsayımdır, ancak mutlaka doğru değildir. Bu hipoteze "sahiplik ipuçlarının kimliğine girme" denir. Zincir üstü etkinlik izlemenin de temeli olan herhangi bir işlem için neredeyse doğrudur.
Coinjoin
2013'ün başında Gregory Maxwell, bitcointalk.org forumlarında ilginç bir oyun oynadı ve kendine ait bir UTXO (1 BTC değerinde) ve adresini sundu ve herhangi birinin bu UTXO'yu girdi olarak kullanarak yeni bir işlem oluşturup oluşturamayacağını sordu. Böyle bir işlemin yaratıcısı ona 1 BTC'den daha az gönderirse, ondan bir miktar para alır ve ona 1 BTC'den fazla gönderirse, ona fazladan para verir, ancak kendisine gönderilen miktar 1 BTC'den fazla ve az değilse, o zaman daha fazla gizlilik için fonlarını (ve adresini) kullanmaya eşdeğerdir, çünkü girdi, işlem yaratıcısının kendi UTXO'suymuş gibi görünür, ancak değildir. Maxwell'in çıktılarından biri harcanıp adresine geri gönderildiğinde, diğerlerinin oyuna devam edebilmesi için başka bir UTXO sağlar. Bir blockchain aktivite analizi firmasının bakış açısına göre bu, Maxwell'in zengin göründüğünü düşünmelerine neden olur! Adresleri herkese açık olduğundan ve bu adresleri içeren işlemler oluşturmak için birçok UTXO kullanıldığından, bu işlemleri analiz eden ve işlemlerin tüm girdilerinin aynı kişiden geldiğini varsayan herhangi bir analist, Maxwell'in çok, çok sayıda bitcoin'e (gerçekte sahip olduğundan daha fazla) sahip olduğunu varsayacaktır, bu nedenle yazısının başlığı: "Ben gerçekten zenginim!"
Tabii ki, Maxwell adresini halka açık bir forumda yayınladığı için oyun özel değil, ancak ortaya çıkan çok önemli bir konsept sunuyor. Maxwell'in dediği gibi:
Aynı yıl bir takip gönderisinde Mavwell, fikri resmi olarak "Coinjoin" adını verdiği bir konsepte dönüştürdü:
Bu, aslında, herhangi bir sayıda kişinin, başka birinin fonlarının çalınması konusunda endişelenmek zorunda kalmadan, her biri kendi girdilerini sağlayan ve imzalayan işlemler oluşturmak için işbirliği yapabileceği anlamına gelir.
Ardından, coinjoin işlemlerinin başka bir avantajını tanıttı, bu da işlemlerin toplu olarak işlenebilmesi ve böylece ücretlerden tasarruf edebilmesidir: ödeme yapmak istediğinizde ödemeleri başlatmak isteyen diğer kişileri bulabilir ve birlikte işlemler oluşturabilirsiniz:
Sonunda, conjoin, yeterli sayıda insanın kullandığı, herkesin kazandığı ve herkesin bundan gizlilik avantajları elde ettiği bir protokoldür:
Somut bir örnek vermek gerekirse, diyelim ki bir coinjoin'e katılmak isteyen 3 kişi bulduk. 0.1 bitcoin'i karıştırmayı önceden kabul ettiler ve 3 eşit çıktı üretmenin gizlilik avantajını elde edebildiler, bu da başkalarının üç adresin her birinin kimden geldiğini söylemesini imkansız hale getirdi. Analist için, değişim adresi ile girdi arasındaki ilişki hala çok açıktır, ancak bu üç eşit miktarın çıktısının kimin çıktısı olduğu açık değildir.
! [Coinjoin Örneği] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-2603112d99-dd1a6f-cd5cc0.webp)
Yalnızca 3 katılımcı olduğunda, özellikle diğer katılımcılar sonraki işlemlerde kendilerini anonimleştirebildiklerinden (gerçek kimlikleriyle ilişkilendirebildiklerinden) gizlilik avantajı mutlaka önemli değildir, ancak bu, birden fazla coinjoin turu veya daha büyük bir anonimlik seti kullanılarak geliştirilebilir.
Özetlemek gerekirse, coinjoin, birden fazla tarafın girdi ve çıktıları kullanılarak oluşturulan bir işlemdir, bu nedenle başkalarının hangi çıktının kime ait olduğunu belirlemesi zordur.
Coinjoin işleminin nasıl oluşturulacağına ve hangi araçların mevcut olduğuna daha derinlemesine bir bakış için bu kılavuza göz atın.
Coinjoin, en etkili ve yaygın olarak benimsenen Bitcoin gizlilik çözümlerinden biridir, ancak bazı önemli dezavantajları da vardır:
Açıkçası, bu sınırlamalar nedeniyle CoinJoin, özellikle varsayılan bir gizlilik planı isteyen daha pasif kullanıcılar için Bitcoin gizliliği için nihai çözüm değildir.
Birkaç yıl sonra, işleme dahil olan tarafların herhangi bir ekstra adım atmasını gerektirmeyen, basit, merkezi bir koordinatör veya pazar yeri gerektirmeyen (ve dolayısıyla zamandan ve paradan tasarruf sağlayan) ve normal bir işlemle aynı görünen daha iyi bir sonuç ortaya çıktı: Payjoin.
Payjoin, daha önceki bir dizi yenilikten oluşuyor, hadi bir göz atalım.
GSYİH-21
Erken Bitcoin için önemli bir kullanıcı deneyimi (UX) iyileştirmesi BIP-21 oldu. "BIP", "Bitcoin Yükseltme Teklifi"nin kısaltmasıdır ve Bitcoin protokolünde fikir birliği değişiklikleri (örneğin, sert veya yumuşak çatallar) gerektiren veya Bitcoin ile etkileşim için yararlı bilgiler ve yöntemler sağlayan bir dizi kriter içerir.
BIP-21, URI'lerin kullanımını tanımlayan ve bir bağlantıya tıklayarak veya bir ödeme başlatmak için bir QR kodunu tarayarak Bitcoin ile etkileşim sürecini basitleştiren bir standarttır. Miktar, etiket ve mesaj gibi az sayıda sorgu parametresi de tanımlanır, böylece istemci yazılımı bunları kolayca getirebilir ve ayrıştırabilir ve daha iyi bir kullanıcı deneyimi sağlar. Birkaç parametreye sahip bir BIP-21 URI örneği aşağıda verilmiştir:
! [BIP-21 Basit] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-16bce7b3b8-dd1a6f-cd5cc0.webp)
Daha da önemlisi, bu standart genişletilebilir, özel sorgu parametreleri oluşturabilirsiniz ve bunun üzerine yeni standartlar geliştirilebilir. Örneğin, Bitcoin adresinize ek olarak, Lightning Network'te para almanın bir yolunu sağlayan lightning adlı özel bir parametre de ekleyebilirsiniz, böylece kullanıcılar size her iki şekilde de ödeme yapabilir:
! [Yıldırım ile BIP-21] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-568740308b-dd1a6f-cd5cc0.webp)
Bu güçlü ve esnek BIP'in, coinjoin'den kavramları birleştirirken oldukça yararlı olduğu kanıtlanmıştır.
Uç Noktaya Ödeme (P2EP)
Payjoin kavramından bahseden bulduğum en eski belge, Ağustos 2018'de yayınlanan ve konsepte yol açan bir atölyeye atıfta bulunan Blocksteam'dendi. Makale, nihai fikri "Uç Noktaya Ödeme" olarak adlandırıyor, çünkü coinjoin kavramını BIP-21 ile birleştiriyor ve bir işlemin göndericisi ve alıcısının, alıcı tarafından sağlanan BIP-21 uyumlu bir ağ uç noktası aracılığıyla işleme girdi sağlamak için birlikte çalışmasına izin veriyor. Aşağıdaki diyagram, alıcı tarafından sağlanan bir uç noktanın nasıl göründüğüne bir örnektir:
! [P2EP Örneği] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-abd5791ea9-dd1a6f-cd5cc0.webp)
Alıcının cüzdanına gönderenin bir P2EP ödemesini denemeye istekli olduğuna dair bir sinyal gönderebilen bir ağ uç noktası olan p2ep parametresi (bu durumda bir .onion adresi, ancak basit bir http:// adresi veya başka bir uyumlu ağ uç noktası da olabilir) özellikle dikkat çekicidir. P2EP ödemesi başarısız olursa, cüzdan gönderene geri dönecek ve belirli bir adrese normal bir ödeme isteyecek ve yalnızca gönderenin girişini kullanacaktır.
Girdi katkısı P2EP aracılığıyla koordine edildiğinden ve coinjoin gibi "kusurlu" eşit değerde bir çıktı üretmediğinden, payjoin işlemlerinin tanımlanması daha zordur.
Fikir doğru yönde atılmış büyük bir adımdır, ancak henüz emekleme aşamasındadır, kesinleşmemiştir ve bazı ekstra karmaşıklıkların kaldırılması gerekmektedir.
Konu dışı: Satoshi Nakamoto'nun IP'ye Öde
Bu fikrin "IP'ye Öde" adı verilen bir varyasyonu, aslında Satoshi Nakamoto tarafından Bitcoin yazılımının en eski sürümünde uygulandı. Bununla birlikte, bu yaklaşım önemli bir gizlilik ikilemi ortaya çıkarmaktadır, bu nedenle Bitcoin yazılımının sonraki sürümlerinde terk edilmiştir.
Bustapay
Aynı ayın ilerleyen saatlerinde Ryan Haver, Bitcoin geliştirici e-posta listesinde P2EP'nin geliştirilmiş bir sürümünü önerdi ve "Bustapay" adlı bir BIP'yi resmileştirdi. Bu sürüm, orijinal P2EP protokolünü basitleştiriyor ve basitlik uğruna ve karmaşıklığın bir kısmını ortadan kaldırıyor, basitliğin her yerde erişim için gerekli olduğunu düşünüyor.
Bustapay teklifinin hala iyileştirilmesi gereken bazı önemli sorunları var ve protokol olması gerektiği kadar eksiksiz değil. Ancak bu, doğru yönde atılmış bir başka adımdır ve cüzdan entegrasyonu için basitliğe odaklanması, özellikle Bitcoin geliştiricilerinin yavaş hareket eden ve temkinli ekosistemi için kritik bir adımdır. Bustapay hiçbir zaman tanıtılmamış olsa da, bugünün maaş birleştirme teklifinin son habercisiydi – cüzdan entegrasyonuna, zincir içi işlemlerde olumlu değişikliklere hazırız.
Payjoin teklifi
Son olarak, 2019'un ortalarında, Bustapay ve P2EP kavramları, Nicolas Forier (BTCPayServer'ın kurucusu) ve Kukks tarafından "Basit Bir Payjoin Teklifi" başlıklı BIP-78'i oluşturmak için daha da rafine edildi ve geliştirildi.
Payjoin'e yol açan protokolün arka planının anlaşılmasıyla, bu teklifin başındaki özetin anlamı ve amacı açıktır:
Teklif, önceki yöntemlerden çok daha titiz bilgiler sağlar, bir gönderici ve alıcı arasında bir madeni para birleştirme işleminin nasıl oluşturulacağını gösterir, işlem girdilerinin sahiplik kimliği zincirini kırar ve basit, esnek ve ucuzdur.
Payjoin nasıl çalışır?
Diyelim ki Alice, Bob'a 1.1 BTC ödemek istiyor ve ardından bir blok zinciri izleme şirketi şöyle bir işlem görüyor:
! [Ortak girdi sahipliği sezgisel olduğunu varsayan örnek] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ca34b5b6d3-dd1a6f-cd5cc0.webp)
Alice'in Bob'a 0,5 BTC ödediğini ve ardından paranın geri kalanını para üstü olarak kendisine aktardığını düşünebilirler ve hepsi bu:
! [Ortak girdi sahipliği buluşsal yönteminin kullanıldığını varsayan örnek] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-28843c7745-dd1a6f-cd5cc0.webp)
Ve çoğu zaman, böyle düşünmekte yanlış bir şey yok! Sonuçta, değişim genellikle daha büyük mezheplerdedir ve 0,5 daha çok bir "tamsayı" dır ve ödemelerde kullanılma olasılığı daha yüksektir (1,1'e kıyasla).
Ayrıca Alice'in neden gerekli olmayan bir girdi kullandığını merak edebilirler (hem 0,8 hem de 0,3 gereksizdir), ancak bunun sıradan bir işlem olmadığından asla emin olamazlar ve neden ek bir girdi kullanıldığı sonucuna varamazlar - belki de Alice cüzdanını daha sonra yönetebilmek için düzenliyordur. Bu belki bir ödeme iştiraki olabilir, ancak öyle düşünseniz bile, hangi UTXO Alice'in, hangisi Bob'un? Bilmenin bir yolu yok. Çoğu işlem maaş birleştirme * olmadığından, yanlışlıkla bunun bir maaş birleştirme işlemi olmadığını düşünme olasılıkları daha yüksektir.
Bununla birlikte, Alice akıllıdır ve mahremiyetini korumak ister ve payjoin'i bilir, bu nedenle Bob'dan işlem için de bir girdi sağlamasını ister. Bob kabul etti, bu yüzden girdi olarak bir (veya daha fazla) UTXO'ya mal olan bir işlem oluşturdu ve Alice'e geri gönderdi. Anlaşmanın Alice ile bir sorunu yoksa, bunu ağa yayınlayacak. Anlaşma aslında şöyle bir şey:
! [Örnek payjoin işlemi] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ba3b4aec83-dd1a6f-cd5cc0.webp)
Zincir gözlemcileri tüm girdilerin Alice'ten geldiğini varsaydıkları sürece (ilk örnekte olduğu gibi ve şimdi de öyleler), hangi girdilerin Alice ve Bob'a ait olduğu konusunda çılgınca yanılıyorlar!
İlginç bir şekilde, hem Alice hem de Bob herkes için gizlilik avantajları sunuyor. Çünkü CoinJoin'den farklı olarak bu işlem daha çok normal bir işlem gibidir ve yeterli sayıda kişi PayJoin kullandığı sürece izleyici hangi işlemlerin normal olduğunu belirleyemez. Alice ve Bob, izleyicileri boşa çıkarırken, her işlemi biraz şüpheli hale getirir. Yeterli sayıda insan bunu yaptığı sürece, tüm işlemler şüpheli hale gelecektir. Zincir üstü gizlilik genellikle bir sayı oyunudur ve ne kadar çok kişi dahil olursa, herkes için gizlilik o kadar iyi olur.
Bu durumda, Alice ve Bob, gizliliği korumak için ilgili girdilerini kullanarak bir işlem oluşturmak için işbirliği yaptılar. Tabii ki, tüm süreç şüpheli bir şekilde otomatiktir (ve gerçekte otomatiktir).
BIP-78'de, tüm süreç daha resmi olarak şu şekilde tanımlanır:
! [Örnek PJ] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-d33ce79c42-dd1a6f-cd5cc0.webp) 2. Gönderici, yalnızca ödeme için tamamen yeterli olan kendi girişlerini kullanarak alıcının uç noktasına gönderilen, oluşturulmuş, yayınlanabilir bir PSBT oluşturur. Bu PSBT'ye "ilk PSBT" denir. 3. Alıcı, PSBT'yi kendi girdilerini içerecek şekilde değiştirir, kendi girdilerini imzalar ve değiştirilen PSBT'yi gönderene geri gönderir. Alıcı, gönderenin giriş veya çıkışlarının hiçbirini değiştirmez. Bu PSBT'ye "Payjoin Teklifi" denir. 4. Gönderici teklifi doğrular, ardından tüm işlemi tamamlamak için girdilerini yeniden imzalar ve son olarak ağa yayınlar.
Alıcının Payjoin teklifini oluşturmak için kullanılabilecek bir UTXO'ya sahip olmaması gibi, sürecin neresinde hata yapılırsa yapılsın, TA'nın yalnızca normal bir işlem olan ilk PSBT'yi yayınlaması gerekir. Bu işlemin tüm girdileri aynı sahibinden olsa da ve yalnızca yeterli sayıda kişi payjoin'leri kullanıyor olsa da, her iki tarafın da payjoin'i yapmadığı sonucuna varamazsınız ve izleyicinin herkesin payjoining'i yaptığını varsayması ve ardından ödemeyi izlemenin başka bir yolunu bulması gerekir.
Payjoin'in birçok avantajı
Daha fazla gözetim ipucunu parçalayın
Mülkiyet kimliği varsayımı, gizliliği etkileyen payjoin ile kırılabilecek tek varsayım değildir. BIP-78, sahibini tanımlamak için kullanılabilecek diğer iki ipucuna işaret eder:
Bitcoin'de komut dosyası açık anahtarı, bir miktar bitcoin'in hangi koşullar altında harcanabileceğini belirten "kilit komut dosyası"dır. Buna "komut dosyası ortak anahtarı" denir, çünkü kilitleme koşulu, kilidini açmak için bir genel anahtarla (adres) eşleşen geçerli bir imza gerektirir. Başka bir deyişle, yalnızca bu UTXO'nun ilişkili genel anahtarının özel anahtarını kontrol eden kişi kilidini açabilir.
P2PKH, P2WPKH, P2SH, P2TR gibi çeşitli komut dosyası ortak anahtar türleri vardır. Genel olarak, cüzdanlar tüm işlemler için aynı komut dosyası açık anahtarını kullanır, bu nedenle değişiklik çıktısı (ödemelere ve ücretlere ek olarak gönderen tarafından gönderene geri gönderilen fonlar) büyük olasılıkla gönderenin girdisiyle aynı tür komut dosyası açık anahtarını kullanır ve alıcıya gönderilen çıktının farklı bir tür kullanması daha olasıdır. Bu, aynı işlemde aynı komut dosyası türünü kullanan UTXO'ların, yani alıcıya gönderilen çıktının farklı türde olacağı varsayılarak, potansiyel olarak gönderene ait olarak tanımlanabileceği anlamına gelir.
BIP-78, alıcının yalnızca gönderenle aynı türde komut dosyası ortak anahtarını kullanmasına izin veren bir yöntem belirtir ve bu, ödeme çıktısını ve değişiklik çıktısını açığa çıkarabilecek yukarıdaki iş parçacığını keser.
Normalde, lütfen kasık, bir arkadaşınıza ödeme her zaman bir tamsayı seçecektir, çünkü bu çok daha doğal olacaktır. Bob, Alice'i ücretlendirecek olsaydı (ve Bitcoin'i "bir tamsayıya daha yakın" bir fiat fiyatından ücretlendirmiyorlardı), o zaman büyük olasılıkla 0,00010231 gibi tam olmayan bir sayı yerine 0,0001 gibi bir e kümesi alacaktı. Bir işlemin çıktılarından biri bir tamsayı ise, bunun bir ödeme çıktısı olması muhtemeldir ve tamsayı olmayan bir çıktı bir değişiklik çıktısıdır (en azından şimdilik).
Payjoin ayrıca, bir Payjoin teklifi oluştururken ek tamsayı çıktısı ekleyerek alıcının bu iş parçacığını kesmesinin bir yolunu da açıklar.
Asimetrik faydalar, daha geniş bir grubun birleştirilmesiyle elde edilir
Daha önce de belirtildiği gibi, coinjoin'in gizlilik açısından ana dezavantajlarından biri, 1) coinjoin işlemlerinin normal işlemlerden kolayca ayırt edilebilmesi ve 2) çok az kişinin özel olarak coinjoins yapmasıdır, bu normal işlemlerde durum böyle değildir. Bu, Bitcoin'in homojenliği sorununu yaratır, çünkü bazı insanların basılan paranın kirli olduğunu düşünmesi muhtemeldir, çünkü "mahremiyet arayışı eşittir kötülük" gibi saçma bir fikre sahip olan biri. Elbette, işlemlerin çoğunluğu, hatta işlemlerin yalnızca belirli bir yüzdesi özelse, gizlilik arayan işlemler göze çarpmaz.
Payjoin diğer işlemlere benziyor, bu yüzden dikkat çekici değil. Dış gözlemcilerin de böyle bir işleme bakmak için herhangi bir nedeni yoktur, çünkü ödemeyi karıştırmak ve çıktıları değiştirmek niyetini göstermez.
Başka bir şeye benzediği için, payjoin'i benimsemenin marjinal faydaları bile, izlenen potansiyel müşteriler hızla güvenilmez hale geldiğinden, herkesin gizliliğinin ihlal edilmesinin daha zor olacağı anlamına gelir. Adam Gibson (JoinMarket'in kurucu katılımcısı ve Bitcoin gizliliği konusunda uzman) bunu çok iyi özetliyor:
UTXO bitirme
Açıkçası, hem PayJoin hem de öncüleri gizlilik endişelerini gidermeye kararlıdır. Ancak payjoin kullanmanın harika bir yanı var ve BIP-78 bunu açıkça ortaya koyuyor: UTXO toplama.
Satoshi Nakamoto, her alıcı işlem için bir bahşiş adresi kullanmayı önerdi ve bu da bir kullanıcının cüzdanının yönetmesi gereken birçok UTXO'ya sahip olmasıyla sonuçlandı. Bu UTXO'lar yeni bir işlem oluşturmak için girdi olarak kullanıldığında (bunun bir coinjoin veya payjoin işlemi olmadığı varsayılarak), böyle bir işlem çok fazla ücrete mal olur. Ücretler, işlemin hacmine (bayt sayısı) (kıt bir kaynak olan blok alanına karşılık gelir) göre ücretlendirildiğinden, daha fazla girdi daha büyük işlemlere ve daha fazla ücrete eşittir.
Zincir üzerinde görünen her UTXO'nun yine de ücret ödemesi gerekeceğinden, UTXO sıralaması için payjoin kullanmanın mutlaka ücret tasarrufu sağlamadığını unutmamak önemlidir. Ancak, bu ücretleri uzun bir süreye yayar ve ödeme sırasında UTXO'ları toplu hale getirme fırsatı sunar. Toplu işleme, UTXO'ları düzenlemeyi daha ucuz hale getirecektir (özellikle harmanlama amacıyla bir işlem başlatmanız gerektiğinden). Ayrıca UTXO'ları bağlamayı kolaylaştırır ve sabit sürücünüzde daha az yer kaplar. Buna ek olarak, cüzdanlar, alıcıların hangi UTXO'ları düşük ücretlerle düzenlemek istediklerini önceden belirlemelerine izin vererek UTXO'ların organizasyonunu otomatikleştirmenin ve sorunsuz hale getirmenin bir yolunu uygulayabilir.
Lightning Network ve Payjoin: Doğada Yapılan Bir Eşleşme
Lightning Channel'ı açmak için Payjoin'i kullanın
Lightning Network (LN), Bitcoin'in üzerine inşa edilmiş, işlemleri anında, çok düşük ücretli ödeme için zincir dışına çıkaran, böylece işlem hacmini, gizliliği önemli ölçüde artıran ve Bitcoin'in yeni kullanım durumlarına ("mikro ödemeler" gibi) girmesine izin veren bir katman-2 çözümüdür. Ödemeleri yönlendirmek için düğümler arasında bir ödeme kanalları ağı kullanır ve fonları geldikleri yerden hedeflerine iletir. Bu kanallar, her düğüm operatörünün kanal karşı taraflarıyla bir miktar "likidite" (bitcoin) kilitlemesini gerektirir ve bu daha sonra bir düğüm ile kanal karşı tarafları arasında akabilir. Bir kanalda ne kadar Bitcoin harcayabileceğiniz, kanalın sizin tarafınızda ne kadar likidite olduğuyla sınırlıdır.
Bir Lightning düğümünü korumak söz konusu olduğunda, karmaşıklığın çoğu bu kanalların açılmasından ve her kanalın likiditesinin yönetilmesinden kaynaklanır. Yeni kullanıcıları işe almak en büyük acı noktalarından biridir çünkü çok fazla adım vardır. Diyelim ki Alice, Bob ile bir kanal açmak istiyor ve yeni bir Lightning düğümü kurdu, ancak henüz finanse edilmedi. O zaman aşağıdakileri yapması gerekiyor:
En azından, Alice'in ücreti iki kez ödemesi ve her işlem için yaklaşık 10 dakika beklemesi gerekiyor ki bu sıkıcı.
! [Yıldırım Kanalı Açma İşlemi] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-1cabf5ff4a-dd1a6f-cd5cc0.webp)
Payjoin bu süreci basitleştirir ve Alice'in tasarruf etmesine yardımcı olur: Alice, Lightning Wallet'a para yatırabilir ve kanalı tek bir işlemde açabilir.
Bu senaryoda Alice, açmak istediği kanalın ayrıntılarıyla payjoin alma uç noktasını önceden yapılandırır: kaç bitcoin kilitlenecek ve kanalı hangi rakip açacak. Ardından, payjoin'i destekleyen bir cüzdan kullanarak, birisi (Alice dahil) uç noktaya ilk PSBT'yi gönderebilir, bir payjoin işlemi için pazarlık yapabilir ve uç nokta, Bob'un düğümüyle bir kanal açmak için gerekli API çağrılarını yapar.
Başka bir deyişle, gönderen (bu durumda Alice), payjoin'i alan uç nokta ile Alice ile iletişim kurar, bir işlem oluşturur ve fonları doğrudan Bob ve Alice'in 2'nin 2'si çoklu imza çıktısına gönderir, böylece iki düğüm arasında bir yıldırım kanalı oluşturur. Bu, tüm süreci bir işleme dönüştürür:
! [Payjoin ile Yıldırım Kanalı] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-4c65326146-dd1a6f-cd5cc0.webp)
Bilinmesi gereken ilginç bir şey, hem yıldırım kanalının açılmasının hem de payjoin'in canlı gereksinimleri olmasıdır (en azından maaş katılımı uzun süre gerekli olmayacak olsa da), bu da tüm katılımcıların işlem gerçekleştiğinde çevrimiçi olması gerektiği anlamına gelir. Bu, zincir üstü Bitcoin işlemlerine kıyasla çok kısıtlayıcıdır (yalnızca ödeme yapan kişinin ödeme anında çevrimiçi olmasını gerektirir). Bununla birlikte, bu aynı zamanda iki protokol setinin birbirine mükemmel bir şekilde uymasını sağlar.
Örneğin, Lightning Network, ödemeleri zincir dışında tutarak gizliliği artırmanın harika bir yoludur ve Bitcoin'in değer deposundan ödün vermeden bir değişim aracı olarak kullanılma yeteneğini büyük ölçüde artırabilir (yani, aslında günlük ihtiyaçları satın almak için kullanılabilir). Bununla birlikte, zincir üzerinde bir kanal açma ihtiyacı, kanalı açmak için kullandığınız fonların yanı sıra kanalı sizinle birlikte açan kişilerin de zincir üzerinde bir iz bırakacağı anlamına gelir. Daha önce tartıştığımız nedenlerden dolayı, payjoin, meraklıların ipuçlarının çoğunun kafasını karıştırabilir ve yok edebilir.
Bu aynı zamanda işleri daha da kolaylaştırır, çünkü kullanıcıların iki yerine yalnızca bir işlem başlatması gerekecek, yalnızca bir işlemin onaylanmasını beklemek zorunda kalacakları için daha hızlı hale gelecekler ve yalnızca bir ücret ödemeleri gerektiği için daha ucuz hale gelecekler. Aslında, bu yaklaşım aynı anda birden fazla kanalın açılmasına izin verir. Kanalı açmak istediğiniz düğümlerin bir listesini yapabilir, bunu bir BIP-21 payjoin alma uç noktası olarak yapılandırabilir ve ardından ödeme alırken hepsini bir kerede ve otomatik olarak açabilirsiniz ve yalnızca bir onay ve bir ödeme ücreti beklemeniz gerekir. Kesinlikle!
Bu fikri uygulayan "Nolooking" adlı bir proje zaten var, bu da bir dizi açık anahtarı listelemenize ve ardından aynı anda birden fazla Lightning Kanalını açmanıza olanak tanıyor *gruplar halinde)! Bu, Alice'in sadece Bob ile değil, aynı zamanda Bob, Carol ve Dina ile de sadece bir zincir içi işlemle bir kanal açmasına olanak tanır! Düşünmesi heyecan verici: Gelecekte, Lightning cüzdanlarında payjoin varsayılan olarak etkin olacak ve fiili kullanıcı deneyimi, sadece kanal ortağınızı seçmeniz, tek bir Bitcoin işlemi başlatmanız ve işinizin bitmesidir! Bu ne kadar şaşırtıcı?
Bunun, kendi kendine gözetim yıldırım kanallarının benimsenmesini basitleştireceğini hayal etmek kolaydır. Lightning cüzdan yazılımının, kullanıcıların ne kadar Bitcoin kilitlemek istediklerini (yani ne kadar likidite istediklerini) girebilecekleri, az sayıda makul büyüklükte kanal açmak için varsayılan bir değer belirleyecekleri ve yönlendirme ve ücretlerden biraz fedakarlık yapacakları bir "hızlı başlatma" düğmesine sahip olması ilginç olurdu. İleri düzey kullanıcılar için, "Ne yaptığımı biliyorum" düğmesini sağlamanız yeterlidir.
Zayıf Yönler
Herhangi bir protokolün zayıf yönleri vardır ve PayJoin de bir istisna değildir.
Canlılık (ağ oluşturma) gereksinimlerinde büyük bir sorun yatmaktadır. Mevcut uygulamada, gönderici ve alıcı nihai işlemi müzakere ettiğinden (elbette programlanmış) işlemi oluştururken alıcının payjoin web sunucusunun finansal olarak sigortalanması gerekir. Bu, çevrimiçi kalmaya teşvik eden tek kişi olan Lightning düğümlerinin yanı sıra tüccar sunucularının benimsenmesini sınırlayabilir. Kullanıcının bakış açısından, alıcının sunucusunun çevrimiçi olup olmadığına bakılmaksızın işlemin herhangi bir zamanda gönderilebilmesi daha da iyi olurdu.
Daha az olası ancak daha tehlikeli bir başka zayıflık, bir payjoin sunucusunun (yani alıcının sunucusunun) güvenli olmayan bir sunucuda olması durumunda, alıcının çıktısının işlem sırasında (gönderene geri iletilmeden önce) kurcalanabilmesi ve alıcıya ait fonların çalınmasına neden olabilmesidir.
Ancak, daha sonra söyleyeceğimiz gibi, bu sorunların her ikisini de çözmek için çözümler önerilmiştir.
Son olarak, PayJoin protokolünün bir başka zayıflığı da, cüzdanların onu entegre etmek için geliştirme çabası göstermesi gerektiğinden, benimsenmesinin önünde bir engelle karşılaşmasıdır. Özel bir zorluk, ideal kullanıcı arayüzünün varsayılan olarak payjoin olması gerektiğidir. Hem gönderenin cüzdanı hem de alıcının cüzdanı, kullanıcı tarafından gizlilik ayarlarında açılmak zorunda kalmadan doğrudan payjoin girişiminde bulunacaktır. En iyi gizlilik, varsayılan olarak gizliliği uygulamaktır, çünkü kullanıcılardan aktif eylemde bulunmalarını isterseniz, cesaretleri kırılabilir. Bu nedenle, payjoin'in ortalama bir kullanıcı tarafından benimsenmesi için, anlamakta zorlanmak zorunda kalmayacakları sorunsuz bir deneyim olması gerekir. Cüzdanda varsayılan olarak açık olmalıdır. Protokolün payjoin hatalarına karşı zaten yerleşik bir yanıtı olduğunu unutmayın: kullanıcının manuel müdahalesi olmadan normal bir işleme geri döner.
Sunucu tarafında payjoin gerekmez
Dan Gould, payjoins'in 2. sürümü için bir taslak BIP gönderdi ve payjoins'in hem zaman uyumsuz hem de sunucusuz senaryolarda yapılmasına olanak tanıdı. Bu sunucusuz ödeme katılımı, alıcının ödemeyi alırken çevrimiçi olmasını gerektirme sorununu ve ilgili sunucu tarafı güvenlik sorunlarını çözecektir. Her zaman açık olan payjoin alıcı sunucusu, payjoin'in kullanıcı tarafından benimsenmesinin önündeki en büyük engel olabileceğinden, bu BIP'nin uygulanması, Bitcoin'in pasif gizliliğinin yanı sıra payjoin'in benimsenmesine de önemli faydalar sağlayabilir.
Payjoin'in benimsenme durumu
2023'ün sonu itibariyle, PayJoin'in benimsenmesi hala nispeten küçüktür, ancak 2018'deki başlangıcından bu yana büyümeye devam etmiştir. Payjoin şu anda mevcut olduğundan ve herhangi bir Bitcoin konsensüs değişikliği gerektirmediğinden, tek engel onu destekleyen cüzdan yazılımı yazmaktır ve geliştiricilere yardımcı olacak araçlar her geçen gün gelişmektedir. Payjoin Dev Kit (PDK), cüzdanların maaş birleştirmeleri entegre etmek için kullanabileceği modüllere sahip yeni bir payjoin uygulamasıdır. Hatta bir payjoin oluşturmak için komut satırını kullanabileceğiniz bir payjoin-cli aracından oluşur. Bu kitaplık Rust ile yazılmıştır, ancak diğer dillerin onu kullanmasına izin veren bağlamalar geliştirme aşamasındadır.
Cüzdan desteği
BTCPayServer ve JoinMarket, varsayılan olmasa da maaş birleştirmelerinin gönderilmesini ve alınmasını zaten destekliyor. BlueWallet, Sparrow, Wasabi ve BitMask göndermeyi destekler. Bir avuç başka cüzdan, Bitcoin Core da dahil olmak üzere bir eklenti aracılığıyla bunu destekler. Payjoin'i Mutiny Wallet'a entegre etmeye çalışan aktif PR'lar da var. Geçerli benimseme durumu burada listelenmiştir.
Payjoin ve Bitcoin'in geleceği
Adam Gibson, zincir üstü işlemlerin yalnızca yüzde 5'i payjoin kullanılarak oluşturulsa bile, bunun Bitcoin'in gizliliği üzerinde büyük bir etkisi olabileceğini söyledi. Sadece bir analitik firmasının işlemi doğru bir şekilde yorumlayabileceklerinden emin olarak varsayması için yeterli olan bir eşiği geçmemiz gerekiyor. Bizi gözetleme yöntemleri bir kez kırıldığında, Bitcoin'in gizliliğinin faydalarını anlamayan veya haklarımızı korumayı amaçlamayanlar tarafından uygulanan akılsız, keyfi ve kötü niyetli kısıtlamalar önemsiz hale gelecektir.
Ve gördüğümüz gibi, PayJoin'in getireceği birçok olasılık nedeniyle, bu sadece bir gizlilik çözümü değil, aynı zamanda ücret tasarrufu, tek bir işlem için birden fazla yıldırım kanalı gibi ilginç kullanımlara izin veren ölçeklenebilir ve işbirliğine dayalı bir işlem protokolüdür. Bitcoin'e getirebileceği faydalar sınırsızdır ve şimdi Bitcoin'in kendisini değiştirmeden gerçekleştirilebilir.
Peki ne bekliyoruz?
Evet
PayJoin'i desteklemek veya katkıda bulunmak istiyorsanız, Discord'a katılın, bize bağışta bulunun veya payjoin.org hakkında bilgi edinin.