Xapo tutoriales de la api

Estoy construyendo un sitio web y desea tener un depósito de bitcoin widget en su sitio web. Quiero tener xapo api para generar nueva dirección y obtener las devoluciones de llamada de ella.

Por favor alguien puede ayudarme a averiguar el xapo de la api.

He leído la documentación de más de 10 veces y todavía no puede averiguar cómo integrarlo con php.

Por favor, que me ayude en esto. EDITAR

Por Depósito widget me refería a la página de depósito, cómo se genera nuevas direcciones y se pone a la notificación de pago recibido por un usuario específico.

Enlace a xapo documentación de la api. http://docs.xapo.apiary.io

+890
wolfpack9 23 feb. 2015 8:17:35
27 respuestas

Este incentivo no es de carácter técnico, por lo que no puede ser "incorporado". Depende de la suposición de que los posibles atacantes son racionales y que su objetivo es maximizar sus ganancias monetarias. El bitcoin comunidad que aún le teme a un 51℅ ataque porque es concebible que un atacante es impulsado por otros motivos (es decir, quiere destruir a Bitcoin) o se comporta de manera irracional.

+980
alenchaevsky2002 03 февр. '09 в 4:24

No, no es posible. BIP 32 utiliza una combinación de una función de hash y de Curva Elíptica Punto de Multiplicación con el fin de derivar al niño claves (pública y privada). Dado que tanto la mezcla y la CE punto de multiplicación son una manera de funciones, usted no puede encontrar las entradas para las funciones dadas las salidas (es decir, hijo claves públicas o privadas). Por lo tanto no se puede derivar la matriz ampliada de clave pública o extendida clave privada teniendo en cuenta que muchos niños claves públicas o privadas.

+979
Daniel Pike 4 oct. 2016 5:24:34

Hasta ahora el mejor método que he encontrado para hacerlo es ir a tu libreta de direcciones en la blockchain.info la aplicación de android y de permanencia/pulsar el botón en la dirección de entrada y seleccione establecer como dirección predeterminada. He vertido a través de la web de la aplicación y parece que no puede encontrar el equivalente de la función. Espero que esto ayude.

"No hay cuidado." es posiblemente el más inútil respuesta que he desperdiciado mi tiempo de lectura. Todo el mundo tiene derecho a administrar su riqueza personal, sin embargo les parezca.

+939
Eevee 18 ene. 2010 15:30:18

Usted no necesita modificar el cliente bitcoin en absoluto - usted puede utilizar JSON-RPC y llame a getblockcount.

+833
Tib 10 jul. 2018 7:04:05

¿Cuál es el mínimo de energía (o CPU operaciones) necesaria para que alguien confirme una cuadra por su cuenta, para lanzar un doble pasar ataque?

¿Cómo puedo calcular este de la actual dificultad o hashrate?

+764
dschu 17 jul. 2018 1:00:52

Algo muy peculiar que ha sucedido con una transacción y me gustaría entender lo que las condiciones de la red, posiblemente, puede ser la causa de esto.

He transferido sobre 150mBTC desde mi Android cartera a mi bitcoin core HD cartera (v0.13.0) he hecho un par de estas transferencias, y por lo general dentro de un par de segundos, la transacción se transmite por la red y aparece en mi bitcoin core mempool. En este caso, la transacción aún no ha sido visto por bitcoin-qt durante casi una hora. Es una transacción ordinaria con una alta tasa de 0.1 mBTC (por sólo 225 bytes).

Al principio pensé que mi Android no había difusión de la transacción. Sin embargo, esta hipótesis puede ser descartada como blockchain.info ha recibido correctamente, aportando a mí con un id de transacción.

Pensé entonces que bitcoin-qt posiblemente no reconocer la transacción fue en relación a mi HD cartera. Sin embargo, parece que la transacción fue de hecho nunca recibieron por parte de mi nodo:

$ cat ~/.bitcoin/debug.log | grep <id de la transacción> # no aparece nada

Así que ahora estoy bajo la impresión de que la transacción se realizó con éxito la emisión, pero por alguna razón nunca fue retransmitido a mi nodo. De hecho, algo así como 5 nuevos bloques han aparecido desde la primera emisión y la transacción aún no está confirmado (que dado el nivel de las cuotas y sin aparente cuello de botella parece muy inusual). Así que ahora estoy bajo la impresión de que algunos de los mineros que no han visto la transacción o bien (después de todo si esto puede suceder a mi nodo, ¿por qué no los demás?)

