Sizi Arc-20 ve Brc-20 protokollerinin derinliklerine götüren bir makale

Orta Seviye2/1/2024, 6:08:55 AM
Bu makale, teknik açıdan iki protokolün ayrıntılarına, avantajlarına ve dezavantajlarına değinmektedir.

Giriş

Son zamanlarda Arc-20 protokolünün tanıtılması, yazıt pazarında bir kez daha çılgınlığa yol açtı. Bu makale iki protokolün ayrıntılarını, avantajlarını ve dezavantajlarını teknik açıdan ele alacaktır.

Neden Brc-20 ve Arc-20 var?

Bitcoin başlangıçta güvenli, istikrarlı ve güvenilir, merkezi olmayan bir dijital para birimi olacak şekilde tasarlandı. Ancak teknik mimarisi ve Ethereum'a kıyasla nispeten daha az esnek kodlama dili nedeniyle Bitcoin, akıllı sözleşmelerin doğrudan yürütülmesi için uygun değildir.

Buna rağmen geliştiricilerin yenilikçi fikirleri ve cesur girişimleri Bitcoin ekosistemine refah getirdi. Tipik bir örnek Brc-20 protokolüdür. Protokolün ana fikri memleri merkeze alan deneysel bir token formudur. Herkes bu tokenleri akıllı sözleşmelere dayanmadan, ilk gelen alır esasına göre doğrudan Bitcoin zinciri üzerinde basabilir. Brc-20 tokeninin temel özelliği, özel satışlar, ön satışlar ve kilit açma veya stake etme gibi mekanizmaları ortadan kaldıran merkezi olmayan yapısıdır. Bu, gerçek anlamda merkezi olmayan bir etkileşim sağlar.

Bu bağlamda Arc-20 protokolü yazıtlara olan ilgiyi bir kez daha ateşledi.

UTXO modeli nedir?

Brc-20 ve Arc-20 protokollerinin her ikisi de Btc zincirini temel alır, bu nedenle Arc-20 protokolünü ve Brc-20 protokolünü resmi olarak tanıtmadan önce, kısaca UTXO'yu (harcanmamış işlem çıktısı) anlayalım.

Bitcoin hakkında konuştuğumuzda UTXO (harcanmamış işlem çıktısı) modeli önemli bir tasarım konseptidir. Bitcoin'in kullandığı, banka hesapları gibi geleneksel bakiye modellerinden farklı bir hesap modeli türüdür.

UTXO modelinde, her Bitcoin işlemi, her çıktının belirli bir miktarda Bitcoin'i temsil ettiği bir dizi harcanmamış çıktı oluşturur. Bu harcanmamış çıktılar, kağıt faturalara veya madeni paralara benzer şekilde, esasen kullanılmayan dijital para birimleridir. Bitcoin aldığınızda, birisi aslında Bitcoin adresinizle ilişkili yeni, harcanmamış bir çıktı yaratmıştır. Bu çıkış UTXO'dur.

UTXO modelini basit bir örnekle açıklayalım:

Biri 0,7 BTC, diğeri 0,5 BTC alan iki işleminiz varsa, biri 0,7 BTC değerinde ve diğeri 0,5 BTC değerinde iki UTXO'nuz olacaktır. 1 BTC ödemek istediğinizde, yalnızca bir UTXO kullanamazsınız, ancak iki UTXO'yu yeni bir UTXO'da birleştirmeniz (toplamda 1,2 BTC) ve ardından kalan 0,2 BTC ile birlikte alıcıya 1 BTC göndermeniz gerekir. değişim olarak kendinize geri döndünüz. Ancak gerçek değişim 0,2 BTC'den az olabilir çünkü işlemin sorunsuz işlemesi için kullanıcıların madencilere işlem ücreti ödemesi gerekiyor.

Brc-20 Protokolü Teknik uygulama

BRC-20, sıralı teori ve yazıtlardan yararlanarak Bitcoin'in 1. katmanında değiştirilebilir tokenlar oluşturma olasılığını gösteren deneysel bir standarttır. Ordinals protokolü (protokol standartlarına göre basılan ilk token), metin, resim veya videolar da dahil olmak üzere içeriğin Bitcoin'in en küçük birimi Satoshi'ye basılmasına ve böylece benzersiz dijital varlıklar yaratılmasına olanak tanır.

Sıra teorisi, BTC ağında yazıtların uygulanmasının anahtarıdır.

Her Satoshi aslında aynıdır ve Ordinaller anlatı teorisi aracılığıyla bir Satoshi sıralama protokolü geliştirmiştir. Bu sıralama Satoshi'lerin madenciliğine ve işlem girdi ve çıktılarının sırasına dayanmaktadır.

Sıra sayılarını temsil etmenin birkaç farklı yolu vardır:

  • Tam sayı gösterimi: 2099994106992659, Satoshi'nin çıkarılma sırasına göre atanan sıralı bir sayıdır.
  • Ondalık gösterim: 3891094.16797 İlk sayı Satoshi'nin çıkarıldığı bloğun yüksekliğini, ikinci sayı ise Satoshi'nin blok içindeki ofsetini gösterir.
  • Derece gösterimi: 3°111094′214″16797‴. Buna daha sonra değineceğiz.
  • Yüzdelik gösterim: %99,99971949060254. Yüzde olarak ifade edilen, Bitcoin arzında Satoshi'nin konumunu gösterir.

Derece ifadesi dört parça içerir: A°B′C″D‴ ve A, B, C ve D farklı anlamları temsil eder:

  • C: Dönem, 0'dan başlayarak numaralandırılır. (Periyodik döngü: Her altı yarıda bir sihirli bir şey olur: yarıya indirme ve zorluk ayarlaması aynı anda gerçekleşir. Bu sözde bağlaçtır. Kavuşmalar arasındaki zaman periyodu bir döngüdür. Yaklaşık 24 yılda bir gerçekleşecek. Kavuşum, ilk kavuşum 2032'de gerçekleşecek.)
  • Yarılanma döneminde blok endeksi.
  • Zorluk ayarı sırasında blok indeksi.
  • Blok içindeki Satoshi endeksi.

Anlatı teorisi, derece ifadesi yoluyla bir Satoshi'nin sırasını belirler ve sıra aracılığıyla her Satoshi için farklı nadirlik seviyeleri tanımlar, böylece her Satoshi'nin benzersizliğine ulaşılır.

  • Yaygın: Bloktaki ilk olmayan Satoshi.
  • Yaygın olmayan: Her bloğun ilk Satoshi'si.
  • Nadir: Her zorluk ayarlama döngüsünün ilk satoshi'si.
  • Epik: Her yarılanma dönemindeki ilk satoshi.
  • Efsanevi: Her döngünün ilk satoshi'si.
  • Efsane: Genesis bloğundaki ilk Satoshi.

örneğin mevcut bir derece 1°1′0″0‴ olarak ifade edilir; burada

  • 1°: ikinci döngüyü temsil eder
  • 1′: yarıya indirme döngüsü olmayan ilk bloğu temsil eder
  • 0″: zorluk ayarının ilk bloğunu temsil eder
  • 0‴: bloğun ilk satoshisini temsil eder

Yukarıdaki nadirlik tanımıyla bu Satoshi, nadir stoshi olarak tanımlanmaktadır.

Genel süreç aşağıdaki gibidir:

Ordinallerdeki kod aracılığıyla nasıl uygulanır?

py# Yüksekliği verilen bir bloğun anlatımını (ödülünü) hesaplayın

def sübvansiyon (yükseklik):

dönüş 50*100_000_000 >> yükseklik // 210_000

Bu işlev, belirli bir yüksekliğe sahip bir Bitcoin bloğunun ödülünü hesaplamak için kullanılır; burada 50*100_000_000, Bitcoin'in başlangıç ödülüdür, >> sağ kaydırma operatörüdür ve 2 tam sayı bölümüne bölmeye eşdeğerdir. Bu işlev, belirli bir yükseklikteki bir blok için ödül miktarını temsil eden bir tam sayı döndürür.

Belirli bir yükseklikteki bir blok için ilk ödülün sıra numarasını hesaplayın

def ilk_sıra(yükseklik):

başlangıç = 0

aralıktaki h için (yükseklik):

başlangıç += sübvansiyon(h)

dönüş başlangıcı

Bu fonksiyon, belirli bir yükseklikteki bir blok için ilk ödülün sıra sayısını hesaplar. Yükseklikleri yineleyerek ve her blok için ödülleri toplayarak ilk bloktan belirli bir yüksekliğe kadar olan toplam ödül sayısını hesaplayın, böylece ilk ödülün sıra numarası elde edilir.

Verilen bloğa sıra numarası atayın

def atama_ordinals(blok):

ilk = ilk_sıra(blok.yükseklik)

son = ilk + sübvansiyon(blok.yükseklik)

coinbase_ordinals =list(aralık(ilk, son))

Verilen bloğa sıra numarası atayın

def atama_ordinals(blok):

ilk = ilk_sıra(blok.yükseklik)

son = ilk + sübvansiyon(blok.yükseklik)

coinbase_ordinals =list(aralık(ilk, son))

Block.transactions[1:] içindeki işlem için:

sıra sayıları = []

transaction.inputs'a giriş için:

 ordinals.extend(input.ordinals)

transaction.outputs'taki çıktı için:

 çıktı.ordinals = sıra sayıları[:çıkış.değeri] sıra sayılarından 

 [:çıkış.değeri]

coinbase_ordinals.extend(sıra sayıları)

blok.işlemler[0].çıkışlardaki çıktı için:

çıktı.ordinals = coinbase_ordinals[:output.value]

coinbase_ordinals[:output.value]

Bu fonksiyon belirli bir Bitcoin bloğuna sıralı bir sayı atamak için kullanılır. Öncelikle bloğun ilk ve son ödüllerinin sıralı aralığını hesaplar. Daha sonra, bloktaki her işlem üzerinde yinelenir ve her çıkışa bir sıra numarası atar. Son olarak, tüm bloktaki tüm satoshilerin benzersiz sıra numaralarına sahip olmasını sağlamak için işlemin çıktılarına sıra numaraları atanır.

