BIP: 14 Layer: Peer Services Title: Protocol Version and User Agent Autor: Amir Taaki <[email protected]> Patrick Strateman <[email protected]> Comentarii-rezumat: Niciun comentariu inca. Comentarii-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0014 Stare: Tipul final: Crearea standardelor: 2011-11-10 Post-istoric: 2011-11-02

In acest document, bitcoin va fi folosit pentru a se referi la protocol, in timp ce Satoshi se va referi la clientul actual pentru a preveni confuzia.

Situatia trecuta

Bitcoin ca protocol a inceput viata cu clientul Satoshi. Acum ca comunitatea se diversifica, un numar de clienti alternativi cu propriile baze de cod scrise intr-o varietate de limbi (Java, Python, Javascript, C ++) isi dezvolta rapid propriile seturi de caracteristici.

Incorporat in protocol este un numar de versiune. In primul rand, acest numar de versiune se afla in mesajele „versiune” si „getblocks”, dar este si in mesajul „bloc” pentru a indica versiunea software care a creat acel bloc. In prezent, acest numar de versiune este acelasi numar de versiune ca si cel al clientului. Acest document este o propunere de separare a versiunii protocolului de versiunea client, impreuna cu o metoda propusa pentru a face acest lucru.

Justificare

Cu numere de versiune nedepartate, fiecare versiune a clientului Satoshi isi va creste numarul de versiune interna. In primul rand, acest lucru ii tine pe toti ceilalti clienti ostatici unui joc de recuperare cu schemele de numere ale versiunii Satoshi. Acest lucru joaca impotriva naturii descentralizate a bitcoinului, fortand fiecare lansare de software sa ramana in pas cu programul de lansare al unui grup de dezvoltatori de bitcoin.

Bumpingul versiunii poate introduce, de asemenea, incompatibilitati si poate fractura reteaua. Pentru ca sanatatea retelei sa fie mentinuta, dezvoltarea protocolului ca proces de colaborare comun comun necesita separarea de implementarea acelui protocol. Entitatile terte neutre pentru a ghida protocolul cu reprezentanti din toate grupurile, prezinta sansa ca bitcoin sa creasca intr-o maniera pozitiva cu riscuri minime.

Folosind o versiune de protocol, setam toate implementarile din retea la un standard comun. Toata lumea este capabila sa fie de acord in limitele lor ce este protocolul si ce este dependent de implementare. Un sir de agent de utilizator este oferit ca o „placa de vanitate” pentru ca clientii sa se distinga in retea.

Separarea protocolului de retea de implementare si formarea dezvoltarii protocolului mentionat prin intermediul unui consens reciproc intre participanti are dezavantajul democratic atunci cand este greu sa se ajunga la un acord cu privire la chestiuni controversate. Pentru a atenua aceasta problema, sunt necesare canale de comunicare puternice si programe de lansare rapida si sunt in afara sferei de aplicare a acestui document (referitoare la un proces-tip BIP).

Agentii utilizator furnizeaza informatii suplimentare de urmarire, care sunt utile pentru a pastra filele datelor de retea, cum ar fi implementarile clientului utilizate sau arhitecturile / sistemele de operare comune. In cazurile rare, acestea pot oferi chiar si o metoda de urgenta de evitare a clientilor defectisi care ameninta sanatatea retelei – desi aceasta este o forma foarte nerecomandata si extrem de proasta. Agentul utilizator nu ofera o metoda pentru ca clientii sa lucreze si sa se comporte diferit fata de implementari diferite, deoarece acest lucru va duce la fracturarea protocolului.

Pe scurt:

  • Versiunea protocolului: modalitate de a distinge intre noduri si de a te comporta diferit in consecinta.
  • Agent de utilizator: instrument informativ simplu. Protocolul nu trebuie modificat in functie de agentul utilizatorului.

Browser User-Agents

RFC 1945 specifica vag un agent de utilizator pentru a fi un sir al produsului cu comentarii optionale.

Mozilla / 5.0 (X11; U; Linux i686; en-US; rv: 1.9.1.6) Gecko / 20100127 Gentoo Shiretoko / 3.