Por cierto he probado a re-emisión de la transacción con https://blockchain.info/pushtx y la cruda id de la transacción, pero me dice que la transacción ya existe.

¿Alguien tiene una explicación plausible de lo que pueden desencadenar este tipo de evento raro, cuando una transacción es aparentemente con éxito la emisión, pero no todos los nodos parecen a oír hablar de él (suponiendo que esta interpretación es válida)?

EDITAR: En realidad mirando https://blockchain.info/unconfirmed-transactions, como se me fue la redacción de esta pregunta hasta ahora, el número ha ido en aumento y ahora lo está demostrando acerca de 18k inigualable transacciones que parece a punto de anormal en las condiciones de la red (normalmente 2k-4k)

EDITAR: La transacción fue finalmente confirmado a unas 10 cuadras más adelante. El hecho sigue siendo que aparentemente nunca se retransmiten a mi nodo hasta su inclusión en un nuevo bloque.

+664
Lei Lani 27 mar. 2012 2:39:17

Actualmente para un nodo bitcoin usando Tor para conectarse a otro nodo bitcoin debe pasar a través de un nodo de salida.

No hay trabajo que se realiza en una solución para este como se describe aquí:

La compatibilidad con IPv6 en un poco de manera general, se abriría el camino para bitcoin funcionamiento, por ejemplo, como Tor o I2P servicio oculto, por el uso de onioncat-como tor-codificada-en-las direcciones IPv6.

+662
babosik 4 nov. 2017 6:30:02

Escribí un pequeño script en Python que se puede utilizar para descifrar el cifrado MyWallet. Se hace lo mismo que el MyWallet JavaScript, sólo en Python.

Edit: el código de abajo parece ser anticuado, he aquí una versión de trabajo a partir de Mayo de 2012.

Copia lo siguiente en un archivo, hacerlo ejecutable, a continuación, ejecute:

#!/usr/bin/env python
importación base64, hashlib, hmac, json, sys, getpass
de Crypto.Cifrado AES de importación
de Crypto.Hash de importación RIPEMD, SHA256

base58_chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYzabcdefghijkmnopqrstuvwxyz'

def símbolo(p):
 volver getpass.getpass(p + ": ")

def descifrar(cifrado, contraseña):
 cifrado = base64.b64decode(cifrado)
 iv, cifrada = cifrado[:16], cifrada[16:]
 longitud = len(cifrado)
 cifrado += '' * (15 - (longitud-1)%16)
 hash = (hmac.nuevo(contraseña, iv + "\x00\x00\x00\x01", hashlib.sha1).digest() +
 hmac.nuevo(contraseña, iv + "\x00\x00\x00\x02", hashlib.sha1).digest())[:32]
 claro = AES.nuevo(hash, AES.MODE_OFB, iv).descifrar(codificada)[:longitud]
 retorno claro

def base58_decode(v):
 valor = 0; ret = "
 para c en v: valor = valor*58 + base58_chars.encontrar(c)
 for i in range(32):
 ret = "%c"%(valor%256) + ret; valor /= 256
 return ret

def base58_encode(v):
 valor = 0; ret = "
 para c en v: valor = valor*256 + ord(c)
 mientras value > 0:
 ret = base58_chars[valor%58] + ret; valor /= 58
 return ret

def to_sipa(s):
 versión = 128 # o 239 para testnet
 clave = chr(versión) + base58_decode(s)
 volver base58_encode(clave + SHA256.nuevo(SHA256.nuevo(clave).digest()).digest()[:4])

claro = descifrar(prompt("cartera cifrada"), prompt("contraseña"))
obj = json.cargas(claro)

if (obj.has_key('double_encryption')):
 print("wallet utiliza doble cifrado")
 contraseña = obj['sharedKey'].encode('ascii') + prompt("2nd contraseña")
 clave en obj['claves']: tecla['d'] = descifrar(clave['d'], contraseña)
clave en obj['claves']: tecla['priv_sipa'] = to_sipa(clave['d'])
de impresión(json.vertederos(obj, sangría=4, sort_keys = True))

Se le pedirá para la cartera de copia de seguridad y una o dos contraseñas, dependiendo de si la cartera es de una sola o de doble cifrado. La pasta de la cartera de copia de seguridad en lugar de guardar a un archivo.

Usted probablemente tendrá Python 2.x. He sido incapaz de encontrar un paquete de la pycrypto cosas para Python 3. Al parecer estará disponible en la próxima 'precisos', publicación de Ubuntu.

Edit: parece Que la copia de seguridad en formato ha cambiado y por lo que este script no funciona en las copias de seguridad recientes.

+593
Kinokritik59 10 jun. 2015 14:01:29

Tenemos que pasar de Autorización método como :

val jsonstring = khttp.post(
 url = node_url,
 encabezados = un plano("Autorización" para computeBasicAuth("abc","pass")),
 datos = JSONObject("{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"el método\": \"getrawmempool\", \"params\": [] }")
)

donde:

divertido computeBasicAuth(usuario: String, password: String) ="Básico ${BASE64.encodeToString("$user:$password".toByteArray())}"
+579
hotkey 14 jul. 2011 7:58:49

No hay nada que le impida el uso de Electrum en un equipo en línea. Si usted tiene un montón de monedas y quieres tener una mayor seguridad, usted debe utilizar un aire abertura de la instalación donde el equipo sin conexión tiene las claves privadas, y que nunca ha estado en línea ni podrá ser nunca en línea. O usted puede utilizar un hardware de cartera. Pero el uso de Electrum en un ordenador en línea y el uso de una contraseña fuerte (en su equipo y en su Electrum de la cartera) también está bien.

+547
herryjelly 20 dic. 2012 0:11:23

Tengo datos en bruto (tx_hex) por primas de transacción, pero no puedo enviarlo a litecoin tesnet mediante solicitud post a testnet.litecore.la api. Si puedo insertar tx_hex manualmente en el navegador, la transacción se envían correctamente. Mi código:

solicitud({
 url: 'https://testnet.litecore.io/tx/send',
 método: 'POST',
 datos: test_tx
}, ((error, la respuesta, el cuerpo) => {
 si(error) {
la consola.log(error);
 } else {
la consola.log(cuerpo);
}
}));

También he probado a usar otro servicio, pero fallando demasiado.

Código :

postdata = { tx_hex : test_tx };
solicitud.post('https://chain.so/api/v2/send_tx/LTCTEST', postdata, función 
 optionalCallback(err, httpResponse, cuerpo) {
 if (err) {
 el retorno de la consola.error('cargar error:', err);
}
 la consola.log('Subir éxito! El servidor respondió:', cuerpo);
});
+446
Emad Aldeen 30 jun. 2017 0:27:25

Generalmente carteras de web tiene que almacenar las claves en el equipo, porque de lo contrario se tendría el control de sus Bitcoins y podría correr con ellos.

La razón que usted necesita un sitio es porque usted no puede transmitir las transacciones de la red sin una completa nodo, algo que se está ejecutando en el sitio de los servidores.

Carteras Web de este tipo permiten el mejor de ambos mundos, no es necesario para ejecutar el software en su equipo y mantener el control de sus monedas como el servidor no conoce su clave privada.

+395
Karthik Rangarajan 26 jul. 2019 15:44:08

Estoy tratando de implementar un SPV y me gustaría probarlo en un testnet completo nodo, pero no puede entender realmente cómo hacerlo a partir de lo que he encontrado.

+365
vk123456 22 feb. 2015 18:23:01

BIP38 proporciona un estándar para crear cifrado paperwallets (física o monedas en el caso de Mike Caldwell). Bitcoin Core es la cartera de software que almacena su información más confidencial en un formato cifrado para proteger contra el robo.

Al exportar una clave privada a partir de Bitcoin Core, básicamente estás haciendo lo mismo que al descifrar un BIP38 paperwallet: estás haciendo el real de la clave privada disponible en texto. Obviamente, la real de la clave privada puede ser utilizado para hacer un pago con los correspondientes balances.

+351
Manish Patil 12 nov. 2017 17:20:12

Cuando una transacción obtiene su primera confirmación de que está incluido en el blockchain. Prohibido circunstancias excepcionales, el bloque que confirma que pasarán a formar parte de la larga cadena válida y por lo tanto la transacción cada vez más fiable irreversible.

Si usted envía una transacción a un cambio que se espera para el 20 de confirmaciones de la transacción anterior tendrá, al menos, 21 confirmaciones cuando se acepte el depósito. No hay nada que usted necesita hacer con la primera transacción.

+327
tatung 28 ago. 2016 2:51:45

Mapa de las Monedas es un gran recurso para esto.

A partir de Mayo de 2016 se realiza el seguimiento de un total de 710 cryptocurrencies. De esos, 667 están basadas en Bitcoin del código, que es del 94%!

+278
renon 19 jul. 2018 2:31:13

Desde el whitepaper, página 41:

Las claves se generan en un árbol merkle y son muy profundos dentro del árbol. Por ejemplo, Alice pre-genera un millón de claves, cada una de las teclas de ser un hijo de la clave anterior. Alice asigna el cual teclas a utilizar de acuerdo de alguna manera determinista.

Son los millones de claves de todos en una fila?

H11
H21 H22
...
Hm1 Hm2 ... Hmn
K1 K2 Kn ... 

Donde m = 20, n = 1.000.000 y Km1 es la clave principal de Km2 Km2 es la clave principal de Km3 ... como son BIP32-compatible.

La estructura anterior parece para satisfacer las condiciones, como las teclas son muy profundos en el árbol. Pero que es exactamente el poco confuso. Eso no significa que las teclas también podría ser hash superior en el árbol?

+257
KaJIa6a 15 jun. 2016 6:24:12

https://blockchain.info/tx/3b047ef34fcd283ce57868dedb80eb239970ded1aeb10c0fe3a39360dc822056

https://blockchain.info/tx/2a774b4a29a498f95aeb8fd256c36404118fce1157aea976a3fcfe0f29a6918c

Electrum no me deja sobreescribir el pago con una cuota mayor bien. Alguna Idea?

EDIT: estoy usando electrum y no me deja enviar otra transacción sin los "fondos" en la billetera en la que todavía están sin confirmar. Hay una manera de volver a enviar la transacción con una tasa más elevada de un sitio web o de otra cartera? O hay una manera de cancelar la totalidad de confirmar la transacción para que yo pueda enviar el pago?

Nota al margen: no Hay suficiente bitcoin en mi cartera para enviar un WASHINGTON.

+226
Karina Ubiera Henriquez 31 ene. 2018 10:30:56

Lo que he encontrado es la que todavía no se ha explorado por completo el mundo de las firmas criptográficas - y esto es sólo el comienzo de mi amigo.

Una firma criptográfica de una manera muy simplista, permite firmar algo, por lo general una cadena de texto. Que la firma puede entonces ser utilizado para demostrar que el texto que firma no ha sido alterado. Si se va a añadir una coma o un espacio para el texto, el resultado de su firma sería diferente, y por lo tanto se podría demostrar que el texto y su firma no eran los mismos.

A menos que usted no sabe, casi todo lo digital está en un nivel de una cadena de texto (a veces legible para los humanos, a veces no) así que cualquier cosa digital puede ser firmados criptográficamente de una manera o de otra.

Esto no tiene absolutamente nada que ver con el bloque de la cadena o bitcoin per se, sino que es un beneficio de bitcoin empleando crytographic de firmas, que permiten el envío de bitcoins. Usted no tiene que gastar bitcoins a firmar algo.

En resumen, el mecanismo que se utiliza para permitir que usted crytpographically de firmar NADA. Es casi un tema demasiado amplio para responder plenamente aquí, pero por ejemplo, imagine que usted está comprando una casa, y que copiar y pegar el contrato en el cuadro de mensaje y la firma, y, a continuación, el vendedor hace lo mismo con el resultado de su firma.

Lo que usted obtiene es un sistema de encriptación contrato firmado que absolutamente no podía ser alterado, que demuestra que ambos acordaron los términos del contrato, y un tercero independiente podría demostrar que este sea el caso.

Esto abre todo un nuevo mundo potencialmente sin abogados (pensar en cómo maravillosa que podría ser), ya que sólo se está de acuerdo (y firmar) cosas que usted estuvo de acuerdo 100% con y entendido. Usted podría no ser obligados a firmar cualquier cosa que usted no está de acuerdo con.

En un futuro donde las firmas criptográficas se utilizan para todo lo que las personas y las empresas estarán obligados a comportarse de manera justa con el fin de llegar a ninguna parte en absoluto.

+220
Raymundo 9 feb. 2013 23:19:14

Digamos que el usuario me envía su clave privada. ¿Cuál es el apropiado RPC comando para gastar los Bitcoins de este usuario con su clave privada?

Debo importar su clave privada en la cartera antes?

+200
Ogoltsov 18 oct. 2010 23:32:59

lo que trajo a mi atención esta transacción tamaño

esta transacción contiene 2 SegWit entradas que significa que debe ser comprimido y cinco salidas.

Como sabemos, cada comprimido tamaño de entrada es de ≈ 148 bytes, y cada salida es de 34 años.

Para las transacciones de tamaño debe ser (148 * 2) + (5 * 34) + 10 = 476

Pero el actual tamaño de la transacción es de 516 Byte.


es un multi-firma de la transacción? si lo es toda otra transacción que tiene una firma tiene un tamaño de 148 Bytes?

Me disculpo por no ser la palabra perfecta en inglés

+157
darkchief1 5 sept. 2011 12:51:02

Es que ahora me dice que es es superior al 10% y que son "XYZ" bloques restantes. ¿Qué significa esto?

El bitcoin red funciona continuamente añadiendo nuevos bloques en la blockchain. Cada bloque está lleno de transacciones, y cada transacción se remonta a transacciones anteriores, la creación de un registro verificable de la propiedad para todas las monedas en el sistema.

Así que para mostrar su equilibrio, la cartera de necesidades para sincronizar con el blockchain, de modo que se puede determinar con precisión lo que (si existe) de monedas que usted posee.

Y mi cartera se actualiza sólo cuando la sincronización está completa?

Sí, aunque si quieres averiguar tu dirección de equilibrio más rápidamente, usted puede consultar las direcciones controladas por la cartera, y, a continuación, utilice un bloque explorador web para consultar el saldo de cada dirección individual. Tenga en cuenta que si su cartera tiene una amplia lista de direcciones, esto puede ser una molestia a hacer.

También, en dirección a la parte superior de la cartera, hay un mensaje de "alerta clave compuesta, se requiere una actualización"

Este mensaje se refiere a la jubilación de una alerta del sistema de mensajería que fue construido en el original de clientes, que está destinado a alertar sobre el hecho de que la clave que permite a los mensajes de alerta que se envía es ahora de conocimiento público. Esto no es crítico para la seguridad o el funcionamiento de la cartera.

Si actualiza a una versión más reciente del cliente, el tiempo de sincronización puede mejorar en gran medida (dependiendo de la edad de el software que estás usando). Si usted publica información sobre la versión del software que está utilizando, alguien puede ser capaz de proporcionar más ayuda en cuanto a esto.

+133
Christian Schlotterbach 29 jun. 2013 6:37:55

El siguiente código está contenida en el archivo secp256k1.c:

static void 
default_illegal_callback_fn( 
 const char* str, 
 void* data) 
{
(void)de datos;
 fprintf(stderr, "[libsecp256k1] ilegal argumento: %s\n", str);
abort();
}

