BIP Nedir?
İçindekiler
Bitcoin merkezsiz ve açık kaynaklı dijital bir para olup protokol yükseltmelerine karar verecek merkezi bir otoriteye sahip değildir. . Bu nedenle herkes kod değişikliği ve gündem değişikliği yapabilir.
Neden BIP'e ihtiyacımız var?
Bitcoin'in geliştirilmesinin ilk günlerinde, topluluk üyelerinin birlikte tartışabileceği, etkili önerilerde bulunabileceği,tanınması ve uygulanması için bir sistem bulunmuyordu.
Satoshi Nakamoto, ilk aşamada Bitcoin için temel çerçeveyi yazdı ancak sistemin olası operasyonel sorunları ve gerçek ihtiyaçlara uyum sağlamak için yapılacak yükseltmelerin olması da kaçınılmazdı. . Bu durumlar ilk günlerde ortaya çıktığında, sorunu genellikle Satoshi Nakamoto çözüyordu. Satoshi Nakamoto çekildikten sonra, bakım ve yinelemeli güncelleme görevi Bitcoin çekirdek geliştiricilerine düştü.
Topluluğun genişlemesi nedeniyle, topluluk tartışmaları teknik farklılıklara yol açmıştır.
O zamanlar, Bitcoin çekirdek geliştiricileri küçük bir gruptan oluşuyordu. . Değişiklikler dahili olarak tartışılır ve yayınlanırdı. Ancak topluluk gelişip büyüdüğünde, bu yöntem teknik anlaşmazlıklara yol açtı. . Bazı geliştiriciler Bitcoin çekirdek ekibinin Bitcoin protokolüne çok fazla kontrolü olduğunu ve bunun Bitcoin'in başarısızlığının nihai nedeni olacağına inanıyorlardı. Bu nedenle Bitcoin İyileştirme Önerisi (BIP) önerildi.
BIP'nin iki versiyonu
BIP0001, 19 Ağustos 2011'de uygulandı. BIP, konsepti ilk olarak 19 Ağustos 2011'de Amir Taaki tarafından önerildi ve bu teklif ilk BIP oldu. BIP0001, BIP'in temel sürecini tanımlar.
3 Şubat 2016'da Luke Dashjr, BIP0002'yi önerdi. BIP0001 temelde topluluğun o zamanki geliştirme sürecini resmileştirme talebini karşıladı, ancak ayrıntıların çoğu detaylandırılarak açıklanmadığı ve bazı spesifikasyonların modası geçmiş olduğu için, BIP0002 bu temelde yinelenerek uygulandı ve kullanılmakta olan BIP spesifikasyonu BIP0001'in yerini aldı.
BIP'nin 9 türe ayrılabilir
- Önerilen(Proposed),
- Taslak(Draft),
- Aktif(Active),
- Final(Final),
- Değiştirilmiş(Replaced),
- Geri Çekilmiş (Withdrawn),
- Ertelenmiş(Deferred),
- BIP numarası tahsis edilmiş (BIP number allocated),
- Reddedilmiş (Rejected).
BIP’i göndermeden önce ne yapılmalı?
Bitcoin için belirli bir fikir olduğunda fikrin BIP için uygun olduğundan emin olunmalıdır. Bazı küçük güncellemeler veya hata düzeltmeleri doğrudan belirli proje geliştirmeye gönderilebilir, ancak bu kadarı BIP olması için yeterli değildir.
Öncelikle, zaman tasarrufu için ilgili forumlarda öne sürülecek fikir herkesle açık bir şekilde doğrulanmalıdır.
Bir BIP yazmadan önce, fikirlerin uygun bir yerde yayınlanması gerekir. Bunun avantajı, potansiyel zamandan tasarruf edebilmek ve çok çalışmadan önce fikirle ilgili bir sorun olup olmadığını görebilmektir.
Ayrıca bu fikrin daha önce başka biri tarafından önerilip önerilmediğini öğrenmek gerekir.
Pek çok kişi Bitcoin hakkında birçok fikir öne sürdü, ancak sonunda çeşitli nedenlerle reddedildi. Bu nedenle öne sürülen fikir daha önce başka bir kullanıcı tarafından önerilmiş ancak başarılı bir şekilde gerçekleştirilememiş olabilir. Durum böyleyse neden gerçekleştirilmediği öğrenilmeli ve bir çözüme kavuşmamışsa , zaten reddedilmiş bir öneri zaman kaybına neden olacaktır.
Aynı zamanda, fikirlerin tüm topluluk için geçerli olduğundan emin olunmalıdır.
Bazen bu fikir kendi başına iyi görünür ancak Bitcoin topluluğundaki çoğu kullanıcı için geçerli değildir ve bu fikir sonunda reddedilir.
BIP format gereksinimleri
Bu fikir toplulukta yayınladığında ve muhtemelen kabul edileceği düşünüldüğünde , BIP taslağı yazılmaya başlanabilir. Ancak BIP'in katı format gereksinimleri vardır ve formata göre yazılmamışsa doğrudan iade edilir.
Nitelikli bir BIP taslağının aşağıdakileri içermesi gerekir:
- Önsöz: BIP'nin temel verilerini içeren önsöz belirli bir formatta yazılmalıdır
- Özet: Çözülecek teknik sorunun kısa bir açıklaması (yaklaşık 200 kelime)
- Telif hakkı: Belirli telif hakkı koşulları kapsamında açık izin gerektirir
- Motivasyon: Mevcut protokolün bu BIP ile çözülecek problemi çözmek için neden yeterli olmadığını açıkça açıklayın
- Spesifikasyonlar: Teknik spesifikasyonlar, herhangi bir yeni özelliğin sözdizimini ve anlamını yeterli ayrıntıda tarif etmelidir
- İlke: Tasarımın motivasyonunu ve bu spesifik tasarım kararının spesifikasyonu tamamlamak için neden alındığını açıklayın
- Geriye dönük uyumluluk: Geriye dönük uyumsuzluk getiren tüm BIP'ler, uyumsuzluğu ve ciddiyetini açıklayan bir bölüm içermelidir. BIP, yazarın bu uyumsuzluk sorunları ile nasıl başa çıkılacağını belirtmelidir. Yeterli geriye dönük uyumluluk tartışması yoksa, BIP sunumu doğrudan reddedilebilir
- Referans uygulaması: Referans uygulama "nihai" statü verilmeden önce tamamlanmalıdır, ancak BIP kabul edilmeden önce tamamlanmasına gerek yoktur
Nitelikli bir BIP taslağı formata dikkat edilmesi gerekir.
Önsöz formatı için dikkat edilmesi gerekenler:
- BIP: //BIP Numarası, taslak aşamasında ise「？」doldurulmalı
- * Layer: // BIP'nin hangi seviyede etki göstereceğini kaydedin, BIP123'te farklı seviyeler tanımı vardır
- Title: // BIP'nin başlığı, Maksimum 44 karakter olmalıdır
- Author: // Yazarın adı ve e-posta adresi bulunmalıdır
- * Discussions-To: // BIP posta listesi adresini tartışılmalıdır
- * Comments-Summary: //BIP Alınan yorumların özeti bulunmalıdır
- Comments-URI: // BIP yorumları için wiki adresini görüntülenmelidir
- Status: Withdrawn | Final | Replaced | Obsolete> // BIP'nin mevcut durumu belirtilmelidir
- Type: // BIP türü belirtilmelidir
- Created: // BIP'ye bir etiket atandığı tarih eklenmelidir
- License: // Kullanım lisansı olmalıdır
- * License-Code: // Lisans kodu bulunmalıdır
- * Post-History: // Yayın tarihi (Bitcoin posta listesine gönderme)
- * Requires: // Güvenilecek BIP numarası
- * Replaces: // Değiştirilen BIP numarası
- * Superseded-By: // Hangi BIP ile değiştirildiği belirtilmelidir.
* İle işaretlenen içerik dışında, diğer her şey gereklidir.
BIP'nin ek formatına dikkat edilmesi gerekir.
BIP, diyagram gibi ekler içerebilir. Ekler, BIP'nin alt dizinine dahil edilmelidir ve BIP-XXXX-Y olarak adlandırılmalıdır. Burada "XXXX" BIP numarasıdır ve "Y" seri numarasıdır (1'den başlar), "Ext", gerçek dosya uzantısıyla değiştirilir (örneğin, "png" ").
BIP inceleme süreci
BIP taslağı yazıldıktan sonra, belgenin tamamının Bitcoin geliştirme posta listesine gönderilmesi gerekir ve posta listesine abone olan herkes teklifini alabilir.
BIP taslağı toplulukta kamuoyuna açıklanması ve tüm önerinin tekrar tartışılması gerekir.
Bu noktada, bu BIP taslağını toplulukta tekrar tartışmak gerekir. Daha önceki kamuoyu tartışması sadece bir fikir içindir, bu sefer tam bir teklif için olacaktır.
BIP taslağı tekrar gözden geçirilmeli ve editöre gönderilmeli.
Topluluk üyelerine BIP'in savunucusu olmaları için rehberlik edilmeye çalışılmalı ve topluluk üyelerinin fikirlerinin aktif olarak dinlenilmesi ve ardından BIP'in yeniden gözden geçirilmesi gerekir.
BIP Editörünün İşlevleri
BIP editörü yeni BIP taslağını aldığında, aşağıdaki işlemleri yapacaktır:
- BIP'nin bir bütün olarak hazır olup olmadığını kontrol eder. Hazır BIP'nin iki özelliği vardır: eksiksiz ve sağlam. Yani, taslağın içeriği spesifikasyonu tamamen karşılıyor, boşluklar yok ve incelemeye dayanıklı.
- Başlığın içeriği doğru şekilde tanımlayıp tanımlamadığını kontrol eder.
- Önceden Bitcoin geliştirme posta listesinde herkese açık bir tartışma yapılıp yapılmadığını kontrol eder.
- Motivasyonun tam olarak tanımlanıp tanımlanmadığını ve geriye dönük uyumluluğun çözülüp çözülmediğini kontrol eder.
- Önsözdeki Layer etiketinin spesifikasyona göre doğru şekilde atanıp atanmadığını kontrol eder.
- Lisansın belirtilen aralıkta olup olmadığını kontrol eder.
BIP editörü BIP'in hazır olmadığını düşünürse sebebini açıklayarak geri gönderecektir. BIP editörü tarafından verilen talimatların düzenlenip revize etdildikten sonra tekrar gönderilebilir.
İyileştirmeden sonra, talep çekilebilir ve BIPs git deposuna gönderilebilir. . Çekme talebini aldıktan sonra, BIP editörü şunları yapacaktır:
- BIP'e bir BIP numarası atayacaktır, böylece BIP resmi olarak doğmuş olur.
- BIP türü işaretlenir (standart izleme, bilgilendirici, süreç).
- Çekme talebi birleştirilir ve BIP artık BIP deposuna eklenecektir.
- BIP README.mediawiki'de listelenir, böylece herkes hareketleri kolayca takip edebilir.
Şu an itibariyle, topluluktan daha fazla geri bildirim almak için BIP tekrar halka açıklanır.
BIP türleri
- Standart izleme BIP: Ağ protokol değişiklikleri, engelleme veya işlem geçerlilik kurallarındaki değişiklikler veya Bitcoin kullanan uygulamaların birlikte çalışabilirliğini etkileyen değişiklikler veya eklemeler gibi Bitcoin uygulamalarını etkileyen çoğu veya tüm değişiklikleri açıklar.
- Bilgilendirici BIP: Bitcoin tasarım sorunlarını açıklar veya Bitcoin topluluğuna genel yönergeler veya bilgiler sağlar ancak yeni özellikler önermez. Bilgilendirici BIP, Bitcoin topluluğunun fikir birliğini veya tavsiyelerini temsil etmeyebilir, bu nedenle kullanıcılar ve uygulayıcılar bilgilendirici BIP'i görmezden gelmekte veya tavsiyelerini takip etmekte özgürdür.
- Süreç BIP: Bitcoin'i çevreleyen süreci açıklar veya sürecin (veya içindeki olayların) değişikliklerini önerir. Süreç BIP "standart BIP izleme" ye benzer, ancak Bitcoin protokolünün kendisi dışındaki alanlarda etkilidir. Süreç BIP'leri uygulama planları önerebilir, ancak Bitcoin kod tabanına özgü olmayacaklardır , genellikle topluluk fikir birliğine ihtiyaç duyarlar , Bilgilendirici BIP'lerinin aksine, bunlar sadece öneriler değildir ve kullanıcılar genellikle bunları isteğe göre görmezden gelemezler. Süreçler, yönergeler, karar verme süreçlerindeki değişiklikler ve Bitcoin geliştirmede kullanılan araçlarda veya ortamlarda yapılan değişikliklerin tümü süreç BIP'leridir.
BIP'nin nihai gerçekleşme süreci
Süreç BIP ve Bilgilendirici BIP bir aydan fazla tartışılacak, itiraz olmaması halinde hemen uygulamaya konulacaktır. . Dolayısıyla bir süreç BIP veya bir bilgilendirici BIP ise, posta listesinde bir aydan fazla tartıştıktan sonra çözülmemiş itirazlar olmadığı sürece, BIP'in fikir birliğinin çoğuna ulaştığı belirlenebilir ve BIP'in durumu "Aktivasyon" olarak değiştirilir: Bitcoin topluluğunu gerçek anlamda etkilemeye başlar.
Standart izleme BIP'i daha karmaşık ve ihtiyatlı olacaktır.
Amaç, BIP durumunu "taslak" dan "nihai gerçekleştirme" safhasına getirmektir.
BIP123'te, standart BIP dört katmana ve beş kategoriye ayrılmıştır:
- Konsensüs katmanı (yumuşak çatallanma, sert çatallanma)
- Eş hizmetler katmanı
- API / RPC katmanı
- Uygulama katmanı
Farklı BIP türleri, "nihai gerçekleştirme" durumuna ulaşmak için farklı koşullara tabidir.
- Yumuşak çatallanma BIP, kesinlikle madencilerin oy çoğunluğunu gerektirir. Maden havuzlarının varlığı dikkate alındığında, genel olarak oyların yüzde 95'i gereklidir.
- Sert çatallanma BIP daha katıdır ve tüm Bitcoin topluluğunun üyelerinin, özellikle de Bitcoin'i mal alıp satmak ve Bitcoin depolamak ve ticaretini yapmak için kullananların benimsenmesini gerektirir. Temelde Bitcoin topluluğunun tüm üyelerinin onayı ile sert çatallanma elde etmek mümkündür diyebiliriz. Böyle bir fikir birliğine varmak son derece zordur. Bu nedenle Bitcoin tarihinde Bitcoin için gerçek bir sert çatallanma yükseltmesi olmamıştır.
- Eş hizmet BIP'si, genel izleme düğümlerinin en az yüzde birinin BIP'leri bir ay boyunca benimsediğinin izlenmesini gerektirir.
- API / RPC ve uygulama katmanı BIP, en az iki bağımsız ve uyumlu yazılım tarafından uygulanır.
Yukarıdaki işlemler çok karmaşık ve uzundur. Genellikle çok taraflı bir yarışmanın sonucudur.
BIP sahibinin bu aşamada yapması gereken, BIP'i sürekli olarak tanıtmak, daha fazla topluluk üyesine ulaşmak, tasarım felsefesini geliştirmek için çok çalışmak ve BIP'in Bitcoin topluluğu üzerinde nasıl olumlu bir etkisi olacağını açıklamaktır. Daha fazla topluluk üyesinin BIP destekçileri olması için çabalaması gerekir.
BIP durumunun "Nihai Gerçekleşme" olarak değiştirilmesi en büyük ödül olarak görülmektedir.
BIP'in oluşumundaki 7 adım
- Fikir paylaşımı
Fikir , daha fazla insanın desteğini kazanmak için forumlar, Twitter, vb. gibi herhangi bir kanal aracılığıyla herkesle paylaşılır.
- Dosya oluşturma
Topluluk tarafından tartışılan öneriler özetlenir , sunulmak üzere planın daha standart bir formatta ayrıntılı olarak açıklandığı bir BIP öneri dosyası oluşturulur.
- Seri numarası atama
Önemli olan veya tanınan BIP tekliflerine seri numaraları atanır. Bu da herkesin bu teklifi ayırt etmesini ve böylece tartışmasını kolaylaştırmak içindir. Seri numaralı bir teklif resmi bir teklif olarak kabul edilir.
- Kod uygulama
Bazı geliştiriciler, BIP resmi teklifinin konseptine dayalı olarak özel bir kod uygulayacaktır. Ve kodun mümkün olduğunca hatasız olmasını sağlamak için test ağında titiz testler yapılır.
- Ayarı etkinleştirme
Kodda sorun olmadıktan sonra, aktivasyon eşiği ayarlanır, aktivasyon işareti ve tampon süresi "BIP9 Yükseltme Spesifikasyonu"na göre kurulur.
- Yayınlama
Yeterli sayıda kişi kabul eder ve imzalarsa, BIP kodu emilir ve bu BIP kodunu içeren sürüm en son sürümde yayınlanacak, ancak etkin durumda değildir.
- Etkinleştirme
Program BIP9 tarafından belirlenen etkinleştirme eşiğine ulaştıktan sonra, resmi olarak etkinleşir. Programın başarılı olup olmadığı ölçülür. Bir sorun varsa bir önceki adıma geri dönülebilir.
Aşağıdaki tabloda mevcut BIP durumlarını inceleyebilirsiniz: