¿Cómo funciona la tasa de división entre los remitentes en una transacción?

Yo sé cómo cuota se calcula en una transacción, pero yo no sé cómo esto importe de la cuota de dividir a los remitentes.

Por ejemplo, considere las siguientes transacciones con 0 BTC minero tarifa:

entradas:

 Alice envía 20 BTC ->
 Bob envía 10 BTC ->

minero cargo: 0 BTC

salidas:

-> Carol recibe el 15 BTC
-> Alice recibe 10 BTC
-> Bob recibe 5 BTC

Ahora bien, si consideramos que 1 BTC por minador de la cuota , ¿cómo estas de salida cantidades cambio?

Tal vez por la mitad?

-> Carol recibe el 15 BTC
-> Alice recibe 9.5 BTC
-> Bob recibe 4.5 BTC
+785
Juan Polny 8 dic. 2017 1:59:56
16 respuestas

Tan larga como la dificultad puede caer lo suficientemente baja no será un problema. Si nadie se preocupa de la moneda, entonces no importa. Si a alguien le importa la moneda, que va a la mina de un bloque. El único peligro es que si una gran cantidad de minería de alimentación de hojas a la vez. En este caso, la dificultad puede ser muy alta y puede ser difícil reunir suficiente de minería de poder llegar al punto donde la dificultad de las gotas.

Pero ese no es el verdadero problema. El problema real es que ASIC-resistente monedas siempre será mucho menos segura que la de monedas que pueden ser explotados por ASICs. Con las monedas que pueden ser explotados por ASICs, cualquier persona que quiere atacar la moneda, primero debe invertir fuertemente en la moneda mediante la compra de ASICs, una inversión que va a hacer nada si su ataque es exitoso. Por el contrario, las monedas que se puede extraer de manera eficiente en la Cpu y Gpu puede ser atacado con alquilado de alimentación del ordenador y de las redes de bots, a mucho menor costo relativo.

+975
Greg Zaal 03 февр. '09 в 4:24

Hay bitcoin clientes sin Isstandard () función que permitiría no estándar de las transacciones de la emisión?

+955
Aayla Secura 15 ene. 2013 0:14:57

Supongo que la parte que dice:

"direccion":"132uY8ULMT6efFdqWjQ74BfaMt46MgpW2f"

es su Dirección.

Desde este enlace, parece que es una dirección válida, que tiene un saldo actual de menos de $20.

A menos que usted puede recordar su dirección, su dinero es probablemente ido.

+935
Tiago Silva Do Nascimento 31 oct. 2012 9:33:26

La dificultad es la medida de lo difícil que es encontrar un hash por debajo de un objetivo determinado.

Diana es una de 256-bit número (muy grande) que todos los Bitcoin clientes comparten. El algoritmo hash SHA-256 de un bloque de encabezado debe ser menor que o igual a la corriente de destino para que el bloque sea aceptado por la red.

Target = dificultad actual = salida por Bitcoin del getDifficulty llamada RPC (La dificultad es básicamente una representación diferente de la de destino para hacer más fácil para los humanos normales para entenderlo.)

Hashrate se calcula hashes por segundo.

dificultad = hashrate / (2^256 / max_target / intended_time_per_block)
 = hashrate / (2^256 / (2^208*65535) / 600)
 = hashrate / (2^48 / 65535 / 600)
 = hashrate / 7158388.055

Fuentes:Relación entre el Hash de la Tarifa y de la Dificultad && https://en.bitcoin.it/wiki/Difficulty

+915
Fit40 28 oct. 2013 13:10:02

El problema es getaccountaddress es llegar obsoleto y tiene un comportamiento determinado (no relacionado con las cuentas) me estoy basando en. Se le da la misma dirección entre varias llamadas mientras no hay transacciones entrantes...

Lo que estoy haciendo es esencialmente llamar getaccountaddress "" cada vez que una dirección debe mostrarse.

El problema es getnewaddress está diseñado para proveerle a usted con una nueva dirección, así que al final me inundaciones cartera con la insignificante cantidad de direcciones que nunca recibe nada.

Estoy tratando de replicar ese viejo comportamiento mediante el uso de etiquetas de la API, pero la mejor que he venido para arriba con es combinar getaddressesbylabel y análisis de todo lo listtransactions salidas para averiguar si existe un boleto de recibir el escrito de la dirección, y para generar uno nuevo si no se halló ninguno.

