Ets desenvolupador de Bitcoin o blockchain? Probablement busqueu escalabilitat, latència de la xarxa, tarifes de transaccions i problemes similars, intentant millorar les cadenes de blocs públiques. La implementació de Bitcoin SegWit té lliçons importants i explicaré aquest projecte en aquest article. Tanmateix, primer explicaré què és Segregated Witness (SegWit).
Adopció de Bitcoin i reptes als quals s’enfronten els usuaris
Bitcoin ha posat el poder en mans de la gent amb la seva xarxa segura i desintermediada i gaudeix d’una gran popularitat. Tot i això, encara no esteu comprant la vostra tassa del matí, oi??
Tot i la popularitat, les transaccions del dia a dia encara no estan a Bitcoin, a causa dels següents reptes:
- Tots els nodes de la xarxa Bitcoin han d’emmagatzemar tots els blocs i transaccions i participar en la validació de les transaccions. Una xarxa Bitcoin només pot ser tan ràpida com el node més lent. Bitcoin utilitza l’algorisme de consens ‘Prova de treball’ (POW) que obliga a la participació de tots els nodes. Llegiu més sobre l’algorisme POW a “PoW vs. PoS: una comparació entre dos algorismes de consens de blockchain “.
- L’algoritme POW requereix que els miners de Bitcoin resolguin un trencaclosques criptogràfics cada vegada més complex, per la qual cosa utilitzen una gran potència informàtica. Això augmenta la càrrega de la xarxa, a més que consumeix molta energia. L’efecte és la latència de la xarxa.
- Els usuaris de Bitcoin volen que les seves transaccions passin ràpidament. Tanmateix, la latència de la xarxa i la manca d’escalabilitat les frenen. Els blocs de Bitcoin només poden gestionar un nombre limitat de transaccions i, per prioritzar les seves transaccions, els usuaris paguen altes taxes de miners. Aquests honoraris van continuar augmentant.
Bitcoin SegWit va resoldre el problema de les comissions de transacció en gran mesura, però es va originar a causa d’un altre problema, que ara explicaré.
Origen de Bitcoin SegWit: mal·leabilitat de Bitcoin
Bitcoin també va tenir un altre problema potencialment greu. Bitcoin utilitza el xifratge de dades, que primer converteix un text pla en un “text xifrat” remenat. Només la persona amb la clau privada pot desxifrar el text xifrat de nou al text pla original mitjançant la clau privada.
La mal·leabilitat és un error d’una tecnologia de xifratge que permet als atacants cibernètics convertir el text xifrat en un altre text xifrat. Els pirates informàtics poden desxifrar el text xifrat modificat en un text clar completament diferent, però relacionat. Per exemple, poden canviar l’adreça del destinatari i l’import del pagament en una transacció de pagament. El xifratge Bitcoin tenia aquest error de mal·leabilitat.
“Segregated Witness (Consensus Layer)”, és a dir, SegWit ‘Proposta de millora de Bitcoin’ (BIP) 141 tractava de resoldre aquest error de mal·leabilitat.
Com la implementació de Bitcoin SegWit va resoldre el problema de mal·leabilitat
El desenvolupador de Bitcoin, Peter Wiulle, va presentar la proposta de SegWit el desembre de 2015. La solució va funcionar de la següent manera:
- Va crear una estructura diferent anomenada “Testimoni”. Té dades per autenticar una transacció, però no té els detalls de la transacció.
- La nova estructura del testimoni està compromesa amb el bloc Bitcoin per separat de la resta de dades de transaccions, d’aquí el nom de “testimoni segregat”.
- Suposem que els pirates informàtics obtenen les dades de la transacció i intenten explotar l’error de mal·leabilitat. Ja no poden accedir a la peça de signatura digital amb SegWit.
- Per tant, fins i tot si aconsegueixen canviar el text xifrat a una altra cosa diferent, el seu esforç no és útil sense la signatura digital.
Així és com la proposta de Bitcoin SegWit planejava resoldre l’error de mal·leabilitat. No obstant això, la proposta va incloure més canvis, que van contribuir a un augment efectiu de la mida del bloc de Bitcoin. Seguiu llegint per esbrinar com fer-ho.
Bitcoin SegWit augmenta efectivament la mida del bloc Bitcoin
La mida del bloc Bitcoin és d’1 Megabyte (MB). A més, la informació de signatura constituïa una bona part de les dades de la transacció, per tant, un bloc només podria incloure algunes transaccions.
La proposta SegWit va crear un paràmetre diferent anomenat “Unitat de pes” (WU). Cada byte de la part de dades de transacció del bloc correspon a 4 WU. No obstant això, cada byte de l’estructura “Testimoni” és igual a 1 WU.
La proposta també definia el pes màxim d’un bloc Bitcoin com a 4 milions de WU. Feu les vostres matemàtiques senzilles i podreu veure com els nous blocs amb SegWit tenen més de 1 MB de mida de manera efectiva. Això va permetre als miners incloure més transaccions en un bloc.
Atès que cada bloc té ara un espai més eficaç, la ferotge competència per incloure una transacció en un bloc es redueix. Al seu torn, això redueix les comissions de transacció!
Si la comunitat Bitcoin decidís anul·lar explícitament el límit de mida de bloc d’1 MB, haurien d’implementar una forquilla dura. Tot i això, les comunitats criptogràfiques sovint no prefereixen les forquilles dures a causa de la inestabilitat que aporten a la xarxa i a l’ecosistema generals.
En el cas de la implementació de Bitcoin SegWit, la regla del límit de mida de bloc d’1 MB es mantenia vigent, però, el nou paràmetre WU l’havia superat. Per tant, no hi havia cap bifurcació dura per implementar SegWit.
Pros i contres de Bitcoin SegWit i adopció
Acabeu de veure com SegWit resolia l’error de mal·leabilitat i reduïa les comissions de transacció de Bitcoin. No obstant això, hi ha avantatges afegits. Penseu en l’exemple de la “Lightning Network”.
Lightning Network és una solució fora de la cadena que permet transaccions de pagament petites i freqüents. Això funciona a la part superior de la cadena de blocs de Bitcoin i no hi registra totes les transaccions. Aquesta solució només registra un resum periòdic de les transaccions a la cadena de blocs de Bitcoin.
Com que el sistema no compromet totes les transaccions intermèdies a la cadena de blocs de Bitcoin, els usuaris necessitaven confiança en que les seves transaccions intermèdies fossin segures. L’error de mal·leabilitat no permetria aquesta confiança. La implementació de Bitcoin SegWit també va ajudar al desenvolupament de Lightning Network.
Tot i els nombrosos avantatges de SegWit, no l’hauríeu de considerar com una solució avançada d’escala de Bitcoin. No es tracta d’una mesura d’escalabilitat automatitzada, sinó que es va passar una sola vegada del límit de mida del bloc de Bitcoin. A més, un augment efectiu de la mida del bloc pot fer que els nodes més lents triguen més a carregar els blocs Bitcoin en el futur.
Bitcoin SegWit es va implementar l’agost del 2017, després de molts debats a la comunitat Bitcoin sobre els seus pros i contres. Tot i això, l’adopció està lluny de ser completa i podeu veure les estadístiques aquí.
Com a desenvolupador de Bitcoin o blockchain, podeu trobar lliçons importants de la implementació de Bitcoin SegWit. Tingueu en compte els aspectes d’escalabilitat, seguretat i descentralització a llarg termini quan desenvolupeu les vostres propostes de millora.