porno tv anal interacial
madres cachondas anal maduras españolas
zoofilia con abuelas vieja gorda follando
brutal tops compilacion mamadas
maduras latex pilladas de torbes
porno español incestos hombres pajeandose
casadas follando por dinero borracha anal
tetas amaters cfnmwave.com
madre pajea a su hijo jovencitas folladoras
jovencitas folladoras videos porno gay de españoles
porno online gratis follando con las vecinas
porno viejas alemanas carne de mercado xxx
mujeresfollando tetas bailando
inazuma eleven xxx follando en el parque
naomi woods insesto
pornografia gratis gallega porno
porno españolas peludas videos madres lesbianas
porno por el culo metiendo mano en el bus
mujeres fornicando jovencitas españolas follando por dinero
porno chileno porno español creampie

5.6

Agentii utilizator sunt cel mai adesea analizati de computere mai mult decat oamenii. Formatul delimitat de spatiu nu ofera un mod usor, rapid sau eficient de analiza. Datele nu contin nicio structura care sa indice ierarhia in aceasta destinatie de plasare.

Cele mai imediate informatii de acolo sunt produsul browser, motorul de redare si versiunea (Gentoo Shiretoko) impreuna cu numarul versiunii. Diverse alte informatii incluse ca comentarii, cum ar fi mediul desktop, platforma, limba si numarul de revizuire a versiunii.

Propunere

Campul de versiune din pachetele „version” si „getblocks” va deveni numarul versiunii protocolului. Numarul versiunii din „blocuri” reflecta versiunea protocolului de la momentul in care a fost creat blocul respectiv.

Campul sub_version_num neutilizat in prezent in pachetele „versiune” va deveni noul sir agent-utilizator.

Agentii de utilizator Bitcoin sunt un agent de utilizator de browser modificat, cu mai multa structura pentru a ajuta analizatorii si pentru a oferi o anumita coerenta. In bitcoin, software-ul functioneaza de obicei ca o stiva incepand de la baza codului de baza pana la interfata grafica finala. Prin urmare, sirurile de agent utilizator codifica aceasta relatie.

Format de baza:

/Nume:Version/Name:Version/…/

Exemplu:

/Satoshi:5.64/bitcoin-qt:0.4/ /Satoshi:5.12/Spesmilo:0.8/

Aici bitcoin-qt si Spesmilo pot utiliza versiunea de protocol 5.0, totusi baza de cod interna pe care o utilizeaza sunt versiuni diferite ale aceluiasi software. Numerele versiunii nu sunt definite in niciun format strict, desi acest ghid recomanda:

  • Numere de versiune sub forma Major.Minor.Revision (2.6.41)
  • Crearea depozitului utilizand o data in format AAAAAAAA (20110128)

Pentru versiunile de depozitare git, implementarile sunt libere sa foloseasca git commitish. Cu toate acestea, problema consta in faptul ca nu este imediat evident fara depozitul care versiune preceda alta. Din acest motiv, recomandam usor datele in formatul specificat mai sus, desi aceasta nu este nicidecum o cerinta.

Optional -r1, -r2, … poate fi adaugat la numerele de versiune ale agentului utilizator. Aceasta este o alta recomandare usoara, dar nu o cerinta. Implementarile sunt libere sa specifice numerele de versiune in orice format este necesar, in masura in care nu include (,),: sau / pentru a interfera cu sintaxa agentului utilizator.

Este permis si un camp optional de comentarii dupa numarul versiunii. Comentariile ar trebui delimitate intre paranteze (…). Continutul comentariilor este complet implementat, desi acest BIP recomanda utilizarea punctelor si virgulelor; ca delimitator intre informatii.

Exemplu:

/BitcoinJ:0.2(iPad; U; CPU OS 3_2_1) /AndroidBuild:0.8/

Prin urmare, simbolurile rezervate sunt: ​​/: ()

Acestea nu trebuie utilizate in mod gresit dincolo de cele specificate in aceasta sectiune.

  • / separa stiva de coduri
  • : specifica versiunea de implementare a stivei respective
  • (si) delimiteaza un comentariu care separa optional datele folosind;

Cronologie

Cand a fost publicat acest document, protocolul bitcoin si versiunile clientului Satoshi erau in prezent la 0,5 si sufereau modificari. Pentru a minimiza intreruperile si a permite finalizarea modificarilor in curs, urmatoarea versiune a protocolului la 0.6 a devenit eliminata din versiunea client (de asemenea la 0.6). Incepand cu acel moment (ianuarie 2012), numerele de versiuni ale protocolului si ale implementarii sunt diferite intre ele.