Kısacası, sıralı teori yoluyla, orijinaller, işleme yoluyla her birini temelde aynı Satoshi'ye benzersiz hale getirir ve koleksiyon niteliklerini gerçekleştirerek veya oynanışa uygun kurallar formüle ederek kurallar aracılığıyla her Satoshi için nadir aşinalığı tanımlar.

Kullanım Örneği

  • İlginç: Benzersiz ve ilginç protokoller Bitcoin ekosistemine bir kez daha refah getirecek.
  • Varlık İhracı: BRC-20 tokenleri varlıkların, öz sermayenin veya diğer takas edilebilir varlıkların dijital temsilleri olarak hizmet edebilir. Bunlar stabilcoinler, yardımcı tokenlar veya meme tabanlı tokenlar olabilir.
  • dApp Entegrasyonu: Geliştiriciler, BRC-20 tokenlerini Bitcoin ağını kullanan merkezi olmayan uygulamalara entegre edebilir. Uygulamaları gelir elde etmekten ve teminatlı kredilerden özsermayeye kadar uzanmaktadır.
  • Varlık Tokenizasyonu: Brc-20 standardı, token tabanlı topluluk veya DAO oylaması gibi birçok olasılığın önünü açarak herhangi bir varlığın veya ilginin tokenleştirilmesini kolaylaştırır.
  • Değişim mekanizması: brc-20 tokenleri, Bitcoin ağının ilk katmanında çeşitli platformlar aracılığıyla rahatlıkla değiştirilebilir ve alınıp satılabilir. Şu anda emir defteri aracılığıyla erişilebiliyor olsa da, bunları likidite havuzu borsalarına entegre etme planları yakın zamanda ortaya çıktı.

Arc-20 Teknik uygulama

Atomicals protokolü, Bitcoin gibi harcanmamış işlem çıktılarına (UTXO'lar) sahip bir blok zincirinde dijital nesnelerin (geleneksel olarak değiştirilemez tokenler olarak bilinir) basılması, aktarılması ve güncellenmesi için basit ve esnek bir protokoldür. Atomik (veya "atom"), dijital nesnelerin oluşturulmasını, aktarılmasını ve güncellenmesini yönetmenin bir yoludur; esasen bazı basit kurallarla tanımlanan bir dijital sahiplik zinciridir.

Arc-20, renkli jeton modelini benimser; bu, siparişe göre farklılaşan Brc-20 jetonlarının aksine, bir Arc-20 jetonunun satoshi desteğine sahip olması gerektiği anlamına gelir. Arc-20 tokenleri tamamen satoshiye dayalı olduğundan, bölünüp birleştirilebilirler (makalenin başında bahsedilen UTXO'lara benzer şekilde) ve doğrudan Bitcoin ağı üzerinden aktarılabilirler.

Örneğin Atomicals protokolünü kullanarak 100 satoshiyi 100 “sinema bileti” olarak tanımlayabiliriz ve kullanıcılar bu 100 satoshiden birini Atomicals protokolünü destekleyen bir sinema salonunda sinema bileti görevi görerek ödeme yapmak için kullanabilirler.

Ancak madenciler ve Bitcoin ağı hangi UTXO'ların "Atomikleştirilmiş" olduğunu bilemez, bu da yanlışlıkla Arc-20 tokenlerini madenci ücreti olarak değerlendirebilir. Bu sorunu çözmek için Atomicals, kazara token tahribatını önlemek için her Arc-20 tokeninin bir işlemin ilk çıktısı olması gerektiğini söylüyor.

Kullanım Örneği

  • Dijital koleksiyonlar, medya ve sanat
  • Dijital kimlik, kimlik doğrulama ve jeton geçiş içeriği.
  • Web barındırma ve dosya depolama
  • Noktadan noktaya takaslar ve atomik takaslar
  • Sayısal ad alanı tahsisi
  • Sanal arazi ve tapu kaydı
  • Oyundaki dinamik nesneler ve durumlar
  • Sosyal medya profilleri, gönderiler ve topluluklar
  • Her yerde güvenlik ve merkeziyetsizlik önemli konulardır. Askeri düzeyde güvenlik ve doğrulama gereksinimleriyle.

Brc-20 ve Arc-20

Daha sonra iki protokol arasındaki benzerlikleri ve farklılıkları analiz edip karşılaştıracağız.

Brc-20

Anlaşma kabaca üç aşamaya bölünmüş durumda

  1. Dağıtıcının, tokenın ilgili bilgilerini protokol formatına göre BTC zincirine yazması gerekir.

{

“p”: “brc-20”,

“açık”: “dağıt”,

“kene”: “ordi”,

“maks”: “21000000”,

“lim”: “1000”

}

  1. Dizin oluşturucu, zincirdeki tokenlarla ilgili verileri okur
  2. Zincir dışı defter, ilgili token bakiyelerini ve işlem transferlerini kaydeder

Dağıtıcı jetonu dağıttığında token bilgisinin kendisi BTC tarafından tanınamayacağından, zincirdeki ilgili verileri elde etmek ve bu verileri, ilgili geçmişi kaydetmek ve ilgili verileri işlemek ve gerçekleştirmek için zincir dışında bir defter oluşturmak üzere kullanmak için bir indeksleyiciye ihtiyaç vardır. güncellemeler.

Zincir dışı indeksleyicinin, her token işlemi için çevrimdışı defteri doğru bir şekilde yakalaması ve güncellemesi gerekir. Ancak blockchain'e benzer şekilde, işlem sayısı arttıkça düğümlerin depoladığı veriler giderek büyüyecektir. Defterin bütünlüğünü sağlamak ve büyük miktardaki veri içerisinde değiştirilmesi gereken bilgiyi bulmak BRC-20 için zorlu bir süreç haline gelecektir.

Ark-20

Benzer şekilde Arc-20 protokolünün de tokenları dağıtırken BTC zincirindeki formata göre ilgili bilgileri kaydetmesi gerekiyor.

program.command('init-dft')

.description('Merkezi olmayan düzenleme modunda değiştirilebilir token (FT) atomikini başlat')

.argument('<ticker>', 'string')

.argument('<mint_amount>', 'sayı')

.argument('<max_mints>', 'sayı')

.argument('<mint_height>', 'sayı')

.argument('<file>', 'dize')

.option('—rbf', 'İşlemler için RBF'nin etkinleştirilip etkinleştirilmeyeceği.')

.option('—funding <string>', 'Finansman ve değişiklik için kullanılacak anahtarla birlikte cüzdan takma adını kullan')

.option('—satsbyte <number><sayı>', 'Ücret olarak bayt başına Satoshi', '15')

.option('—mintbitworkc <string>', 'Baskı yapmak için herhangi bir bitwork çalışma kanıtı gerekip gerekmediği. Taahhüt işlemi için geçerlidir.')

.option('—mintbitworkr <string>', 'Baskı yapmak için herhangi bir bitwork çalışma kanıtı gerekip gerekmediği. Açıklama işlemi için geçerlidir.')

.option('—bitworkc <string>', 'Belirteç nanesine herhangi bir bitwork iş kanıtının konulup koyulmayacağı. Taahhüt işlemi için geçerlidir.')

.option('—bitworkr <string>', 'Belirteç nanesine herhangi bir bitwork iş kanıtının konulup koyulmayacağı. Açıklama işlemi için geçerlidir.')

.option('—parent <string>', 'Nane ile birlikte harcanacak bir ebeveyn atomikinin gerekli olup olmadığı.')

.option('—parentowner <string>', 'Nane ile birlikte harcanacak ebeveynin cüzdan sahibi.')

.option('—disablechalk', 'Bitwork madenciliği için her karmanın gerçek zamanlı tebeşirlenmiş günlüğünün devre dışı bırakılıp bırakılmayacağı. Bu bayrağı ayarlamak için madencilik performansında iyileştirmeler yapıldı')

.action(async (ticker, mintAmount, maxMints, mintHeight, dosya, seçenekler) => {

…..

}

Atomals-js cli kaynak kodunda, bir belirtecin başlatılmasına ilişkin talimatları bulabilirsiniz. Zincire kaydedilmesi gereken parametreler şunlardır:

onaylayıcı: belirteç adı

mint_amount: toplam nane miktarı

max_mints: tek bir zamandaki nane sayısı

mint_height: naneyi başlatmak için bloğun yüksekliğini belirtir

dosya: ilgili meta veriler

Ancak Brc20'den farklı olarak Arc20, renkli bir para birimi modelini benimsiyor. Token ile ilgili bilgiler BTC zincirine girildikten sonra, protokol tokenı Sats:1 token = 1 sat ile sabitleyecektir.

Aynı zamanda renkli para birimi modelinin kullanılması, kullanıcıların zincir dışı defterler yerine doğrudan BTC ağı üzerinden işlem yapmalarına olanak tanıyor. Token bakiyesi UTXO'daki satoshilerle tutarlı olduğundan, tokendaki ilgili değişiklikler sezgisel olarak zincire yansıtılabilir. . Arc-20'deki indeksleyici yalnızca zincirdeki tokenlerin ilgili dağıtım bilgilerini okumak ve hangi tokenlerin Arc-20 protokolüyle uyumlu olduğunu doğrulamak için kullanılır.

Çözüm

Brc-20'nin tasarım yapısı daha çok zincir dışı defterlere dayanırken Arc-20, Btc'nin özelliklerine daha uygun ve Brc-20'ye kıyasla daha merkezi olmayan bir yapıya sahip. Bununla birlikte, renkli madeni para modeli Arc-20'nin meme madeni para basımını tamamlamasını engeller, çünkü meme madeni paraları genellikle yüksek toplam token arzına sahiptir ve 1 token = 1 sat özelliği, meme çıkarırken büyük miktarda Btc'nin tüketilmesini gerektirir. madeni paralar.

yazar:https://twitter.com/YanAemons@YanAemons

Yasal Uyarı:

  1. Bu makale [medium]'dan yeniden basılmıştır. Tüm telif hakları orijinal yazara [@YanAemons] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.

Sizi Arc-20 ve Brc-20 protokollerinin derinliklerine götüren bir makale

Orta Seviye2/1/2024, 6:08:55 AM
Bu makale, teknik açıdan iki protokolün ayrıntılarına, avantajlarına ve dezavantajlarına değinmektedir.

Giriş

Son zamanlarda Arc-20 protokolünün tanıtılması, yazıt pazarında bir kez daha çılgınlığa yol açtı. Bu makale iki protokolün ayrıntılarını, avantajlarını ve dezavantajlarını teknik açıdan ele alacaktır.

Neden Brc-20 ve Arc-20 var?

Bitcoin başlangıçta güvenli, istikrarlı ve güvenilir, merkezi olmayan bir dijital para birimi olacak şekilde tasarlandı. Ancak teknik mimarisi ve Ethereum'a kıyasla nispeten daha az esnek kodlama dili nedeniyle Bitcoin, akıllı sözleşmelerin doğrudan yürütülmesi için uygun değildir.

Buna rağmen geliştiricilerin yenilikçi fikirleri ve cesur girişimleri Bitcoin ekosistemine refah getirdi. Tipik bir örnek Brc-20 protokolüdür. Protokolün ana fikri memleri merkeze alan deneysel bir token formudur. Herkes bu tokenleri akıllı sözleşmelere dayanmadan, ilk gelen alır esasına göre doğrudan Bitcoin zinciri üzerinde basabilir. Brc-20 tokeninin temel özelliği, özel satışlar, ön satışlar ve kilit açma veya stake etme gibi mekanizmaları ortadan kaldıran merkezi olmayan yapısıdır. Bu, gerçek anlamda merkezi olmayan bir etkileşim sağlar.

Bu bağlamda Arc-20 protokolü yazıtlara olan ilgiyi bir kez daha ateşledi.

UTXO modeli nedir?

Brc-20 ve Arc-20 protokollerinin her ikisi de Btc zincirini temel alır, bu nedenle Arc-20 protokolünü ve Brc-20 protokolünü resmi olarak tanıtmadan önce, kısaca UTXO'yu (harcanmamış işlem çıktısı) anlayalım.

Bitcoin hakkında konuştuğumuzda UTXO (harcanmamış işlem çıktısı) modeli önemli bir tasarım konseptidir. Bitcoin'in kullandığı, banka hesapları gibi geleneksel bakiye modellerinden farklı bir hesap modeli türüdür.

UTXO modelinde, her Bitcoin işlemi, her çıktının belirli bir miktarda Bitcoin'i temsil ettiği bir dizi harcanmamış çıktı oluşturur. Bu harcanmamış çıktılar, kağıt faturalara veya madeni paralara benzer şekilde, esasen kullanılmayan dijital para birimleridir. Bitcoin aldığınızda, birisi aslında Bitcoin adresinizle ilişkili yeni, harcanmamış bir çıktı yaratmıştır. Bu çıkış UTXO'dur.

UTXO modelini basit bir örnekle açıklayalım:

Biri 0,7 BTC, diğeri 0,5 BTC alan iki işleminiz varsa, biri 0,7 BTC değerinde ve diğeri 0,5 BTC değerinde iki UTXO'nuz olacaktır. 1 BTC ödemek istediğinizde, yalnızca bir UTXO kullanamazsınız, ancak iki UTXO'yu yeni bir UTXO'da birleştirmeniz (toplamda 1,2 BTC) ve ardından kalan 0,2 BTC ile birlikte alıcıya 1 BTC göndermeniz gerekir. değişim olarak kendinize geri döndünüz. Ancak gerçek değişim 0,2 BTC'den az olabilir çünkü işlemin sorunsuz işlemesi için kullanıcıların madencilere işlem ücreti ödemesi gerekiyor.

Brc-20 Protokolü Teknik uygulama

BRC-20, sıralı teori ve yazıtlardan yararlanarak Bitcoin'in 1. katmanında değiştirilebilir tokenlar oluşturma olasılığını gösteren deneysel bir standarttır. Ordinals protokolü (protokol standartlarına göre basılan ilk token), metin, resim veya videolar da dahil olmak üzere içeriğin Bitcoin'in en küçük birimi Satoshi'ye basılmasına ve böylece benzersiz dijital varlıklar yaratılmasına olanak tanır.

Sıra teorisi, BTC ağında yazıtların uygulanmasının anahtarıdır.

Her Satoshi aslında aynıdır ve Ordinaller anlatı teorisi aracılığıyla bir Satoshi sıralama protokolü geliştirmiştir. Bu sıralama Satoshi'lerin madenciliğine ve işlem girdi ve çıktılarının sırasına dayanmaktadır.

Sıra sayılarını temsil etmenin birkaç farklı yolu vardır:

  • Tam sayı gösterimi: 2099994106992659, Satoshi'nin çıkarılma sırasına göre atanan sıralı bir sayıdır.
  • Ondalık gösterim: 3891094.16797 İlk sayı Satoshi'nin çıkarıldığı bloğun yüksekliğini, ikinci sayı ise Satoshi'nin blok içindeki ofsetini gösterir.
  • Derece gösterimi: 3°111094′214″16797‴. Buna daha sonra değineceğiz.
  • Yüzdelik gösterim: %99,99971949060254. Yüzde olarak ifade edilen, Bitcoin arzında Satoshi'nin konumunu gösterir.

Derece ifadesi dört parça içerir: A°B′C″D‴ ve A, B, C ve D farklı anlamları temsil eder:

  • C: Dönem, 0'dan başlayarak numaralandırılır. (Periyodik döngü: Her altı yarıda bir sihirli bir şey olur: yarıya indirme ve zorluk ayarlaması aynı anda gerçekleşir. Bu sözde bağlaçtır. Kavuşmalar arasındaki zaman periyodu bir döngüdür. Yaklaşık 24 yılda bir gerçekleşecek. Kavuşum, ilk kavuşum 2032'de gerçekleşecek.)
  • Yarılanma döneminde blok endeksi.
  • Zorluk ayarı sırasında blok indeksi.
  • Blok içindeki Satoshi endeksi.

Anlatı teorisi, derece ifadesi yoluyla bir Satoshi'nin sırasını belirler ve sıra aracılığıyla her Satoshi için farklı nadirlik seviyeleri tanımlar, böylece her Satoshi'nin benzersizliğine ulaşılır.

  • Yaygın: Bloktaki ilk olmayan Satoshi.
  • Yaygın olmayan: Her bloğun ilk Satoshi'si.
  • Nadir: Her zorluk ayarlama döngüsünün ilk satoshi'si.
  • Epik: Her yarılanma dönemindeki ilk satoshi.
  • Efsanevi: Her döngünün ilk satoshi'si.
  • Efsane: Genesis bloğundaki ilk Satoshi.

örneğin mevcut bir derece 1°1′0″0‴ olarak ifade edilir; burada

  • 1°: ikinci döngüyü temsil eder
  • 1′: yarıya indirme döngüsü olmayan ilk bloğu temsil eder
  • 0″: zorluk ayarının ilk bloğunu temsil eder
  • 0‴: bloğun ilk satoshisini temsil eder

Yukarıdaki nadirlik tanımıyla bu Satoshi, nadir stoshi olarak tanımlanmaktadır.

Genel süreç aşağıdaki gibidir:

Ordinallerdeki kod aracılığıyla nasıl uygulanır?

py# Yüksekliği verilen bir bloğun anlatımını (ödülünü) hesaplayın

def sübvansiyon (yükseklik):

dönüş 50*100_000_000 >> yükseklik // 210_000

Bu işlev, belirli bir yüksekliğe sahip bir Bitcoin bloğunun ödülünü hesaplamak için kullanılır; burada 50*100_000_000, Bitcoin'in başlangıç ödülüdür, >> sağ kaydırma operatörüdür ve 2 tam sayı bölümüne bölmeye eşdeğerdir. Bu işlev, belirli bir yükseklikteki bir blok için ödül miktarını temsil eden bir tam sayı döndürür.

Belirli bir yükseklikteki bir blok için ilk ödülün sıra numarasını hesaplayın

def ilk_sıra(yükseklik):

başlangıç = 0

aralıktaki h için (yükseklik):

başlangıç += sübvansiyon(h)

dönüş başlangıcı

Bu fonksiyon, belirli bir yükseklikteki bir blok için ilk ödülün sıra sayısını hesaplar. Yükseklikleri yineleyerek ve her blok için ödülleri toplayarak ilk bloktan belirli bir yüksekliğe kadar olan toplam ödül sayısını hesaplayın, böylece ilk ödülün sıra numarası elde edilir.

Verilen bloğa sıra numarası atayın

def atama_ordinals(blok):

ilk = ilk_sıra(blok.yükseklik)

son = ilk + sübvansiyon(blok.yükseklik)

coinbase_ordinals =list(aralık(ilk, son))

Verilen bloğa sıra numarası atayın

def atama_ordinals(blok):

ilk = ilk_sıra(blok.yükseklik)

son = ilk + sübvansiyon(blok.yükseklik)

coinbase_ordinals =list(aralık(ilk, son))

Block.transactions[1:] içindeki işlem için:

sıra sayıları = []

transaction.inputs'a giriş için:

 ordinals.extend(input.ordinals)

transaction.outputs'taki çıktı için:

 çıktı.ordinals = sıra sayıları[:çıkış.değeri] sıra sayılarından 

 [:çıkış.değeri]

coinbase_ordinals.extend(sıra sayıları)

blok.işlemler[0].çıkışlardaki çıktı için:

çıktı.ordinals = coinbase_ordinals[:output.value]

coinbase_ordinals[:output.value]

Bu fonksiyon belirli bir Bitcoin bloğuna sıralı bir sayı atamak için kullanılır. Öncelikle bloğun ilk ve son ödüllerinin sıralı aralığını hesaplar. Daha sonra, bloktaki her işlem üzerinde yinelenir ve her çıkışa bir sıra numarası atar. Son olarak, tüm bloktaki tüm satoshilerin benzersiz sıra numaralarına sahip olmasını sağlamak için işlemin çıktılarına sıra numaraları atanır.

Kısacası, sıralı teori yoluyla, orijinaller, işleme yoluyla her birini temelde aynı Satoshi'ye benzersiz hale getirir ve koleksiyon niteliklerini gerçekleştirerek veya oynanışa uygun kurallar formüle ederek kurallar aracılığıyla her Satoshi için nadir aşinalığı tanımlar.

Kullanım Örneği

  • İlginç: Benzersiz ve ilginç protokoller Bitcoin ekosistemine bir kez daha refah getirecek.
  • Varlık İhracı: BRC-20 tokenleri varlıkların, öz sermayenin veya diğer takas edilebilir varlıkların dijital temsilleri olarak hizmet edebilir. Bunlar stabilcoinler, yardımcı tokenlar veya meme tabanlı tokenlar olabilir.
  • dApp Entegrasyonu: Geliştiriciler, BRC-20 tokenlerini Bitcoin ağını kullanan merkezi olmayan uygulamalara entegre edebilir. Uygulamaları gelir elde etmekten ve teminatlı kredilerden özsermayeye kadar uzanmaktadır.
  • Varlık Tokenizasyonu: Brc-20 standardı, token tabanlı topluluk veya DAO oylaması gibi birçok olasılığın önünü açarak herhangi bir varlığın veya ilginin tokenleştirilmesini kolaylaştırır.
  • Değişim mekanizması: brc-20 tokenleri, Bitcoin ağının ilk katmanında çeşitli platformlar aracılığıyla rahatlıkla değiştirilebilir ve alınıp satılabilir. Şu anda emir defteri aracılığıyla erişilebiliyor olsa da, bunları likidite havuzu borsalarına entegre etme planları yakın zamanda ortaya çıktı.

Arc-20 Teknik uygulama

Atomicals protokolü, Bitcoin gibi harcanmamış işlem çıktılarına (UTXO'lar) sahip bir blok zincirinde dijital nesnelerin (geleneksel olarak değiştirilemez tokenler olarak bilinir) basılması, aktarılması ve güncellenmesi için basit ve esnek bir protokoldür. Atomik (veya "atom"), dijital nesnelerin oluşturulmasını, aktarılmasını ve güncellenmesini yönetmenin bir yoludur; esasen bazı basit kurallarla tanımlanan bir dijital sahiplik zinciridir.

Arc-20, renkli jeton modelini benimser; bu, siparişe göre farklılaşan Brc-20 jetonlarının aksine, bir Arc-20 jetonunun satoshi desteğine sahip olması gerektiği anlamına gelir. Arc-20 tokenleri tamamen satoshiye dayalı olduğundan, bölünüp birleştirilebilirler (makalenin başında bahsedilen UTXO'lara benzer şekilde) ve doğrudan Bitcoin ağı üzerinden aktarılabilirler.

Örneğin Atomicals protokolünü kullanarak 100 satoshiyi 100 “sinema bileti” olarak tanımlayabiliriz ve kullanıcılar bu 100 satoshiden birini Atomicals protokolünü destekleyen bir sinema salonunda sinema bileti görevi görerek ödeme yapmak için kullanabilirler.

Ancak madenciler ve Bitcoin ağı hangi UTXO'ların "Atomikleştirilmiş" olduğunu bilemez, bu da yanlışlıkla Arc-20 tokenlerini madenci ücreti olarak değerlendirebilir. Bu sorunu çözmek için Atomicals, kazara token tahribatını önlemek için her Arc-20 tokeninin bir işlemin ilk çıktısı olması gerektiğini söylüyor.

Kullanım Örneği

  • Dijital koleksiyonlar, medya ve sanat
  • Dijital kimlik, kimlik doğrulama ve jeton geçiş içeriği.
  • Web barındırma ve dosya depolama
  • Noktadan noktaya takaslar ve atomik takaslar
  • Sayısal ad alanı tahsisi
  • Sanal arazi ve tapu kaydı
  • Oyundaki dinamik nesneler ve durumlar
  • Sosyal medya profilleri, gönderiler ve topluluklar
  • Her yerde güvenlik ve merkeziyetsizlik önemli konulardır. Askeri düzeyde güvenlik ve doğrulama gereksinimleriyle.

Brc-20 ve Arc-20

Daha sonra iki protokol arasındaki benzerlikleri ve farklılıkları analiz edip karşılaştıracağız.

Brc-20

Anlaşma kabaca üç aşamaya bölünmüş durumda

  1. Dağıtıcının, tokenın ilgili bilgilerini protokol formatına göre BTC zincirine yazması gerekir.

{

“p”: “brc-20”,

“açık”: “dağıt”,

“kene”: “ordi”,

“maks”: “21000000”,

“lim”: “1000”

}

  1. Dizin oluşturucu, zincirdeki tokenlarla ilgili verileri okur
  2. Zincir dışı defter, ilgili token bakiyelerini ve işlem transferlerini kaydeder

Dağıtıcı jetonu dağıttığında token bilgisinin kendisi BTC tarafından tanınamayacağından, zincirdeki ilgili verileri elde etmek ve bu verileri, ilgili geçmişi kaydetmek ve ilgili verileri işlemek ve gerçekleştirmek için zincir dışında bir defter oluşturmak üzere kullanmak için bir indeksleyiciye ihtiyaç vardır. güncellemeler.

Zincir dışı indeksleyicinin, her token işlemi için çevrimdışı defteri doğru bir şekilde yakalaması ve güncellemesi gerekir. Ancak blockchain'e benzer şekilde, işlem sayısı arttıkça düğümlerin depoladığı veriler giderek büyüyecektir. Defterin bütünlüğünü sağlamak ve büyük miktardaki veri içerisinde değiştirilmesi gereken bilgiyi bulmak BRC-20 için zorlu bir süreç haline gelecektir.

Ark-20

Benzer şekilde Arc-20 protokolünün de tokenları dağıtırken BTC zincirindeki formata göre ilgili bilgileri kaydetmesi gerekiyor.

program.command('init-dft')

.description('Merkezi olmayan düzenleme modunda değiştirilebilir token (FT) atomikini başlat')

.argument('<ticker>', 'string')

.argument('<mint_amount>', 'sayı')

.argument('<max_mints>', 'sayı')

.argument('<mint_height>', 'sayı')

.argument('<file>', 'dize')

.option('—rbf', 'İşlemler için RBF'nin etkinleştirilip etkinleştirilmeyeceği.')

.option('—funding <string>', 'Finansman ve değişiklik için kullanılacak anahtarla birlikte cüzdan takma adını kullan')

.option('—satsbyte <number><sayı>', 'Ücret olarak bayt başına Satoshi', '15')

.option('—mintbitworkc <string>', 'Baskı yapmak için herhangi bir bitwork çalışma kanıtı gerekip gerekmediği. Taahhüt işlemi için geçerlidir.')

.option('—mintbitworkr <string>', 'Baskı yapmak için herhangi bir bitwork çalışma kanıtı gerekip gerekmediği. Açıklama işlemi için geçerlidir.')

.option('—bitworkc <string>', 'Belirteç nanesine herhangi bir bitwork iş kanıtının konulup koyulmayacağı. Taahhüt işlemi için geçerlidir.')

.option('—bitworkr <string>', 'Belirteç nanesine herhangi bir bitwork iş kanıtının konulup koyulmayacağı. Açıklama işlemi için geçerlidir.')

.option('—parent <string>', 'Nane ile birlikte harcanacak bir ebeveyn atomikinin gerekli olup olmadığı.')

.option('—parentowner <string>', 'Nane ile birlikte harcanacak ebeveynin cüzdan sahibi.')

.option('—disablechalk', 'Bitwork madenciliği için her karmanın gerçek zamanlı tebeşirlenmiş günlüğünün devre dışı bırakılıp bırakılmayacağı. Bu bayrağı ayarlamak için madencilik performansında iyileştirmeler yapıldı')

.action(async (ticker, mintAmount, maxMints, mintHeight, dosya, seçenekler) => {

…..

}

Atomals-js cli kaynak kodunda, bir belirtecin başlatılmasına ilişkin talimatları bulabilirsiniz. Zincire kaydedilmesi gereken parametreler şunlardır:

onaylayıcı: belirteç adı

mint_amount: toplam nane miktarı

max_mints: tek bir zamandaki nane sayısı

mint_height: naneyi başlatmak için bloğun yüksekliğini belirtir

dosya: ilgili meta veriler

Ancak Brc20'den farklı olarak Arc20, renkli bir para birimi modelini benimsiyor. Token ile ilgili bilgiler BTC zincirine girildikten sonra, protokol tokenı Sats:1 token = 1 sat ile sabitleyecektir.

Aynı zamanda renkli para birimi modelinin kullanılması, kullanıcıların zincir dışı defterler yerine doğrudan BTC ağı üzerinden işlem yapmalarına olanak tanıyor. Token bakiyesi UTXO'daki satoshilerle tutarlı olduğundan, tokendaki ilgili değişiklikler sezgisel olarak zincire yansıtılabilir. . Arc-20'deki indeksleyici yalnızca zincirdeki tokenlerin ilgili dağıtım bilgilerini okumak ve hangi tokenlerin Arc-20 protokolüyle uyumlu olduğunu doğrulamak için kullanılır.

Çözüm

Brc-20'nin tasarım yapısı daha çok zincir dışı defterlere dayanırken Arc-20, Btc'nin özelliklerine daha uygun ve Brc-20'ye kıyasla daha merkezi olmayan bir yapıya sahip. Bununla birlikte, renkli madeni para modeli Arc-20'nin meme madeni para basımını tamamlamasını engeller, çünkü meme madeni paraları genellikle yüksek toplam token arzına sahiptir ve 1 token = 1 sat özelliği, meme çıkarırken büyük miktarda Btc'nin tüketilmesini gerektirir. madeni paralar.

yazar:https://twitter.com/YanAemons@YanAemons

Yasal Uyarı:

  1. Bu makale [medium]'dan yeniden basılmıştır. Tüm telif hakları orijinal yazara [@YanAemons] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!