P2PUBKEY en el programa de testigos (P2WPUBKEY)

La vieja norma de las transacciones de un formato que incluye 3 tipos: P2PUBKEY, P2PKH, P2SH. Después de Segwit suave horquilla, tenemos 2 tipos adicionales: P2WPKH y P2WSH.

Si comparamos el costo de los gastos de los insumos (en bytes escribimos en el disco duro) para P2PUBKEY, P2PKH, y P2WPKH y llegamos siguiente valores:

  • P2PUBKEY 33 bytes de la clave pública(no consideramos sin comprimir teclas) + firma de 72 bytes = 105 bytes
  • P2PKH 20 bytes de la clave pública hash + 33 bytes de la clave pública + 72 bytes firma = 125 bytes
  • P2WPKH 20 bytes de la clave pública hash + 33 bytes de la clave pública + 72 bytes firma = 125 bytes

A partir de esta comparación, podemos concluir que P2PUBKEY el mejor para reducir el blockchain tamaño. Nos puede ahorrar alrededor de un 19% del gasto del tamaño de entrada. Entiendo que P2PKH dar más seguridad en caso de que no la reutilización de la dirección. Si reutilizamos dirección, no existen ventajas para el uso de P2PKH. Podemos observar que el muy frecuente el uso de direcciones repetidas veces. Para un rango específico de tareas, no necesitamos de seguridad extra, como P2PKH. ¿Por qué en Segwit tipos de transacciones que no tienen la capacidad para utilizar P2WPUBKEY como estándar de la transacción? Este tipo de transacción ayudar a reducir el blockchain tamaño en caso de que un usuario no necesita/desea utilizar "ninguna dirección de reutilización de" modelo de seguridad? 20 bytes para cada entrada esta es una buena oportunidad para salvar el tamaño de la blockchain.

También, he leído este hilo https://bitcointalk.org/index.php?topic=6430.0, ¿cuál es la razón de por qué bitcoin core los desarrolladores no quieren usar la clave pública de la recuperación y ahorra un 33 bytes para cada entrada? Si los problemas están relacionados con el rendimiento, podemos observar cómo el etereum obras y alcanza aproximadamente 1M tx por día (esto es como 1M entradas por día en Bitcoin).

+383
FawnLiebowitz 20 ago. 2019 20:50:17
15 respuestas

Un par de meses atrás, cuando yo quería usar getrawtransaction llamada a la API en cualquier txid otros de mis bitcoin core cartera se devolvería un error. El error fue resuelto mediante la adición de txindex=1 para el fichero de configuración y reiniciar el demonio con -reindex opción. Ahora bien, mientras que la enseñanza de los conceptos a un colega, yo estaba con la esperanza de la búsqueda de la solución cuando se enfrentaban a un error similar y sería actualización de la conf archivo. Sin embargo, la API llamada devuelta con los detalles de la transacción para cualquier txid y no había bitcoin.conf archivo creado.

Tiene la implementación cambiado, lo que no tengo conocimiento acerca de?

+958
David Xu 03 февр. '09 в 4:24

Si es apagar sin advertencia, entonces algún tipo de prueba de fallos de patadas en mantener su sistema intacto. Usted no debe encenderlo porque se arriesga a perder la totalidad de su programa de instalación haciendo caso omiso de los signos. El problema es más probable de refrigeración, o la falta de ella. Reloj de abajo de la instalación si se permite, o bajar la intensidad de cgminer para el que no utiliza gran parte de su hardware de su poder. A continuación, ver si se corta a la hora 1 hora en punto. Si no. Conseguir una mejor refrigeración.

También, alguna versión de cgminer tiene este extraño bug donde se corta la GPU fans después de un tiempo. Si usted tiene auto_fan habilitado. La apague.

+950
Petr Synek 5 ene. 2016 14:20:42

Unspend sólo significa que la parte que recibe (esta parte se llama una operación de salida) no es pasar todavía. La transacción se haya completado.

Sería una muestra de pasar si, por ejemplo, paga a alguien con su transacción de salida. Entonces habría un unspend transacción de salida.

+825
TheZunemaster 26 ago. 2010 19:58:47

La inflación transferencias de capital de la clase media a los ahorradores a los que captura la devaluación. Normalmente los ricos puedan posición en inversiones y/o "captura política" que la captura de la inflación, y la clase media no tienen individualmente la economía de escala para hacerlo así.

La deflación transferencias de capital de la clase media, los ricos, porque ahorran mucho mayor % de sus ingresos. Y desalienta la toma de riesgos, la innovación tecnológica y la implementación de capital humano (por ejemplo, Edad Oscura porque almacenados pasivo capital no puede crear conocimiento, y más aún en esta era del conocimiento de la innovación digital con hoteles de Cpu).

Así, un almacén de valor sólo es sostenible representación del capital humano (costo de la crianza de los hijos, educación, etc) si se anima la prosperidad de los seres humanos. Deflacionaria normas de oro siempre falla políticamente a lo largo del tiempo (cuando la importación de capital de los picos) porque destruyen la prosperidad.

El problema de Bitcoin es que si el modelo es primaria impulsada por ponzi aprecio, y no por transacción de crecimiento, luego, eventualmente, capital de la importación será de pico, y no habrá suficiente transacción de crecimiento para contrarrestar la hiperinflación en espiral debido a una estampida de extraer valor antes que los demás. Esta capital de la importación de pico puede ser acelerada por un competidor que trae al mercado un sistema que tiene un nivel significativamente más alto de la transacción de la tasa de crecimiento, debido a que los esquemas de ponzi se basan en las expectativas de futuro: la confianza.

El crecimiento de la oferta monetaria de Bitcoin se está desacelerando, mientras que la naturaleza de los esquemas de ponzi se aceleran en valor, ya que conducir hacia un pico, debido a la masa engaño de masas y la estampida para no ser el último para comprar. Este es un peligroso yuxtaposición, pero parece que todavía no estamos cerca de este día de ajuste de cuentas a pesar de que un competidor podría acelerar. Esto probablemente sería beneficioso porque de lo contrario Bitcoin puede revés cripto-moneda adopción significativamente después de la hiperinflación espiral borra la mayoría de los que vienen en cerca de la cima.

Creo que es de sentido común que gratificante early adopters con 1000 veces el aumento en la riqueza simplemente por la compra de un almacén de valor, es la antítesis de la prosperidad. Imaginar la pobreza y la desigualdad de una sociedad que gasta su tiempo en la búsqueda de ponzi especulaciones en lugar de innovar y producir.

El contra-argumento es que este inicial de la especulación de interés es necesario para conducir a la adopción que la unidad de transacciones de crecimiento. Sin embargo, vemos que este sucediendo como peligroso yuxtaposición es la aceleración?

Sé que los especuladores en plata que ahora están listos para saltar en Bitcoin. Eso es lo que trajo a mi atención inmediata para el estudio de este desarrollo de la yuxtaposición.

Yo también estoy esperando la respuesta a volar sobre las cabezas de algunos de los votantes. Al parecer, algunos de los participantes no tienen una muy buena percepción de la economía (o tienen un interés personal o estoy equivocado y no comentario que me diga por qué). Les agradecería si downvoters por lo menos intentar defender su lógica con un comentario debajo de mi respuesta. Eso me da una oportunidad para debatir con ellos y mostrarles por qué yo creo que están equivocados (o admitir mi error). El punto es asegurarse de que colectivamente tienen la lógica correcta.

+813
arathorn 18 oct. 2017 0:00:05

AFAIK no... la prueba, que la transacción se ha ido a través de la aparición en un bloque. Por lo que tiene una confirmación. Esto no puede ser verificado por otras transacciones. Tendría que escribir un entorno de secuencia de comandos, el cual verifica la confirmación de estado en el blockchain, y luego activa el resto de las transacciones.

Es aún más difícil en el escenario - ¿qué quieres decir por el mismo tiempo? Si el primero pasa a través de, y la segunda no, la primera deberá ser revocada? También es imposible con las herramientas estándar. En general: ¿por qué un tx no ir a través de? Basado en un límite de tiempo? O ¿cree usted que más de la doble gastado o similar?

Actualización después de la sección de comentarios a continuación:

tener tres salidas, el comando de la bitcoin desarrollador de páginas sería de tres pares de dirección/bitcoin valor:

{
 "'$NEW_ADDRESS1'": 79.9999, 
 "'$NEW_ADDRESS2'": 10, 
 "'$NEW_ADDRESS3'": 1 
}

(las líneas se terminan por una coma o la llave final)

+778
tweaz 16 mar. 2016 20:11:31

Cuando ejecuto

MSYS shell:

./autogen.sh BOOST_ROOT=../boost_1_55_0 ./configure --disable-pruebas

Yo tengo el error:

error libdb_cxx encabezados falta

¿Qué puedo hacer para solucionar esto?

+713
cozyconemotel 19 ago. 2013 6:03:25

2/24/18: Teniendo el mismo problema - yo uso una ASUS B250 EXPERTO MINERO con GeIL Prístina de 4 gb y un procesador Intel Core i3-6100T. 2: RAIDMAX RX-1000AP-S 1000 w y 1: Corsair RM450

El RM450 pistas de la placa base, unidades SSD, mientras que el 2: 1000W ejecuta 10: Ver006C Minería Dedicado PCIe Tarjeta Vertical y la 2: MSI RX480 ARMADURA de 8GB, 2: XFX RX480 CORE 4 GB, 1: MSI RX 570 ARMADURA de 8 gb, 5: MSI RX580 ARMADURA de 8GB. La plataforma es estable, sin duda, funciona muy bien!

"PERO yo sé que puede ser mejor!"

El mismo problema se produce con la pérdida de hash, la tasa de unos 80-90 H/s por tarjeta. Todo lo que hice fue pasar de la PCIe 16x largo de la ranura en el viejo ordenador que uso para el bios de modding para las tarjetas verticales, mi principal equipo de perforación con el ASUS B250 de Minería de datos de Expertos.

Ejemplo: Después de Bios MOD - Minería XLC Leviar Monedas, actualmente estoy recibiendo 816 H/s con una RX580. He utilizado este mismo RX580 en mi ECS P67H2-A2 BlackEdition que se ejecuta en el PCIe 16x Largo de la Ranura. Comenzó EthOS / SGminer en una unidad de disco usb. El RX580 solo en el PCIe 16x Largo de la Ranura de la era de hash en 905-915 H/s.!

****No entiendo el 80-90 h/s diferencia de la PCIe16x Largo de la ranura vs Ver006C Minería PCIe Tarjeta Vertical** definitivamente, Hay una pérdida de la tasa de hash y es muy molesto. Con 10 Tarjetas - me estoy perdiendo casi 1000 H/s Como dicen los demás, sin importar la configuración que cambia es limitada, como un cuello de botella. Espero que alguien pueda proporcionar alguna información sobre este tema.**

Dan ganas de correr 10 solo las plataformas de recuperar mi 1000H/s pérdida.

Gracias por leer...

+558
Lt Lobster 2 ago. 2019 10:44:23

La dificultad no es realmente 1.

testnet tiene un "20 minutos regla": si no hay bloque es extraído con éxito dentro de los 20 minutos, la dificultad gotas a 1 hasta que un bloque se extrae. Luego vuelve a su valor anterior. Sin embargo, parece que getdifficulty devuelve 1 cuando el más reciente bloque de dificultad 1, incluso si fue aceptado en virtud de los 20 minutos de la regla; esto no coincide necesariamente con el "real" de dificultad.

Le he pedido a una nueva pregunta acerca de cómo encontrar la verdadera dificultad. Pero navegando por bloques en http://blockexplorer.com/testnetel más reciente de bloque que estaba a menos de 20 minutos más reciente que la de su predecesor es 153337, que tiene una dificultad de 11512. Lo más probable es que la verdadera dificultad de la que ahora es 11512, a menos que haya ajustado muy recientemente.

Por lo tanto, hay dos maneras posibles para que la mina de un bloque:

  • Encontrar un bloque en dificultad 11512. Si su cálculo era correcto, esto sucederá en promedio una vez cada 2 años con su actual equipo.

  • Espere hasta que ha sido de 20 minutos desde el último bloque, y encontrar un bloque en dificultad 1 antes de que nadie más lo hace. En vista de las últimas marcas de tiempo, parece que la dificultad en 1 bloques se suelen presentar unos 20 minutos y 4 segundos después de que el bloque anterior. Por lo tanto, usted tiene unos 4 segundos para encontrar una dificultad 1 bloque (probablemente incluso menos debido a los retrasos de propagación). Basado en su cálculo, su probabilidad de éxito en hacer esto en cualquier bloque en la mayoría de los sobre 0.0007, lo que sugiere que podría tener éxito aproximadamente una vez cada 3 semanas en promedio (esto es, probablemente, muy optimista, como se señaló). Incluso si usted no hace la mina de un bloque dentro de este tiempo, otro minero puede encontrar un bloque más o menos al mismo tiempo; si el próximo minero para encontrar un bloque decide aceptar su lugar de la suya, los suyos serán huérfanos y excluidos de la cadena.

Así que no es sorprendente que usted no ha generado un bloque.

+486
KriSh 30 jun. 2012 17:40:58

Satoshi no eliminar el sistema de alerta; es que todavía existe en el cliente. Sin embargo, no se puede activar RPC modo seguro como antes.

No hay planes para eliminar todo rastro de ella, como todo lo que hace en su estado actual es mostrar un mensaje de advertencia.

+416
Sanghyun Lee 30 sept. 2019 1:40:05

Tengo un bitcoind servidor que ejecuta bitcoin-core versión de 0.17. Ahora ya que la necesito para uso en desuso RPC métodos necesito para iniciar el bitcoind servidor en desuso modo, por lo que ya soy capaz de correr a apoyar las cuentas rpc métodos ejecutando el siguiente comando

bitcoind -deprecatedrpc=cuentas

Sin embargo, he encontrado que signrawtransaction también ha quedado obsoleta, por lo que corrí el bitcoind servidor con el siguiente comando :

bitcoind -deprecatedrpc=cuentas,signrawtransaction

El servidor se ha iniciado con éxito, sin embargo, yo todavía estaba recibiendo este error :

"signrawtransaction es obsoleto y será eliminado completamente en v0.18. El uso de signrawtransaction en v0.17, reinicie bitcoind con -deprecatedrpc=signrawtransaction.\nProjects debe la transición al uso de signrawtransactionwithkey y signrawtransactionwithwallet antes de actualizar a v0.18"

Así que empecé de nuevo el servidor con el siguiente comando :

bitcoind -deprecatedrpc=signrawtransaction

Y esta vez la transacción se realizó a través de, sin embargo necesito para iniciar el bitcoind servidor de apoyar tanto a los obsoletos métodos. ¿Cómo puedo hacer eso?

+392
olopost 1 feb. 2014 9:55:16

Parece que sería útil para evitar ataques de repetición si su cartera podría especificar que una transacción debe ser confirmado antes de decir el (actual+100)th bloque antes de emitir

Supongo que podría haber un problema con este esquema, si el tx no era ya capaz de ser incluidos en un bloque después de un reorg (esp dependientes tx)

+186
GKE 5 oct. 2010 10:05:00

Las matemáticas asociadas con esta pregunta, es simplemente incorrecto! Conceptualmente, es muy simple de aplicar la regla del 72 en sentido inverso. Aplicando la regla del 72, conocido por la mayoría de los banqueros, de conocimiento de los inversores y consumidores bien informados de los préstamos, que indica que la mitad de todos los Bitcoins desaparecerá después de 144 años, asumiendo que el 0.5% se pierden cada año. (No PHD en matemáticas se requiere, muy simple matemática: 144 = 72/0.5)

+164
airi 30 oct. 2017 18:17:19

He leído este párrafo de bitcoin.pero no lo entiendo completamente.

La cartera contiene una piscina de cola claves. Por defecto, existen 100 llaves en la piscina. El tamaño de la piscina se puede configurar mediante el "-keypool" argumento de línea de comandos. Cuando usted necesita una dirección para cualquiera que sea la razón (enviar "nueva dirección", generación, etc.), la clave es en realidad no genera recién, pero tomado desde este grupo. Una nueva marca se genera la dirección para llenar la piscina a 100. Así que, cuando una copia de seguridad primero crea, tiene todas las de su edad teclas de más de 100 sin usar llaves. Después de el envío de una transacción, tiene 99 sin usar llaves. Después de un total de 100 nuevo-acciones clave, usted va a empezar a utilizar las teclas que no están en su de copia de seguridad. Desde la copia de seguridad no tiene las claves privadas necesarias para autorizar pasa de estas monedas, la restauración de la copia de seguridad antigua se provocar la pérdida de Bitcoins.

Puede alguien explicar esto de una forma clara, especialmente la parte negrita?


Nota: Dado que Bitcoin Core utiliza determinista carteras (BIP32) ahora, este comportamiento no se aplica a las nuevas carteras creadas con Bitcoin Core versiones 0.13.0 y más reciente. Se aplica a los viejos carteras creadas con versiones anteriores que se han transferido a las nuevas versiones de Bitcoin Core!

+155
Flores 4 oct. 2017 5:50:45

¿Por qué es este límite actual?

1. Para Mantener El Consenso

Tiene que haber reglas claramente definidas acerca de que los bloques son válidos y cuales no para que la red de acuerdo. Obviamente ningún nodo aceptará un bloque que es de 10 millones de terabytes, sería casi imposible descargar incluso si eran válidas. Entonces, ¿dónde se establece el límite? Y ¿qué pasa si un nodo establece su límite de manera diferente que los otros nodos en la red? Si esto llegara a suceder, la red ya no estaría en el consenso acerca de que los bloques eran válidas cuando un bloque se transmitió el que se reunieron algunos de los nodos de los límites de tamaño y no conocer a los demás.

Configuración de una red de límite en el tamaño máximo de bloque se asegura de que todo el mundo está de acuerdo en que los bloques son válidos y cuáles no lo son, de modo que el consenso se logra.

2. Para Evitar (aún más) la Centralización de las Piscinas

Supongamos que quitar el 1 MB tapa completamente. Una gran piscina dice a sí mismo, "me gustaría tener un porcentaje mayor de la hashrate de la red para que yo pudiera hacer más ganancias".

Luego se dan cuenta de que ya no hay ningún bloque límite de tamaño, se puede hacer un bloque que es de 4 GB de gran capacidad con tonterías. Ellos y algunos otros grupos han ancho de banda lo suficientemente grande como para descargar un bloque de este tamaño en un tiempo razonable, pero un pequeño grupo no. La pequeña piscina es entonces pegado tratando de descargar un bloque que es demasiado grande, y continua a la mía en su bloque anterior hasta que se termine de descargar el nuevo bloque. Esto significa que la pequeña piscina es ahora la pérdida de tiempo de minería de bloques que probablemente nunca ser aceptado incluso si se tratara de resolver, ya que no estaría en la 'larga' de la cadena. Desde su hash se pierde potencia, el original de la piscina operador ahora efectivamente ha forzado piscinas más pequeñas fuera de la red, y al mismo tiempo aumentó su porcentaje de la red hashrate.

