Author

Topic: ¿Alguien sabe cómo ver bien la Metadata del Blockchain? (Read 113 times)

legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
A modo de ejemplo, podemos ver cómo se han utilizado estos métodos de inserción de información en el blockchain recientemente:

1) Coinbase ha solicitado a @f2pool_official que incluya un mensaje determinado en el bloque 679187.

Ver: https://twitter.com/coinbase/status/1382338154053607429, con referencia en el mensaje a https://www.nytimes.com/live/2021/03/10/us/joe-biden-news

2) Un usuario ha creado una pequeña guía para comprender el uso de OP_RETURN de cara a insertar información en la cadena (ver [Beginner Guide] How to Create message on blockchain).

Ejemplo resultante: https://blockchair.com/bitcoin/transaction/cc0ff08e8f14039717fac24e1e80b1a911c03025d42cba3294c68a2cbbf0b95c (ver OP_RETURN abajo a la derecha).
legendary
Activity: 1623
Merit: 1608
Por lo que veo en el hilo anterior, hay varias maneras de poner texto en términos generales, algunos a nivel de TX, otros a nivel de bloque.

Los mineros pueden añadir información arbitraria en el coinbase.

Los usuarios podemos añadir información arbitraria como has indicado al principio del post, pero se generan UTXO que nunca se van a consumir por lo que es totalmente no recomendable y es una de las razones por las que el precio de escribir en la cadena de bloques debe ser caro.

Existe el opcode OP_RETURN para añadir información limitada (generalmente un hash de un documento), y esta es la forma correcta de comprometer (commit) información en la cadena de bloques. El concepto es importante, comprometes información pero no la registras directamente.

En OpenTimestamps se almacena un árbol Merkle en un opcode OP_RETURN, y así puedes comprometer un número arbitrario de documentos en un espacio de la blockchain muy reducido.

Por ejemplo, me encanta añadir imágenes en OpenTimestamps. En el mismo día que saco las fotos con el móvil, las registro en OpenTimestamps. Habré registrado (realmente, "comprometido" o "commiteado") miles de fotos y videos en Bitcoin. Algunas son bastante históricas por el hecho de estar registradas en el mismo momento en que se produjo el evento: las primeras mascarillas de la pandemia en las calles de Madrid, la tormenta Filomena...
legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
He encontrado un par de webs que permiten ver este tipo de textos/gráficos ocultos, aunque el antivirus me ha saltado con el primer enlace, por lo que no pondré el enlace directo por si acaso (yo si lo he probado por eso):

Code:
https[colon]//bitcoinsays[dot]com/930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72
https[colon]//rodwald[dot]pl/thiba/index.php?block=138725
https[colon]//rodwald[dot]pl/thiba/readme[dot]php (estadístico, misma web que el anterior)

Este hilo también versa al respecto: Write text/image in blockchain of bitcoin

Por lo que veo en el hilo anterior, hay varias maneras de poner texto en términos generales, algunos a nivel de TX, otros a nivel de bloque. Tendré que mirarlo con mayor detenimiento para comprenderlo bien.
legendary
Activity: 1623
Merit: 1608
-   Abrir el archivo plano desde Excel (todo va a parar a una única celda), activar "wrap text", y ajustar la amplitud de la celda a mano a base de prueba error.

Más o menos se logra ver, pero no tan nítido como en Ubuntu.

Me parece un plan sin fisuras.  Smiley

Lo único, para verlo perfectamente tienes que imprimirlo en una fuente en la que todos los caracteres tengan el mismo ancho, es decir, por ejemplo, el caracter "i" debe ocupar lo mismo en horizontal que el caracter "M". Se les llama "monospaced fonts". Así, en Times New Roman, que no es monospaced no visualizarías bien las caras. Sin embargo, con una fuente "Courier New" que sí es monospaced, imagino que lo deberías ver perfectamente.
legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
<…>
Gracias @Shawshank, es lo que buscaba. He intentado lograr ver lo mismo en un entorno Windows, pero por ahora lo más aproximado que he logrado es hacerlo de la siguiente manera:

-   Copiar el Hex de https://api.blockcypher.com/v1/btc/main/txs/930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72?limit=50&includeHex=true.

-   Llevarlo a https://www.rapidtables.com/convert/number/hex-to-ascii.html

-   Guardar el resultado en un archivo plano.

-   Abrir el archivo plano desde Excel (todo va a parar a una única celda), activar "wrap text", y ajustar la amplitud de la celda a mano a base de prueba error.

Más o menos se logra ver, pero no tan nítido como en Ubuntu. De hecho, para el último paso hay herramientas que hacen el word wrap online (https://www.browserling.com/tools/word-wrap por ejemplo), pero interpretan caracteres y no se ve igual ni de lejos. Si sigo buscando daré con algo mejor, pero por ahora prefiero tu método al ser robusto.
legendary
Activity: 1623
Merit: 1608
No sé cuáles son esas herramientas que puedes instalar para ver la información que indicas de esas transacciones especiales...

En cualquier caso, voy a dar mi opinión. No es fácil que encuentres una forma estándar para interpretar esos gráficos o textos porque cada uno lo hace de una manera diferente. Algunos pueden añadir nuevas líneas (en hexadecimal, 0x0a) y otros no. Algunos requieren alinear la información con 20 caracteres para que se vea correctamente, otros 30, otros 35, etc.

Por ejemplo, me he tomado el tiempo de ver la transacción que indicas, y el gráfico solo se ve bien cuando eliges 20 caracteres por línea pero eso no se indica en ningún sitio en la transacción.

Una forma rápida de ver texto legible en las transacciones desde la línea de comandos de Ubuntu es directamente ver el contenido de cada bloque en modo texto. Para un fichero arbitrario blk00225.dat sería así:
Code:
cat blk00225.dat


En el caso que pones de ejemplo de la transacción 930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72, he conseguido el gráfico que indicas de la siguiente manera.

1. Obtienes la raw transaction por ejemplo desde aquí:
https://api.blockcypher.com/v1/btc/main/txs/930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72?limit=50&includeHex=true

De la URL anterior obtenemos que la raw transaction en hexadecimal es:
0100000001b6d84aba585ebb50064bc5bed86111b9b3c2fbe5781fcb79ebc9b065b22ef4e400000 0008b48304502207cb18ca2bd10d0c320ce29eeb43b77d993652131353dca7d832eb6ce49c69aed 022100bdf23c6ae1406945e664f13cbbd9d6a69841e1c8b3faaaba2d61f2816a48067d014104349 e6fc2f8b64e12896266027096edf09f947a1fb512de40397cdf93f8c29d2830cf7f0e9d3242f375 1a4b763dc91ed77823a47225ddec6acc0cf5f85f3e251effffffff4e40420f00000000001976a91 481ccb4ee682bc1da3bda70176b7ccc616a6ba9da88ac40420f00000000001976a9142d2d2d4245 47494e20545249425554452d2d2d2088ac40420f00000000001976a914232e2f4269744c656e202 020202020202020202088ac40420f00000000001976a9143a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a 3a3a3a2088ac40420f00000000001976a9143a3a3a3a3a3a3a2e3a3a2e3a3a2e3a2e3a3a3a2088a c40420f00000000001976a9143a2e3a203a2e272027202720272027203a203a2088ac40420f0000 0000001976a9143a2e3a2727202c2c7869572c2234782c2027272088ac40420f00000000001976a 9143a20202c6457575758585858692c3457582c202088ac40420f00000000001976a91427206457 57575858583722202020202060582c2088ac40420f00000000001976a914206c575757585837202 0205f5f2020205f20582088ac40420f00000000001976a9143a575757585837202c785858372720 225e5e582088ac40420f00000000001976a9146c57575758372c205f2e2b2c2c205f2e2b2e2c208 8ac40420f00000000001976a9143a575757372c2e20605e222d22202c5e2d27202088ac40420f00 000000001976a914205757222c583a2020202020202020582c20202088ac40420f0000000000197 6a9142022375e5e586c2e202020205f285f783727202088ac40420f00000000001976a914206c20 28203a583a202020202020205f5f205f2088ac40420f00000000001976a91420602e20222058582 0202c78785757575758372088ac40420f00000000001976a914202029582d20222220345822202e 5f5f5f2e202088ac40420f00000000001976a9142c57205820202020203a586920205f2c2c5f202 088ac40420f00000000001976a914575720582020202020203458697958575758642088ac40420f 00000000001976a9142222202c2c20202020202034585757575758582088ac40420f00000000001 976a9142c205237582c20202020202020225e3434375e2088ac40420f00000000001976a914522c 20223452586b2c2020202020205f2c202c2088ac40420f00000000001976a91454576b202022345 25858692c20202058272c782088ac40420f00000000001976a9146c54576b2c2020223452525237 2720342058482088ac40420f00000000001976a9143a6c5757576b2c20205e22202020202060342 02088ac40420f00000000001976a9143a3a5454585757692c5f2020586c6c203a2e2e2088ac4042 0f00000000001976a9143d2d3d2d3d2d3d2d3d2d3d2d3d2d3d2d3d2d3d2088ac40420f000000000 01976a9144c454e20227261626269222053415353414d412088ac40420f00000000001976a91420 20202020313938302d3230313120202020202088ac40420f00000000001976a9144c656e2077617 3206f757220667269656e642e2088ac40420f00000000001976a91441206272696c6c69616e7420 6d696e642c20202088ac40420f00000000001976a91461206b696e6420736f756c2c20616e64202 0202088ac40420f00000000001976a9146120646576696f757320736368656d65723b202088ac40 420f00000000001976a91468757362616e6420746f204d657265646974682088ac40420f0000000 0001976a91462726f7468657220746f2043616c76696e2c202088ac40420f00000000001976a914 736f6e20746f204a696d20616e6420202020202088ac40420f00000000001976a91444616e61204 861727473686f726e2c202020202088ac40420f00000000001976a914636f617574686f7220616e 64202020202020202088ac40420f00000000001976a914636f666f756e64657220616e642020202 020202088ac40420f00000000001976a91453686d6f6f20616e6420736f206d75636820202088ac 40420f00000000001976a9146d6f72652e20205765206465646963617465202088ac40420f00000 000001976a914746869732073696c6c79206861636b20746f202088ac40420f00000000001976a9 144c656e2c2077686f20776f756c6420686176652088ac40420f00000000001976a914666f756e6 4206974206162736f6c7574656c792088ac40420f00000000001976a91468696c6172696f75732e 2020202020202020202088ac40420f00000000001976a9142d2d44616e204b616d696e736b792c2 02020202088ac40420f00000000001976a91454726176697320476f6f6473706565642020202088 ac40420f00000000001976a914502e532e20204d792061706f6c6f676965732c2088ac40420f000 00000001976a914426974436f696e2070656f706c652e202048652088ac40420f00000000001976 a914616c736f20776f756c642068617665202020202088ac40420f00000000001976a9144c4f4c2 76420617420426974436f696e2773202088ac40420f00000000001976a9146e657720646570656e 64656e63792075706f6e2088ac40420f00000000001976a9142020204153434949204245524e414 e4b4520202088ac40420f00000000001976a9143a273a3a2e3a3a3a3a3a2e3a3a3a2e3a3a2e3a20 88ac40420f00000000001976a9143a203a2e3a2027202720272027203a203a273a2088ac40420f0 0000000001976a9143a2e3a20202020205f2e5f5f20202020272e3a2088ac40420f000000000019 76a9143a2020205f2c5e22202020225e782c2020203a2088ac00127a00000000001976a9147157d 72f88812b481892298cc42830e1ca2532c288ac40420f00000000001976a9142720207837272020 20202020202060342c20202088ac40420f00000000001976a91420c2b45e2020202020202020202 02020205e5e2088ac40420f00000000001976a91420585837202020202020202020202020345858 2088ac40420f00000000001976a914205858202020202020202020202020202058582088ac40420 f00000000001976a91420586c202c7878782c2020202c7878782c58582088ac40420f0000000000 1976a914282027205f2c2b6f2c207c202c6f2b2c2220202088ac40420f00000000001976a914203 4202020222d5e27205820225e2d272220372088ac40420f00000000001976a914206c2c20202020 202820292920202020202c582088ac40420f00000000001976a914203a58782c5f202c785858587 8782c5f2c58582088ac40420f00000000001976a91420203458586958272d5f5f5f2d6058585858 272088ac40420f00000000001976a914202020345858692c5f2020205f6958583727202088ac404 20f00000000001976a91420202c2060345858585858585858585e205f2c2088ac40420f00000000 001976a914202058782c202022225e5e5e5858372c7858202088ac40420f00000000001976a9145 72c22345757782c5f205f2c587857575837272088ac40420f00000000001976a9145877692c2022 34575737222234575737272c572088ac40420f00000000001976a91454585857772c205e3720586 b203437202c57482088ac40420f00000000001976a9143a5458585857772c5f2022292c202c7757 543a2088ac40420f00000000001976a9143a3a54545858575757206c586c205757543a202088ac4 0420f00000000001976a9142d2d2d2d454e4420545249425554452d2d2d2d2088ac00000000

2. Creamos un archivo con el contenido anterior, al que podemos llamar hextransaction.txt
3. Visualizamos el documento de números hexadecimales en modo texto. Para eso, desde la línea de comandos de Ubuntu ejecutamos:
Code:
cat hextransaction.txt | xxd -r -p

Y se muestra lo siguiente:
��J�X^�PKž�a�����x�y�ɰe�.���H0E |������ �)��;wٓe!15=�}�.��Iƚ�!��            ��_>%����N@Bv��̴�h+��;�pk|�ajk�ڈ�@Bv�---BEGIN TRIBUTE--- ��@Bv�#./BitLen           ��@Bv�::::::::::::::::::: ��@Bv�:::::::.::.::.:.::: ��@Bv�:.: :.' ' ' ' ' : : ��@Bv�:.:'' ,,xiW,"4x, '' ��@Bv�:  ,dWWWXXXXi,4WX,  ��@Bv�' dWWWXXX7"     `X, ��@Bv� lWWWXX7   __   _ X ��@Bv�:WWWXX7 ,xXX7' "^^X ��@Bv�lWWWX7, _.+,, _.+., ��@Bv�:WWW7,. `^"-" ,^-'  ��@Bv� WW",X:        X,   ��@Bv� "7^^Xl.    _(_x7'  ��@Bv� l ( :X:       __ _ ��@Bv� `. " XX  ,xxWWWWX7 ��@Bv�  )X- "" 4X" .___.  ��@Bv�,W X     :Xi  _,,_  ��@Bv�WW X      4XiyXWWXd ��@Bv�"" ,,      4XWWWWXX ��@Bv�, R7X,       "^447^ ��@Bv�R, "4RXk,      _, , ��@Bv�TWk  "4RXXi,   X',x ��@Bv�lTWk,  "4RRR7' 4 XH ��@Bv�:lWWWk,  ^"     `4  ��@Bv�::TTXWWi,_  Xll :.. ��@Bv�=-=-=-=-=-=-=-=-=-= ��@Bv�LEN "rabbi" SASSAMA ��@Bv�     1980-2011      ��@Bv�Len was our friend. ��@Bv�A brilliant mind,   ��@Bv�a kind soul, and    ��@Bv�a devious schemer;  ��@Bv�husband to Meredith ��@Bv�brother to Calvin,  ��@Bv�son to Jim and      ��@Bv�Dana Hartshorn,     ��@Bv�coauthor and        ��@Bv�cofounder and       ��@Bv�Shmoo and so much   ��@Bv�more.  We dedicate  ��@Bv�this silly hack to  ��@Bv�Len, who would have ��@Bv�found it absolutely ��@Bv�hilarious.          ��@Bv�--Dan Kaminsky,     ��@Bv�Travis Goodspeed    ��@Bv�P.S.  My apologies, ��@Bv�BitCoin people.  He ��@Bv�also would have     ��@Bv�LOL'd at BitCoin's  ��@Bv�new dependency upon ��@Bv�   ASCII BERNANKE   ��@Bv�:'::.:::::.:::.::.: ��@Bv�: :.: ' ' ' ' : :': ��@Bv�:.:     _.__    '.: ��@Bv�:   _,^"   "^x,   : ��zv�qW�/��+H�)��(0��%2�@Bv�'  x7'        `4,   ��@Bv� ´^             ^^ ��@Bv� XX7            4XX ��@Bv� XX              XX ��@Bv� Xl ,xxx,   ,xxx,XX ��@Bv�( ' _,+o, | ,o+,"   ��@Bv� 4   "-^' X "^-'" 7 ��@Bv� l,     ( ))     ,X ��@Bv� :Xx,_ ,xXXXxx,_,XX ��@Bv�  4XXiX'-___-`XXXX' ��@Bv�   4XXi,_   _iXX7'  ��@Bv�  , `4XXXXXXXXX^ _, ��@Bv�  Xx,  ""^^^XX7,xX  ��@Bv�W,"4WWx,_ _,XxWWX7' ��@Bv�Xwi, "4WW7""4WW7',W ��@Bv�TXXWw, ^7 Xk 47 ,WH ��@Bv�:TXXXWw,_ "), ,wWT: ��@Bv�::TTXXWWW lXl WWT:  ��@Bv�----END TRIBUTE---- ��


