Cualquier documentación con la descripción matemática de Bitcoin existen?

Cualquier documentación con la descripción matemática de Bitcoin existen? Algunas de las documentaciones como YellowPaper en Etereum?

+532
Jody Harrison Agerton 23 feb. 2016 3:39:55
25 respuestas

Estoy listo para poner algunas de mis BTC holdings en un par de diferentes almacenamiento en frío de carteras. Pasé por el proceso ya se está moviendo alrededor de un par de mBits como pruebas, creó las teclas en un PC sin conexión, envía real de fondos, y luego corrió a la importación en bitcoin-qt, todo bien por allí!

Mi preocupación es esta, Si me muevo un par de BTC en 1BTC carteras, ¿ me tiene que preocuparse acerca de cualquier Cambio en la Dirección de asuntos si yo simplemente ignorarlos completamente por un largo tiempo? Suponiendo que mi claves privadas se mantienen a salvo a lo largo del tiempo, es allí cualquier manera de la que puedo perder los fondos de esta manera? No tengo la intención de hacer más depósitos en cualquiera de estas carteras, si mis fondos a crecer voy a mantener a otro caliente la cartera o la instalación de más de almacenamiento en frío. Yo también no piensa en el retiro de fondos en cualquier momento, cuando lo haga será un barrido completo por la cartera.

Antes de proceder con el envío de mi ganado duro minería BTC a cada dirección, quiero asegurarme de que voy a tomar todas las precauciones adecuadas, cualquier ayuda BTC pros es muy apreciado.

+985
akh22 03 февр. '09 в 4:24

Una transacción que pasa de un P2PKH de salida proporciona la firma y la clave pública en el script de entrada. Así que la clave pública es parte de los datos de la transacción, sólo los gastos de la transacción, no la salida de la creación de transacción.

+952
gaoshan88 27 jun. 2011 21:14:00

Ver el Árbol Merkle Ejemplo:

tenga en cuenta que el orden de los bytes para la visualización de estos hash es básicamente exactamente al revés vs normal notación estoy usando el hex cadenas sin citas para mostrar bytes-como-que-podría-ser-en-la memoria y en las citas para mostrar uint256s en hexadecimal como en blockexplorer o devueltos por bitcoin rpc

tx hashes para que el bloque: "3a459eab5f0cf8394a21e04d2ed3b2beeaa59795912e20b9c680e9db74dfb18c" "be38f46f0eccba72416aed715851fd07b881ffb7928b7622847314588e06a6b7" "d173f2a12b6ff63a77d9fe7bbb590bdb02b826d07739f90ebb016dc9297332be" "59d1e83e5268bbb491234ff23cbbf2a7c0aa87df553484afee9e82385fc7052f" "f1ce77a69d06efb79e3b08a0ff441fa3b1deaf71b358df55244d56dd797ac60c" "84053cba91fe659fd3afa1bf2fd0e3746b99215b50cd74e44bda507d8edf52e0" de nuevo, que es cuando usted lea como uint256s, "little-endian" todos los manera, por lo que "bytes en la memoria" que son los que realmente son: 8cb1df74dbe980c6b9202e919597a5eabeb2d32e4de0214a39f80c5fab9e453a b7a6068e5814738422768b92b7ff81b807fd515871ed6a4172bacc0e6ff438be ... por eso, para empezar merkle edificio, hacemos sha256(sha256(h1 . h2)) para las dos primeras resultado: 2dd3ce205cf8d03f773d46d24becfd72c766deaa0d1327d7e4c810265f59a313 de nuevo léase al revés, porque nos muestra cosas en little-endian, y... "13a3595f2610c8e4d727130daade66c772fdec4bd2463d773fd0f85c20ced32d" parece familiar? hacer lo mismo para "d173..." y "59d1..." y... "f6ae335dc2d2aecb6a255ebd03caaf6820e6c0534531051066810080e0d822c8" última pareja... "a751efbeabe73bdf9d08df5760104feff915d9d807d4c62178cdeb98d8c25f43"