Esto parece tanto más susceptible a errores y difícilmente escalable, debido a que el número de direcciones potencialmente crecer y puede llegar a ser muy grandes, muy rápido.

¿Cuáles son mis opciones? Hay una llamada a la API que puede ser utilizado como un reemplazo para getaccountaddress "" o una combinación de llamadas?

+913
Dean Seo 19 ene. 2014 19:35:42

Me sale este error cuando intento enviar BTC

UN ERROR GRAVE. Bitcoin no puede continuar de forma segura y dejar de fumar.

Excepción: St13runtime_error

El CDB(): no se puede abrir el archivo de base de datos de cartera.dat, error -30974

C:\program files (x86)\Bitcoin\bitcoin-qt.exe en Runaway excepción

Win 7 Poco núcleo 0.9.0

Cualquier ayuda sería muy apreciada

Gracias

+887
SBAMomNJ 14 abr. 2014 8:56:48

Me gustaría sugerir el uso de Python para lograr esto. pybitcointools tiene lo que usted necesita para ser capaz de deserializar un hex de transacción para JSON, y manipular y, a continuación, serializar de nuevo para poder firmar y difundir a través de compatibilidad blockchain.info.

En este ejemplo se va a reconstruir el estándar de la secuencia de comandos desde el suelo:

>>> opdup = 0x76
>>> ophash160 = 0xA9
>>> push20 = 0 x 14
>>> opeqver = 0x88
>>> opchecksig = 0xAC
>>> pubkeyhash = 0x2dbde30815faee5bf221d6688ebad7e12f7b2b1a

Vamos a anexar los valores hexadecimales de las moviéndolos bit a bit.

  • OP_DUP OP_HASH160 2dbde30815faee5bf221d6688ebad7e12f7b2b1a OP_EQUALVERIFY OP_CHECKSIG
  • Este es el hex queremos 76a9142dbde30815faee5bf221d6688ebad7e12f7b2b1a88ac

Esta es una manera de hacerlo

>>> quickfix = 0xff
>>> asm = quickfix
>>> asm = asm << 8 | opdup
>>> asm = asm << 8 | ophash160
>>> asm = asm << 8 | push20
>>> asm = asm << 8*20 | pubkeyhash
>>> asm = asm << 8 | opeqver
>>> asm = asm << 8 | opchecksig

Hormiga, a continuación, para comprobar si se trata de la misma:

>>> casi = hex(asm)
>>> lista = casi.partición("0xff")[2]
>>> print(listo)

Espero que esto es lo que está después :-)

+744
Dariy Dutko 13 ago. 2011 16:08:56

últimamente estoy dedicarme a la programación de mi cliente Bitcoin para fines académicos, y yo era el análisis de especificaciones de protocolo, con especial atención al sistema de intercambio de conocidos los nodos de la red a través de la getaddr y dirección de los mensajes. Lo que yo quería saber es esto: a pesar de que el protocolo indica que con un mensaje de getaddr se obtiene una lista de hasta 1000 nodos, ¿cuál es la relación entre todos estos nodos? Hay un criterio por el cual un nodo mantiene una lista de nodos que no es al azar? Me intento explicar mejor: los nodos que voy a recibir en respuesta a una getaddr, en realidad, son los vecinos de ese nodo (y por lo tanto podemos decir que hay un arco entre los dos nodos específicos en un hipotético azar gráfico), o no existe un vínculo particular ? Nosotros, como desarrolladores, la información oficial sobre estos temas? Ya que buscando en la web oficial de la información que he encontrado es muy general (https://en.bitcoin.it/wiki/Protocol_documentation).

Muchas gracias por la atención

+723
DdanU 18 oct. 2010 22:56:33

Usted no puede tirar la clave privada de un multisig dirección porque hay varios pares de claves (así múltiples posibles claves privadas) asignados a la dirección. Deberá especificar el par de claves que usted desea. En primer lugar, obtener las claves públicas de los pertenecientes a esa dirección mediante:

$ bitcoin-cli getaddressinfo <su dirección>

{
 "address": "<su dirección>",
...
 "incrustado": {
...
 "pubkeys": [
 "<pubkey 1>",
 "<clave pública n>",
"..."
],
...
}

Si desea que la clave privada correspondiente a <pubkey 1>, se puede convertir a un simple P2PKH dirección y, a continuación, utilizar dumpprivkey, por ejemplo:

$ hash160 <pubkey 1>
 <clave pública 1 hash>
$ echo 00<pubkey 1 hash> | xxd -r -p | base58 -c
 <P2PKH dirección>
$ bitcoin-cli dumpprivkey <P2PKH dirección>
<privkey>

Donde hash160 es sólo un script de bash que utiliza openssl:

#!/bin/bash
## De la Línea de comandos de análisis
#######################

if [[ $# -lt 1 ]]; then
 echo "Uso: $ hash160 <input-hex>"
 salida 1
fi

inputHex=$1

hash1="$(printf $inputHex | xxd -r -p | openssl sha256 | cut-c 10-)"
printf $hash1 | xxd -r -p | openssl ripemd160 | cut-c 10-
+721
m04merlin 11 may. 2013 18:01:37

Dependiendo de cómo recientemente compró/mined tus bitcoins, el hecho de que su cliente no ha sincronizado podría ser ¿por qué no ver el saldo que se muestra.

La razón de esto es que su cartera no contienen en realidad físico de los datos que representan las monedas, simplemente contiene las claves que te permitirán gastar los valores asociados con una dirección específica. La forma en que el bitcoin red determina el número de monedas asociado con una dirección por la que atraviesan toda la blockchain, y sumando todas las transacciones, incluyendo esa dirección. Cuando el bitcoin qt cliente es la sincronización, es la descarga de este blockchain. Por lo tanto, si todas las transacciones que sucedió en los bloques que no han descargado sin embargo, se verá como su cartera no contiene monedas.

Esto significa que la solución a tu problema puede ser que espere hasta que el cliente bitcoin tiene totalmente sincronizado. Si/cuando el cliente de descargas de los bloques con sus transacciones en ellos, su saldo se actualizará. Si su cliente se sincroniza y no ver su saldo de cambio, lo que significa que el cliente bitcoin no es la lectura correcta de la billetera. Asegúrese de que ha copiado la cartera.dat archivo de tu disco duro antiguo en el lugar correcto en el nuevo. NOTA: asegúrese de que el cliente bitcoin está CERRADA cuando la copia de la cartera.archivo dat.

Si su cliente tiene totalmente sincronizado y usted está seguro de que la correcta cartera.archivo dat está cargado, y aún así no ver su saldo actualizado entonces usted está probablemente fuera de suerte. Si usted ha perdido las claves criptográficas que se almacenan en su cartera.archivo dat, el daño ya ha sido permanentemente hecho.

+706
Melissa Rippy 12 mar. 2011 20:46:47

Cada moneda es diferente, por lo que sería imposible para apoyar cada moneda, y no resulta factible incluso para apoyar a muchos debido a la gran cantidad de monedas por ahí. El más cercano que usted puede conseguir es mantener las monedas en un intercambio de cartera, la cual no es super segura y a largo plazo, pero al menos conveniente para una rápida negociación entre los tipos de moneda.

+698
carlosmalt 18 nov. 2016 2:13:03

Un bitcoin ATM. Cuando se le pregunta si tiene una cartera, respuesta negativa a obtener una billetera de papel impreso para usted. A continuación, cargue el papel en la billetera y a pie. Después de que la transacción se confirma, barrer el papel de los fondos de la cartera en su propia cartera. Como alguien señaló, esta no es la manera más barata de hacer las cosas, pero es más seguro que encuentro a alguien con dinero en efectivo.

+673
bender67 18 ago. 2013 5:16:20

BIP62 presenta una serie de reglas para prevenir la maleabilidad de transacciones. Sin embargo muchas de las transacciones ya en el blockchain fallar estas pruebas. Es BIP62 actualmente se utiliza para filtrar las transacciones de entrar en el blockchain? Si no, entonces ¿hay planes por el equipo de desarrollo del núcleo utilizar BIP62 como este?

+588
Timothy Hansen 31 dic. 2012 10:45:13

No publicar el mal resultado que te... Como no soy de python especialista, y no conocen las llamadas a la biblioteca, tengo una idea: es posible que desee colocar su clave privada aquí, y agregar print(s) después de cada paso como comandos de depuración, y comparar la línea por línea. Acabo de comprobar el privkey y la clave pública, la página se devuelve el mismo resultado que su dirección principal. Si usted entrar en el paso 4 de las "6s", recibe este testnet dirección: "mpGvZCV4DYnVLZJWMfeCHa1L3VvC1hett8".

Cuando haya terminado, usted puede editar su pregunta y mostrar cómo usted se fija, o extender la pregunta con sus resultados.

+562
vergil77 1 nov. 2018 18:48:14

Cómo puede uno completo nodo de saber si el resto de los nodos se acordó un bloque sugerencia de un minero (así se sabrá si se añade el bloque a su blockchain demasiado)?

gracias

+298
Petra Maxted 31 mar. 2013 4:23:14

Actualización

El PPA de Ubuntu ha sido actualizado con paquetes para Bitcoin Core 0.9.1. Irónicamente, ellos hacen la advertencia de actualización se irá, pero que no solucionan el problema!

El Bitcoin Core de paquetes para Ubuntu no incluyen una dependencia en una versión fija de las bibliotecas OpenSSL. Por lo tanto, si usted no ha actualizado OpenSSL en su sistema Ubuntu, usted todavía será capaz de instalar el Bitcoin Core 0.9.1 paquetes. Funciona muy bien, y muestra ninguna advertencia, sin embargo, sigue siendo vulnerable.

Para actualizar a la Bitcoin Core 0.9.1 paquetes no es ni necesario ni suficiente para eliminar la vulnerabilidad. La sola y única cosa a hacer es actualizar OpenSSL, y, a continuación, (aparte del mensaje de advertencia) no importa si usted utiliza 0.9.0 o 0.9.1. Bitcoin 0.9.1 tiene absolutamente ningún funcional cambios frente a 0.9.0 (I diffed las fuentes).

Para resumir:

  • Bitcoin 0.9.1, nueva OpenSSL: No vulnerables, sin previo aviso

  • Bitcoin 0.9.0, nueva OpenSSL: No vulnerables, muestra una advertencia

  • Bitcoin 0.9.1, antiguo OpenSSL: Vulnerable, sin previo aviso

  • Bitcoin 0.9.0, antiguo OpenSSL: Vulnerable, muestra una advertencia.

Voy a intentar encontrar el lugar adecuado para informar de este error.

Discusión anterior

El Heartbleed bug no está en bitcoind sí, pero en el OpenSSL sistema de biblioteca de la que depende. El error es "fijo" en Bitcoin Core 0.9.1, pero todo lo que hicieron fue necesario el uso de OpenSSL 1.0.1 g, que incorpora la actual revisión.

Sin embargo, Ubuntu no ha actualizado su versión distribuida de OpenSSL 1.0.1 g; en su lugar, han parcheado a la versión que se está utilizando. El parche para la versión es la versión 1.0.1-4ubuntu5.12. Ubuntu asesor de seguridad está publicado en http://www.ubuntu.com/usn/usn-2165-1/.

Posiblemente como resultado de esto, los paquetes de Ubuntu para Bitcoin Core 0.9.1, aparentemente, no ha sido creado; pero si la actualización de sus bibliotecas OpenSSL, no es necesario actualizar Bitcoin Core.

Si usted tiene la precisa-seguridad del repositorio en su software de fuentes (o en /etc/apt/sources.lista), todo lo que necesitas hacer es instalar las actualizaciones como lo haría normalmente, utilizando el gestor de actualización o aptitude update; aptitude upgrade. Si tienes las actualizaciones desatendidas habilitado, esto ha ocurrido ya. Puede comprobar la versión instalada mediante la ejecución de dpkg -l libssl1.0.0.

Una vez hecho esto, se debe reiniciar bitcoind. (De hecho, si es posible, probablemente, usted debe reiniciar el sistema para asegurarse de que otros potencialmente vulnerables servicios también se reinicia.)

En general, la actualización de Bitcoin Core no sea necesario volver a descargar el bloque de la cadena.

+85
Danny King 5 jun. 2014 14:20:57

Mostrar preguntas con etiqueta