Podría alguien explicar el propósito de la línea (void)de datos;? Estoy bastante seguro de que hay uno, pero no puedo averiguar qué es :(

+124
RedCat79 9 jul. 2018 1:45:41

¿Puedo llamar a Dan? Voy a llamar a Dan.

Esta es una interesante idea que pretenden. Yo creo que puede ser realmente posible. Pero primero creo que es importante repasar los conceptos básicos.

1. Introducción El comercio en Internet ha llegado a confiar casi exclusivamente en las instituciones financieras que sirven como los terceros de confianza para procesar pagos electrónicos. Mientras que el sistema funciona bastante bien para la mayoría de las transacciones, todavía sufre de las debilidades inherentes de la confianza basada en el modelo. Completamente no-reversible de las transacciones no son realmente posibles, dado que las instituciones financieras no evitar la mediación de conflictos. El costo de la mediación aumenta los costes de transacción, la limitación de la práctica mínima del tamaño de la transacción y cortando la posibilidad de que los pequeños casual transacciones, y hay una mayor coste en la pérdida de la capacidad para hacer no-reversible pagos para irreversibles servicios. Con la posibilidad de reversión, la necesidad de confiar en los pliegos. Los comerciantes deben desconfíe de sus clientes, fastidiar a ellos para obtener más información de lo que de otro modo sería necesario. Un cierto porcentaje de fraude es aceptado como inevitable. Estos costos y el pago de las incertidumbres pueden evitarse en la persona mediante el uso de moneda física, pero no existe ningún mecanismo para hacer los pagos más de un canal de comunicaciones sin necesidad de un tercero de confianza. Lo que se necesita es un sistema de pago electrónico basado en la prueba criptográfica en lugar de la confianza, permitir que cualquiera de las dos partes interesadas y dispuestas a tramitar directamente el uno con el otro sin la necesidad de una confianza tercero. Las transacciones que son computacionalmente impracticable para invertir protegería a los vendedores de fraude, y la rutina de custodia mecanismos pueden ser fácilmente implementadas para proteger a los compradores. En este trabajo, proponemos una solución a la doble gasto problema con un peer-to-peer distribuido servidor de marca de hora para generar prueba computacional de la orden cronológico de las transacciones. El el sistema es seguro mientras honesto nodos colectivamente el control de más potencia de CPU que cualquier grupo colaborador de atacante nodos.

2. Las transacciones Definimos una moneda electrónica como una cadena de firmas digitales. Cada propietario de las transferencias de la moneda a la siguiente al de la firma digital de un hash de la transacción anterior y la clave pública del propietario de la siguiente y añadiendo al final de la moneda. Un beneficiario puede comprobar las firmas para verificar la cadena de la titularidad.

enter image description here El problema es que el beneficiario no se puede comprobar que uno de los propietarios no se doble pasar el de la moneda. Una solución común es introducir una confianza de la autoridad central, o de menta, que comprueba cada transacción por un doble gasto. Después de cada transacción, la moneda debe ser devuelto a la menta emitir una nueva moneda, y sólo las monedas emitidas directamente de la menta son de confianza de no ser de doble gastado. El problema con esta solución es que el destino de todo el dinero que el sistema depende de la la concesionaria de la menta, con cada una de las transacciones tener que ir a través de ellos, igual que en un banco. Necesitamos una manera para que el beneficiario saber que los dueños anteriores no firmar ningún anteriores de las transacciones. Para nuestros propósitos, la primera transacción es la que cuenta, así que no nos importa acerca de los intentos posteriores de doble pasar. La única manera de confirmar la ausencia de una transacción es ser consciente de todas las transacciones. En la casa de la moneda de base del modelo, la casa de la moneda era consciente de todas las transacciones y decidió que llegó primero. Para lograr esto sin un tercero de confianza, las transacciones deben ser anunció públicamente 1, y necesitamos un sistema para que los participantes están de acuerdo en una sola historia de la el orden en que fueron recibidos. El beneficiario necesita una prueba de que en el momento de cada transacción, el la mayoría de nodos que se acordó fue la primera recibido.

3. Servidor De Marca De Hora La solución que proponemos comienza con un servidor de marca de hora. Un servidor de marca de hora funciona tomando una hash de un bloque de artículos para ser fechados y ampliamente publicación en el hash, como en un periódico o Usenet post [2-5]. La marca demuestra que los datos deben haber existido en la el tiempo, obviamente, con el fin de obtener en el hash. Cada marca de tiempo incluye la anterior marca de tiempo en su hash, formando una cadena, con cada marca de tiempo de refuerzo de los de antes.

enter image description here

4. Prueba-de-Trabajo Para implementar un distribuida servidor de marca de hora en un peer-to-peer, tendremos que utilizar un proofof trabajo sistema similar al de Adán Espalda Hashcash [6], en lugar de periódico o de Usenet. La prueba-de-trabajo consiste en el escaneo de un valor que cuando hash, como con SHA-256, la hash comienza con un número de bits cero. El promedio de trabajo requerido es exponencial en el número de de cero bits necesarios y pueden ser verificados mediante la ejecución de una sola hash. Para nuestra marca de tiempo de la red, aplicamos la prueba-de-trabajo por el incremento de un nonce en el bloquear hasta que un valor es el que le da el bloque del hash de la necesaria bits cero. Una vez que la CPU el esfuerzo se ha dedicado a hacer de satisfacer la prueba-de-trabajo, el bloque no puede ser cambiado sin rehacer el trabajo. Como más tarde los bloques están conectados después, los trabajos para cambiar el bloque incluiría a rehacer todos los bloques después de ella.

enter image description here

La prueba-de-trabajo también se resuelve el problema de la determinación de la representación en la decisión de la mayoría de decisiones. Si la mayoría fueron la base de una dirección IP, un voto", podría ser subvertido por nadie capaz de asignar muchas IPs. Prueba-de-trabajo es, esencialmente, una CPU, un voto". La mayoría la decisión está representado por la más larga de la cadena, que tiene la mayor prueba de esfuerzo y trabajo invertido en ella. Si la mayoría de la potencia de la CPU es controlado por nodos honestos, honrados cadena crecerá el más rápido y superando a la competencia de las cadenas. Para modificar un pasado de bloque, un atacante tendría que vuelva a realizar la prueba de trabajo de la cuadra y todos los bloques después de y, a continuación, alcanzar y superar los el trabajo de los nodos honestos. Vamos a demostrar más tarde que la probabilidad de un más lento atacante de la captura de arriba disminuye exponencialmente a medida posterior de los bloques se agregan. Para compensar el incremento en la velocidad de hardware y variables de interés en el funcionamiento de los nodos a lo largo del tiempo, la prueba-de-trabajo dificultad está determinado por un promedio de movimiento de orientación de un número promedio de bloques por hora. Si son generados demasiado rápido, la dificultad aumenta.

5. Red Los pasos para ejecutar la red son como sigue: 1) las Nuevas transacciones se transmiten a todos los nodos. 2) Cada nodo recoge las nuevas transacciones en un bloque. 3) Cada nodo trabaja en la búsqueda de una difícil prueba-de-trabajo para su bloque. 4) Cuando un nodo se encuentra una prueba de trabajo, difunde el bloque a todos los nodos. 5) los Nodos de aceptar el bloque sólo si todas las transacciones en que son válidos y no pasó ya. 6) los Nodos de expresar su aceptación de la cuadra trabajando en la creación de la siguiente bloque en el de la cadena, mediante el hash del bloque como la anterior hash. Los nodos de considerar siempre la más larga de la cadena para ser la correcta y va a seguir trabajando en la ampliación de la misma. Si dos nodos de difusión de las diferentes versiones de la siguiente bloque al mismo tiempo, algunas los nodos pueden recibir uno o el otro en primer lugar. En ese caso, que trabajo en la primera que recibió, pero guardar la otra rama en caso de que sea más largo. El empate se rompió cuando el próximo proofof trabajo se encuentra y una rama se hace más largo; los nodos que estaban trabajando en el otro rama, a continuación, cambie a la larga