ahora solo tenemos 3, lo último que uno obtiene concat d con sí mismo "13a3595f2610c8e4d727130daade66c772fdec4bd2463d773fd0f85c20ced32d" "f6ae335dc2d2aecb6a255ebd03caaf6820e6c0534531051066810080e0d822c8" da "59545fd8dfdd821ca7accecab0655d77437f5bba5aaa5ea8c042a26bc9ae514b"

"a751efbeabe73bdf9d08df5760104feff915d9d807d4c62178cdeb98d8c25f43" "a751efbeabe73bdf9d08df5760104feff915d9d807d4c62178cdeb98d8c25f43" da "15eca0aa3e2cc2b9b4fbe0629f1dda87f329500fcdcd6ef546d163211266b3b3"

y el último nivel del árbol "59545fd8dfdd821ca7accecab0655d77437f5bba5aaa5ea8c042a26bc9ae514b" "15eca0aa3e2cc2b9b4fbe0629f1dda87f329500fcdcd6ef546d163211266b3b3" da "9cdf7722eb64015731ba9794e32bdefd9cf69b42456d31f5e59aedb68c57ed52"

+928
vvTim 17 ago. 2010 14:59:11

Si ha realizado más de 100 transacciones individuales y recibir direcciones combinado, sí.

La mejor manera de averiguarlo es a tratar.

+917
Alan Gee 28 nov. 2013 18:22:18

Yo no soy un experto, pero de acuerdo a su presupuesto, no sería rentable.

Por ejemplo, para hacer suficientes monedas para romper incluso, se necesita invertir al menos US$3000. Pero el problema es que no hay ninguna ASIC máquina ahora que cuesta mucho. Usted puede tratar de CoinTerra. Tienen un 2 THash/s miner que puede hacer una buena cantidad de dinero, pero usted tendrá que gastar unos US$6000 dólares por unidad.

+883
besjana hysa 16 oct. 2012 16:15:07

Bitcoin 0.11 sobre una Raspberry Pi 2:

https://github.com/jgarzik/python-bitcoinrpc

Estoy usando este RPC de la autenticación de proxy para hablar con bitcoind de Python. Tengo un script que las solicitudes de getmempoolinfo cada 1 segundo. De vez en cuando la entrada del usuario una nueva dirección es necesaria, y la secuencia de comandos de solicitudes getnewaddress. Este RPC-llamada a menudo el tiempo de espera.

A veces el tiempo hace incluso más raro comportamiento en otras llamadas RPC hasta que python se interrumpe y la secuencia de comandos muertos: por ejemplo, getmempoolinfo devuelve la misma información cada vez que se llama hasta que el script se reinicia. Incluso la consulta de bitcoind desde la línea de comandos en una terminal separada de la ventana de bitcoin-cli getmempoolinfo indica que el mempool no está creciendo en todo, hasta que el script que agotado el tiempo de espera de llamadas getnewaddress se termina.

También noto desde la línea de comandos bitcoin-cli getnewaddress puede tomar hasta 30 segundos, sin ningún tipo de secuencias de comandos de python ejecución o de otros en progreso de llamadas RPC.

Pensé bitcoind se acaba de recuperar de una nueva dirección de la cartera.dat, ¿qué está tomando tanto tiempo? No es descifrar la cartera, no es la generación de una nueva dirección de la entropía... sin embargo, esta específica llamada RPC que me está causando un montón de problemas indirectos.

+869
kpmoore 21 jul. 2012 21:46:05

El rendimiento de la lengua no es el factor más importante en un trozo de código. El margen de error es el más grande creo. C si eres muy bueno en la escritura C, a continuación, hacerlo en C. Python elsewise simplemente porque es más difícil escribir estrellarse código erróneo. Ah, y PHP si quieres un idioma que te premia por escrito código descuidado. :P

También python se integra con C libs con bastante facilidad, por lo que siempre se podía escribir su eficiente piezas en C, entonces la importación de sus funciones en python.

+867
Iana 31 oct. 2010 8:17:02

Me ha enviado una transacción sin un minero de la cuota y la necesito para claro tan pronto como sea posible. Pero, como lo que puedo decir es que va a tardar días si va a través de todo. Hay alguna manera de que yo pueda pagar una cuota en la parte superior de lo que ya he enviado?

