Mi querida comunidad de habla hispana, como podemos ver se ha estado hablando mucho del Petro en los últimos días, pero la información que rodea esta moneda venezolana hasta el momento ha sido muy vaga, lo cual sólo nos llena de dudas y es por esto que quiero compartirles algo de información relevante que he encontrado.
Mis dudas surgen por la publicación de el colega AbraxasCcs:
...
Segun la primera transacciòn:
{
"addresses": "pQLNTtex6LMCBWu5es6ZeLbd2urSPNS6UV",
"amount": 10000000000000000
}
...
En este momento yo pensé 'que demonios, acaso se basaron en DOGE' pero creo que ni DOGE tiene esa cantidad de unidades, por mi parte trate de indagar más en el tema pero la página de petro.gob.ve no nos revela realmente mucha información.
Así que me vi orillado a usar herramientas sofisticadas para obtener la información que buscaba, por lo cual procedí a hacer un análisis con Nikto.
- ***** RFIURL is not defined in nikto.conf--no RFI tests will run *****
- Nikto v2.1.6
---------------------------------------------------------------------------
- Could not load or parse plugin: nikto_headers
Error:
Can't locate bignum.pm in @INC (you may need to install the bignum module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/nikto/plugins/nikto_headers.plugin line 102.
BEGIN failed--compilation aborted at /usr/share/nikto/plugins/nikto_headers.plugin line 102.
Compilation failed in require at /usr/share/nikto/plugins/nikto_core.plugin line 1610.
- The plugin could not be run.
+ Target IP: 201.249.159.94
+ Target Hostname: explorador.petro.gob.ve
+ Target Port: 443
---------------------------------------------------------------------------
+ SSL Info: Subject: /OU=Domain Control Validated/CN=*.petro.gob.ve
Ciphers: ECDHE-RSA-AES256-GCM-SHA384
Issuer: /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
+ Start Time: 2018-10-15 13:13:13 (GMT-5)
---------------------------------------------------------------------------
+ Server: No banner retrieved
+ Cookie TS01d7253e created without the secure flag
+ Cookie TS01d7253e created without the httponly flag
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Server is using a wildcard certificate: *.petro.gob.ve
+ Allowed HTTP Methods: GET
+ OSVDB-3092: /info/: This might be interesting...
+ 5096 requests: 0 error(s) and 5 item(s) reported on remote host
+ End Time: 2018-10-15 14:31:49 (GMT-5) (4716 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
Esto no reporto mucha información, pero había un dato interesante "OSVDB-3092". Procedí a ver el enlace y voila, ahí estaba toda la documentación del API!
https://explorador.petro.gob.ve/ext/getmoneysupply Un total de 100 millones de petros
https://explorador.petro.gob.ve/ext/getdistribution {"supply":100000000,"t_1_25":{"percent":"99.91","total":"99914981.80000004"},"t_26_50":{"percent":"0.09","total":"85018.20000000"},"t_51_75":{"percent":"0.00","total":"0.00000000"},"t_76_100":{"percent":"0.00","total":"0.00000000"},"t_101plus":{"percent":"0.00","total":"-0.00000004"}}
Nótese el total negativo al final.
https://explorador.petro.gob.ve/ext/getlasttxs/10/100{"data":[{"_id":"5bc3ac3eca1d08462f7a18ef","txid":"209e62a8a81c28f88595a17807ad988c17342ae3545c35c2084b3ebf8b17bf29","blockhash":"42f1070fadf7d4bab43f92fd522943297b94a15f11431d00596a954f307193e5","__v":0,"blockindex":138,"timestamp":1539533296,"total":9979991800000000,"vout":[{"addresses":"pHvoyUAk98CsAyJ8jEXa5QXWXzN76xGsVA","amount":9979491800000000},{"addresses":"pHosNaAavGxjBXaJVQnyrJDcTKDMVqKujz","amount":500000000000}],"vin":[{"addresses":"pD6fz9jQiJwmgkvPok2sNKceYcQRhtNrwY","amount":9979992000000000}]}, ...{"_id":"5bc39f66461b7473255cc57e","txid":"5b4149f8456b3982ec731010b32ea0ca29b9890f9066ceb9dd20822c70a97ede","blockhash":"00000f226b2369dd227393168bfada4b4a494c1003c337906e76a2c69a60c0d1","__v":0,"blockindex":1,"timestamp":1539481057,"total":10000000000000000,"vout":[{"addresses":"pPHVSgP2sxWkgtpHbBwtxEnc1JBSaVvRrs","amount":10000000000000000}],"vin":[{"addresses":"coinbase","amount":10000000000000000}]}]}
Y en este punto fue en donde vi la luz, esa primera transacción de 10000000000000000, simboliza los 100 millones de petros preminados, el problema es que no usan el punto decimal, pero si contemplamos que son 8 ceros después de el punto entonces 10000000000000000 corresponde a 100000000.00000000 lo cual son 100 millones de petros. No estoy seguro de que esto sea una vulnerabilidad o un bug, pero creo que si van a omitir los decimales deberían de hacerlo en todas las secciones del API y cuando los usuarios llamen la función 'getmoneysupply' que esta diga 10000000000000000 y no 100000000.
El tema del petro sigue siendo algo confuso, no entiendo si por el hecho de ser una moneda preminada los mineros no generaran nuevas unidades en cada bloque... Pero bueno, es información relevante para la comunidad y quería compartirla con ustedes ya que me imagino que al igual que yo están llenos de dudas sobre esta moneda.