Nueva transacción de emisiones no necesariamente se debe llegar a todos los nodos. Siempre que llegue muchos de los nodos, que llevará a una cuadra antes de tiempo. Bloque de emisiones también son tolerantes a caer mensajes. Si un nodo no recibe un bloque, se solicitará cuando se recibe el siguiente bloque y se da cuenta que se olvidó.

6. Incentivo Por convención, la primera transacción en un bloque es un especial de la transacción que se inicia una nueva moneda de propiedad por el creador de la cuadra. Esto añade un incentivo para que los nodos de la red, y proporciona una manera de distribuir inicialmente en circulación de las monedas, ya que no existe una autoridad central que se trate. La constante adición de una constante de la cantidad de nuevas monedas es análogo a los mineros de oro a gastar recursos para añadir oro a la circulación. En nuestro caso, es el tiempo de la CPU y de la electricidad que se gasta. El incentivo puede ser financiadas con los honorarios de la transacción. Si el valor de salida de una transacción es a menos de su valor de entrada, la diferencia es una tarifa de transacción de que se agrega al valor del incentivo de el bloque que contiene la transacción. Una vez que un determinado número de monedas que han entrado la circulación, el incentivo puede pasar enteramente a los gastos de transacción y ser completamente inflación libre. El incentivo puede ayudar a animar a los nodos a ser honestos. Si un codicioso atacante es capaz de el ensamblaje de más potencia de CPU que todos los nodos honestos, tendría que elegir entre hacerlo para defraudar a la gente por volver a robar sus pagos, o usarlo para generar nuevas monedas. Lo que debe encontrar más rentable jugar por las reglas, reglas que favorecen a él con más nuevas monedas de todos los demás combinados, que a socavar el sistema y la validez de su propia riqueza.