+862
Rushabh Madhu 3 nov. 2019 6:33:57

Estoy tratando de convertir una dirección bitcoin y tiene el siguiente código desde aquí (Calcular Segwit dirección de dirección pública, 2ª respuesta):

Paso1: $ printf 1L88S26C5oyjL1gkXsBeYwHHjvGvCcidr9 > adr.txt
Paso 2: $ printf $( cat adr.txt | sed 's/[[:xdigit:]]\{2\}/\\x&/g' ) >adr.hex
Paso 3: $ openssl dgst -sha256 -binario <ral.hex >tmp_sha256.hex
Paso 4: $ openssl dgst -ripemd160 <tmp_sha256.hex
## resultado debe ser: 56379c7bcd6b41188854e74169f844e8676cf8b8

Ahora yo quiero hacer esto en Java. Actualmente tengo el siguiente código. No importa lo que yo trato, yo no obtener el resultado correcto. :(

Cadena dirección = "1L88S26C5oyjL1gkXsBeYwHHjvGvCcidr9"; // paso 1
Sistema.a cabo.println("dirección:" + dirección);
Cadena de addressHex = toHex(dirección);
Sistema.a cabo.println("dirección hex:" + addressHex);
byte[] addressBytes = addressHex.getBytes(StandardCharsets.UTF_8); // paso 2
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digerir.digest(addressBytes); // paso 3
RIPEMD160Digest digest2 = new RIPEMD160Digest(); // los pasos 4
digest2.actualización(hash, 0, hash.longitud);
byte[] a = new byte[20];
digest2.doFinal(out, 0);
Sistema.a cabo.println("resultado:" + bytesToHex(a)); // = 62ab42cba5d2632d1350fafb2587f5d2ece445d3
 // debe ser 56379c7bcd6b41188854e74169f844e8676cf8b8

Salida:

dirección: 1L88S26C5oyjL1gkXsBeYwHHjvGvCcidr9
dirección hex: 314c383853323643356f796a4c31676b58734265597748486a764776436369647239
resultado: 62ab42cba5d2632d1350fafb2587f5d2ece445d3

Alguien me puede ayudar? Creo que el problema está en algún lugar de hacer la conversión de Cadena/hex/byte ...? Me trató muy duro, pero no puede encontrar la forma correcta de hacerlo.

También traté de convertir la dirección hex y después de que los bytes, pero no funciona ninguno de los dos. :/

// actualizado el post ... todavía no mostrar el resultado correcto :/

// update2:

byte[] dirección = ("1L88S26C5oyjL1gkXsBeYwHHjvGvCcidr9").getBytes();
Sistema.a cabo.println("dirección de la matriz de bytes:" + dirección);
Cadena de addressHex = bytesToHex(dirección);
Sistema.a cabo.println("dirección hex:" + addressHex);
byte[] addressBytes = addressHex.getBytes();
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digerir.digest(addressBytes);
RIPEMD160Digest digest2 = new RIPEMD160Digest();
digest2.actualización(hash, 0, hash.longitud);
byte[] a = new byte[20];
digest2.doFinal(out, 0);
Sistema.a cabo.println("resultado:" + bytesToHex(a));

Salida

dirección de byte de la matriz: [[email protected]
dirección hex: 314c383853323643356f796a4c31676b58734265597748486a764776436369647239
resultado: 62ab42cba5d2632d1350fafb2587f5d2ece445d3
+824
wingsenforcer 31 mar. 2013 11:30:23

Más popular es BitMit.com

También puede consultar la lista completa en la wiki de bitcoin.

+718
Sharissa 29 jun. 2018 22:50:43

Hasta la última versión (v0.9.3), más los compañeros que realmente significa la más lenta sincronización normalmente, porque nosotros realmente sólo se recuperan de un interlocutor único.

La próxima versión (v0.10.0) tiene un completamente reescrito bloque de captura/mecanismo de validación, la cual es la primera valida los encabezados y, a continuación, recoge los bloques de todos los compañeros en paralelo. El resultado debe ser mucho más rápido de sincronización.

+621
MadNik 25 oct. 2015 6:50:37

Entiendo que un bloque se genera cada vez que una prueba de trabajo es presentado por un minero; esto sucede cuando el minero de los procesos de un transacción

Eso no es correcto. Los mineros no presentar un bloque (prueba de trabajo) cuando se procesa una transacción. Él hace cuando se encuentra a una cuadra de hash que era válido.

Que puede tomar un largo tiempo y en el momento en que él busca un buen bloque, recibirá probablemente miles de transacciones.

Se verificará a los que vienen y los puso en el bloque que está trabajando en la actualidad, todos ellos, uno por uno (hasta que se alcanza el límite). Cuando, a continuación, se encuentra un válido hash del bloque, se va a presentar todo el bloque que consta de todos, o la mayoría de las transacciones se recibió.

Así que, para responder a sus preguntas, las transacciones no necesariamente obtener más lenta con el tiempo, con la condición de que el límite superior de las transacciones en un bloque es lo suficientemente alto. Si el límite es demasiado baja, puede surgir un cuello de botella para las transacciones tratando de ser verificado.

Para su INFORMACIÓN: Usted puede ver que todos los mineros tienen todas las transacciones en su trabajo de bloque, pero sólo uno de ellos puede presentar el bloque. Para impedir que las transacciones que ocurren dos veces, una vez que un minero recibe una nueva válido bloque de un compañero minero, se comprueba lo que las transacciones en su piscina también están en ese bloque. Él va a quitar de su piscina y continúa de minería de datos para el siguiente bloque con las transacciones de su piscina que no estaban en el bloque de los compañeros minero.

+600
merlog9 5 abr. 2012 13:58:26

Checkout bitcoinj rama master

Discusión https://github.com/bitcoinj/bitcoinj/pull/1341

 Cartera walletBip39 = Cartera.fromSeed(params, semillas);
Sistema.a cabo.println(walletBip39);

 Cartera walletBip44 = Cartera.fromSeed(params, semillas, ImmutableList.de los(nuevos ChildNumber(44, true), nueva ChildNumber(0, true), ChildNumber.ZERO_HARDENED, ChildNumber.CERO));
Sistema.a cabo.println(walletBip44);
+539
Joe 11 oct. 2014 3:30:28

En el intercambio, bittrex tiene la herramienta donde. que cuando recibe otra divisa que se vende de forma automática y obtener bitcoin. Bittrex -> Labs -> Auto-Venta

Yo creo que ella es la mejor alternativa. https://bittrex.com/Lab/AutoSell

+471
Dustin Matlock 22 ene. 2019 2:24:08

Tengo curiosidad por saber si es posible comprar fácilmente los $5 de Bitcoin y venden un par de minutos más tarde, tratando de hacer mini beneficios para la diversión, o son los tiempos de espera, etc... Demasiado tiempo?

+444
Matt Sawyers 10 oct. 2018 16:34:47

O se guarda para siempre tal que la cadena de la Generación de Bloque siempre será verificable?

+409
Patti Scozzafava 2 abr. 2013 1:05:18

1) No

2) su url de callback debe responder con el texto "*ok*" sin las comillas y nada más, sólo texto. Esto se detenga Blockchain.info desde el envío de notificaciones.