3. Para Hacer Pleno Nodos Factible

Esencialmente, los bloques más grandes significa un menor número de personas que pueden descargar y verificar la cadena, lo que resulta menos personas dispuestas a correr a toda nodos y almacenar todos los de la blockchain de datos.

Si no hubo bloque límite de tamaño, malicioso personas podrían inflar artificialmente el bloque con la tontería y el aumento de los costes de servidor para todo el mundo corriendo de un completo nodo, además de hacer que sea imposible para las personas con sólo las computadoras de la casa a pesar de que con la red.

El objetivo es encontrar un tamaño de bloque de límite con el correcto equilibrio entre las restricciones de recursos (para que alguien en la computadora de su casa todavía puede correr un nodo), y los requisitos funcionales (ser capaz de procesar X número de transacciones por segundo). Finalmente, las transacciones probable es que se realiza fuera de la cadena mediante micropagos canales, pero tal solución no existe en la actualidad.


Cuándo fue añadido?

Este commit, a partir de julio de 2010, muestra la verdadera cometer añadido el MAX_BLOCK_SIZE parámetro. La confirmación no es en realidad ni siquiera mencionar que el máximo tamaño de bloque se añadió, por extraño que parezca. Sospecho que fue hecho como parte de un lanzamiento que fija un error crítico, por lo que Satoshi podía estar seguro de que todo el mundo estaría de actualización.

+146
subsetsum 6 jun. 2011 15:48:38

Yo era el OP de que la última pregunta que usted hace referencia.

El seguimiento de la 'recibe' es en realidad muy fácil. Hay un montón de libre Api (por ejemplo, BlockExplorer, BitPay/Insight) que te permitirán comprobar el estado de su entrada BTC transacciones con una sola llamada a la API. Es realmente una obviedad.

Envía, por otro lado, son más difíciles de tratar. Como contraposición a un recibir, cuyo estado puede ser consultado con un par de líneas de código, un envío requiere la firma de uso de claves privadas y por razones obvias, no quieres difundir tus claves privadas a través de una API pública. Esto es lo que me llevó por el camino de la construcción de mi propia transacciones mediante programación.

Desde el momento en que escribí ese código, un buen número de APIs se han hecho disponibles. BlockCypher, por ejemplo, puede ayudarle en la construcción de un binario de transacciones sin la necesidad de exponer sus claves privadas. La construcción binaria de las transacciones no es precisamente sencillo, sin embargo, incluso con una API. Podría una persona a usar una de estas Api para construir una transacción sin tener algún conocimiento de crypto y el nativo formato de transacción? Sí, quizá, pero no especialmente agradables proceso.

Recuerde, si todo lo que estamos tratando de hacer es aceptar Bitcoins para una tienda online o como pago por los servicios prestados, no hay absolutamente ninguna necesidad de meterse con cualquiera de que el bajo nivel de las cosas que yo hice referencia en mi pregunta. Sólo tiene que utilizar un servicio de terceros como BitPay. Van a manejar todo el trabajo pesado, incluyendo la facturación, la transacción edificio para reembolsos a clientes, etc. Cuando tengo que pagar por mis servidores, dominios, certificados, etc. con BTC no creo que haya jamás visto un proveedor de rodar su propio Bitcoin interfaz de facturación. Siempre va a través de BitPay o un servicio similar.

Mis necesidades y el modelo de negocio son tan inusual y específicos que un paquete estándar como Bitpay no iba a funcionar para mí. Para la mayoría de los casos de uso a pesar de que, estándar de los servicios de comercio son el camino a seguir.

+25
allyourcode 29 jun. 2013 6:16:33

Mostrar preguntas con etiqueta