7. Recuperar Espacio En Disco Una vez que la última transacción en una moneda que está enterrado debajo de los bloques, el pasado transacciones antes de que puede ser descartada para ahorrar espacio en disco. Para facilitar esto sin romper el bloque del hash, las transacciones se desglosan en un Árbol Merkle 7[5], con sólo la raíz incluidos en el bloque del hash. Viejos bloques pueden luego ser compactado por golpear fuera de las ramas del árbol. El interior de hashes ¿ no necesita ser almacenado.

enter image description here

Un bloque de encabezado con transacciones no sería de alrededor de 80 bytes. Si suponemos que los bloques son genera cada 10 minutos, el 80 bytes * 6 * 24 * 365 = 4.2 MB por año. Con los sistemas informáticos normalmente la venta con 2 gb de RAM como la de 2008, y la Ley de Moore, la predicción de crecimiento actual de 1.2 GB por año, el almacenamiento no debería ser un problema, incluso si el bloque de los encabezados deben ser mantenidos en memoria

TL;DR: UNA sólida tal vez.

+82
Christinna 29 ago. 2014 9:24:51

La comunidad de usuarios a determinar un vitrual el valor de la moneda. Muchas personas son conscientes de Bitcoin ahora... Pero se perdió el barco. Y a su limitado número es probable que mantenga los valores de alto y un poco menos estable, lo que resulta en el hombre común está menos interesado en el concepto o de su riesgo.

Por otro lado, hay DOGECOIN. Muy popular, el rápido crecimiento de Apenas lanzado hace tres semanas, super barato, fácil a la mía, y tiene el potencial mina de 100 MILLONES de monedas en comparación con Bitcoin del 21 millones de euros. El número de personas que pueden estar involucrados en Dogecoin (que son conscientes de vitrual monedas y no quiero perder el barco de nuevo), ahora tienen otra oportunidad. DOGECOIN DEL gran número de monedas se quiere decir que será asequible para un largo tiempo, tal vez para siempre - pero también significa que hay suficientes monedas de suministro de todos los usuarios del mundo sin tener que lidiar con infinitamente menores porcentajes de una moneda.

Dado que los valores son lo que una moneda de la comunidad de da - considerar el hecho de que Dogecoin la comunidad será mucho mayor número Y más del mundo de la saturación. Ahora que es una comunidad, y QUE será el sostenimiento de valor más estable de valor que es probable que nunca llegues a la cumbre que Bitcoin hizo, pero en mi humilde opinión, es más probable que sea la moneda de elección para el largo plazo (lo que se traduce en lo que podría ser un valor mayor que el Bitcoin).

Por último, tiene algo que ninguna otra moneda - un simpático "personalidad". Ir a ver por ti mismo.

+53
Lordwhizy 4 jun. 2019 15:44:54

Estoy usando coinbase.com biblioteca de php para enviar bitcoin a otra dirección. Pero cada vez que yo voy a enviar bitcoin, la cuota es mostrado a mí después de enviar el bitcoin. Esto me causa algún problema. Existe de todos modos para obtener el minero cargo por una transacción antes de enviar la cantidad. Gracias.

**Estoy con la oficial de PHP biblioteca de coinbase.com

+48
squishymama 14 jun. 2012 14:48:57

Ayer me preguntó una pregunta más en Superusuario, para que yo pudiera tener mi de los hechos antes de hacer esta pregunta. El escenario se establece la base para esta pregunta.

Con respecto a bitcoin, ¿qué pasaría con el Bitcoin sistema si una parte de el mundo tenía la conexión a internet cortó con el resto del mundo. En otras palabras, si, por ejemplo, toda comunicación con el exterior se perdió en la región de Armenia, el armenio Bitcoin de usuarios a los que seguir para el uso de Bitcoin, en última instancia, crear una horquilla de bloque de la cadena?

Si es así, ¿qué pasaría con el blockchain cuando la conexión a la cortó región del mundo es restaurado, y el segregada de la red se ha resuelto a la red principal?

Me imagino que el resultado sería similar a la de un 51% de ataque. Es eso correcto?

+25
Ezra Burden 30 ene. 2017 17:58:25

Mostrar preguntas con etiqueta