+396
user216559 29 oct. 2011 14:01:23

Me gustaría saber si los resultados de una transacción puede cambiar con el tiempo. Por ejemplo, supongamos que enviar un pago a tres diferentes direcciones de la creación de una transacción sin confirmar con varias salidas:

La Salida Es 0: 1
Salida 1: Dirección 2
Salida 2: Address3
Salida 3: Address4
Salida N: AddressN

Si me examinar esa misma operación dos o tres meses más tarde, puede que las salidas índice de asociación han cambiado de alguna manera? Por ejemplo, podría Dirección1 han becomed la Salida3? O es que la información determinista en sí mismo?

Gracias.

+351
jairo vargas 5 ago. 2011 0:27:18

Qué métodos están disponibles para la búsqueda "perdidos o abandonados" bitcoin?

No hay métodos disponibles para otras personas (terceros). La gente podría buscar latente cantidades que fueron salidas de transacciones anteriores y aún no se utilizan como entradas para las transacciones posteriores - pero esas cantidades en realidad no puede ser perdido o abandonado. No hay manera de recuperar el control o control de ganancia de estas cantidades sin más información que sólo conoce a la persona que recibió las cantidades de bitcoin.

Si previamente ha recibido una cierta cantidad de bitcoin en un bitcoin wallet, usted puede buscar evidencia - tal vez una nota de un sitio web en línea que almacena esa cantidad en su nombre y que ahora se podría contacto para la asistencia. Tal vez algunos de los antiguos "billetera.dat" los archivos en un PC que indican que había un escritorio de cartera con el control de sus propias claves privadas. Tal vez una aplicación en un teléfono antiguo en un cajón. Tal vez un escrito de recuperación de semillas o de clave privada en una caja cerrada de utilizar para los documentos importantes.

+326
cjohansson 18 mar. 2018 19:55:37

Desde bitcoins están siendo regularmente recompensado a los mineros, será el número de bitcoins seguir creciendo indefinidamente, o habrá un número máximo total de bitcoins en existencia? Y si hay algún tipo de límite, ¿qué es y cómo se aplican?

+303
user2850846 3 feb. 2014 14:20:52

Cambié XRP para BTC. ¿Cómo puedo retirar mis bitcoins de ripple.com? Creo que es necesario retirar para bitstamp.net de alguna manera?

+287
Komal Jindal 4 jun. 2012 11:11:17

http://bitcoincharts.com/charts/mtgoxUSD tiene gráficos históricos.

Estos 3 todos tienen "en vivo" de los gráficos:

+234
Kerwin Crawford 30 jul. 2010 7:00:58

¿Cuál es la unidad de peso costo de la entrada?

2 factores que afectan el peso de un tx, el número total de bytes , y el total de bytes de menos el testimonio de datos.

Transacción Peso = Base del tamaño de la transacción * 3 + Total del tamaño de la transacción, donde

La Base del tamaño de la transacción es el tamaño de la transacción serializado con el testimonio de los datos eliminados.

Total tamaño de la transacción es el tamaño de la transacción en bytes serializado como se describe en BIP144, incluyendo la base de datos y los datos de testigo.

Ver BIP141

Puede usted lote/agregado de las entradas o es linealmente crecimiento cuando agregar más entradas para el tx?

Usted no puede batch inputs, pero se puede combinar y enviarlos de vuelta a sí mismo primero, en una cantidad más grande, pero que requiere una transacción adicionales. Probablemente lo mejor que puedes hacer ahora es utilizar un segwit dirección para recibir los fondos de modo que cuando usted vaya a pasar de los insumos, el testimonio de datos que reduce el peso de cada entrada.

+180
Yogh 31 mar. 2015 3:54:24

Puede que haya algunos por ahí en algunos de los cambios menores, pero es muy muy poco probable que sea este el caso. BTC es la dominante de líquidos en moneda en el cryptocurrency economía. La mayoría de las altcoins será el comercio en contra de ella. Tal vez usted podría encontrar algunas monedas que no opera en contra de BTC aquí https://www.coingecko.com/en/exchanges la mayoría lo hace.

BTC es más dominante que la ETH en el momento de la liquidez

+132
iStronger 21 may. 2013 0:16:05

Si usted no desea invertir capital, pero aún quieren obtener algo de BTC, tendrá que ganar o que le sea dado. Bitcoin grifos de dar una pequeña recompensa por visitar el sitio, generalmente a causa de los ingresos por publicidad en el sitio obtiene por las visitas. La manera más fiable de ganar grandes cantidades de BTC sería vender productos o servicios a cambio de bitcoin (obviamente la venta de productos es similar a la inversión de capital, pero servicios como freelance programación, etc. pueden pagar bien)

+13
David Jordan 23 dic. 2010 21:11:52

Mostrar preguntas con etiqueta