Aquí se ve que es un lío. No hay nuevas líneas que den formato, y además, evidentemente, hay caracteres no imprimibles que son necesarios para que la transacción sea válida y cumpla el protocolo.

4. Con un poco de prueba y error se comprueba que la visualización óptima para esta transacción es de 20 caracteres por línea. Así que desde línea de comandos se ejecuta:
Code:
cat hextransaction.txt | xxd -r -p | sed -e "s/.\{20\}/&\n/g"

Code:
��J�X^�PKž�a�����x�y�ɰe�.���H0E |������ �)��;wٓe!15=�}�.��Iƚ�!��            ��_>%����N@Bv��̴�h+��;�pk|�ajk�ڈ�@Bv�---BEGIN TRIBUTE---
 ��@Bv�#./BitLen          
 ��@Bv�:::::::::::::::::::
 ��@Bv�:::::::.::.::.:.:::
 ��@Bv�:.: :.' ' ' ' ' : :
 ��@Bv�:.:'' ,,xiW,"4x, ''
 ��@Bv�:  ,dWWWXXXXi,4WX,
 ��@Bv�' dWWWXXX7"     `X,
 ��@Bv� lWWWXX7   __   _ X
 ��@Bv�:WWWXX7 ,xXX7' "^^X
 ��@Bv�lWWWX7, _.+,, _.+.,
 ��@Bv�:WWW7,. `^"-" ,^-'
 ��@Bv� WW",X:        X,  
 ��@Bv� "7^^Xl.    _(_x7'
 ��@Bv� l ( :X:       __ _
 ��@Bv� `. " XX  ,xxWWWWX7
 ��@Bv�  )X- "" 4X" .___.
 ��@Bv�,W X     :Xi  _,,_
 ��@Bv�WW X      4XiyXWWXd
 ��@Bv�"" ,,      4XWWWWXX
 ��@Bv�, R7X,       "^447^
 ��@Bv�R, "4RXk,      _, ,
 ��@Bv�TWk  "4RXXi,   X',x
 ��@Bv�lTWk,  "4RRR7' 4 XH
 ��@Bv�:lWWWk,  ^"     `4
 ��@Bv�::TTXWWi,_  Xll :..
 ��@Bv�=-=-=-=-=-=-=-=-=-=
 ��@Bv�LEN "rabbi" SASSAMA
 ��@Bv�     1980-2011    
 ��@Bv�Len was our friend.
 ��@Bv�A brilliant mind,  
 ��@Bv�a kind soul, and  
 ��@Bv�a devious schemer;
 ��@Bv�husband to Meredith
 ��@Bv�brother to Calvin,
 ��@Bv�son to Jim and    
 ��@Bv�Dana Hartshorn,    
 ��@Bv�coauthor and      
 ��@Bv�cofounder and      
 ��@Bv�Shmoo and so much  
 ��@Bv�more.  We dedicate
 ��@Bv�this silly hack to
 ��@Bv�Len, who would have
 ��@Bv�found it absolutely
 ��@Bv�hilarious.        
 ��@Bv�--Dan Kaminsky,    
 ��@Bv�Travis Goodspeed  
 ��@Bv�P.S.  My apologies,
 ��@Bv�BitCoin people.  He
 ��@Bv�also would have    
 ��@Bv�LOL'd at BitCoin's
 ��@Bv�new dependency upon
 ��@Bv�   ASCII BERNANKE  
 ��@Bv�:'::.:::::.:::.::.:
 ��@Bv�: :.: ' ' ' ' : :':
 ��@Bv�:.:     _.__    '.:
 ��@Bv�:   _,^"   "^x,   :
 ��zv�qW�/��+H�)��(0��%2�@Bv�'  x7'        `4,  
 ��@Bv� ´^             ^^
��@Bv� XX7            4XX
 ��@Bv� XX              XX
 ��@Bv� Xl ,xxx,   ,xxx,XX
 ��@Bv�( ' _,+o, | ,o+,"  
 ��@Bv� 4   "-^' X "^-'" 7
 ��@Bv� l,     ( ))     ,X
 ��@Bv� :Xx,_ ,xXXXxx,_,XX
 ��@Bv�  4XXiX'-___-`XXXX'
 ��@Bv�   4XXi,_   _iXX7'
 ��@Bv�  , `4XXXXXXXXX^ _,
 ��@Bv�  Xx,  ""^^^XX7,xX
 ��@Bv�W,"4WWx,_ _,XxWWX7'
 ��@Bv�Xwi, "4WW7""4WW7',W
 ��@Bv�TXXWw, ^7 Xk 47 ,WH
 ��@Bv�:TXXXWw,_ "), ,wWT:
 ��@Bv�::TTXXWWW lXl WWT:
 ��@Bv�----END TRIBUTE----


¡Y ya está! Ahí está el gráfico que has puesto. ¡Se descubre que el mensaje es aún más largo de lo que has publicado y además aparece al final la cara de Ben Bernanke!
hero member
Activity: 782
Merit: 523
--- I ❤ Ƀ ---
Vaya.

Me he emocionado un poco leyendo el artículo.

Me ha recordado un poco a Vincent van Gogh, también murió en circunstancias dramáticas, y en vida sólo vendió un cuadro; o sea que su obra no se le reconoció hasta después de su muerte.

Gracias por compartir el artículo DdmrDdmr.

Sea como fuera, Len Sassaman, descansa en paz.

Un saludo.
legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
Estaba leyendo un artículo sobre un candidato a haber sido Satoshi (ver https://www.criptonoticias.com/comunidad/experto-criptografia-len-sassaman-ser-creador-bitcoin/) (*), y aunque hemos visto en varias ocasiones publicaciones sobre información almacenada en el Metadata del Blockchain, no he dado de forma rápida con un visor de la misma.

El artículo cita que en el bloque 138725 (creo que en la TX 930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72), se introdujo la siguiente Metadata:


He visto referencias a herramientas que te instalas para ver este contenido, pero quería ver si alguien sabe de alguna web que nos permita ver a todos esta información, tal y como se muestra en la imagen anterior, de manera abierta y sin instalar nada. Pensaba que con los exploradores de Blockchain podría llegar a verlo, pero no he visto ninguno que lo permita.

(*) Lo del candidato aquí a Satoshi es lo de menos, pero el artículo si es interesante de leer.
Jump to: