Tiempo que se tarda en Transferir btc de intercambio a otra cartera?

Recientemente me envió una pequeña cantidad de btc desde el cambio a mis otros bitcoin wallet y no ha mostrado aún, ¿alguien puede darme información acerca de los retrasos y el tiempo que la transferencia puede tomar?

+471
B KAMWECH 25 jul. 2013 14:33:41
30 respuestas

La codificación binaria de la firma no puede ser utilizado para determinar si has realizado los pasos correctamente - que será diferente para cada firma (incluso con la misma clave privada).

Así que la firma de un hash firmado con la misma clave privada será diferente cada vez. Un número aleatorio se incluye en la fórmula que calcula la firma, por lo que la resultante de la firma será diferente cada vez. Si un número aleatorio para que no se utiliza en la fórmula, la firma de dos diferentes hashes con la misma clave privada, sería posible calcular la clave privada a partir de las dos firmas (que es la razón por la seguridad de la PlayStation 3 de Sony fue violado). Usted puede leer más acerca de esto aquí: http://www.johannes-bauer.com/compsci/ecc/

Si desea probar si usted ha hecho una transacción válido, luego alimentan a bitcoind el uso de la sendrawtransaction comando. Va a escupir un error si la transacción no es válida, y si es válido verá la transacción pasando.

+959
user6831 03 февр. '09 в 4:24

Aunque no hay ningún límite en el número de transacción, usted puede ejecutar en problemas cuando intente pasar los bitcoins que ha recibido. Como se indica aquí:

Debido a que el cargo está relacionado con la cantidad de datos que componen el de la transacción y no a la cantidad de bitcoins que se envían, la cuota puede parecen extremadamente baja (0.0005 BTC por 1.000 BTC transferencia) o injustamente alta (0.004 BTC por un 0.02 BTC pago, o alrededor de 20%). Si usted está recibir pequeñas cantidades (por ejemplo, como los pequeños pagos de una minería de la piscina) a continuación, los honorarios cuando el envío será mayor que si la actividad sigue un más habituales de los consumidores o de la transacción comercial patrón.

Otros han mencionado que no es necesario para un cargo de transacción para ser pagado, aunque puede que tenga que esperar un poco más para que su transacción se incluye en un bloque (DeepBit fue dado como un ejemplo). Sin embargo, también he oído que el Cliente Bitcoin aplicación (las versiones anteriores de todos modos), se especifica un mínimo de pago de la transacción, que parece ser apoyado por el citado texto.

+945
user110290 12 jul. 2017 16:43:42

Lo que usted describe es el túnel a través de SSH. Suponiendo que usted puede conectar a un servidor SSH de los servidores (puerto TCP saliente 22 está permitido). Una es la de la máquina que desea ejecutar la miner a, B es el servidor SSH que utilizamos hacer un túnel para el tráfico a través de (esto tiene que ser capaz de abrir las conexiones de la minería de la piscina) y C es el nombre de host de la minería de la piscina que usted desea a la mía, entonces es una simple cuestión de hacer lo siguiente en Una:

ssh -L 8888:C:1234 B

y luego, señalando con el software de minería de datos a localhost:8888. Lo que esto hace es abrir una conexión a la B, que se puede abrir conexiones a la minería de la piscina y cada conexión para el puerto local 8888 será transparente remitido a C. Observe que también tendrás que cambiar el puerto de 1234 a lo que sus minería piscina usos.

+928
Dmitry Kareba 21 nov. 2018 0:37:10

Sin él, el atacante podría simplemente crear horquillas de la blockchain sin problemas (gratis).

Esto no es correcto. Cualquier persona puede crear horquillas de forma gratuita, como se puede ver a partir de BTG, BCH, etc.

PoW se asegura de que un atacante no puede cambiar el anterior pasó monedas y las transacciones sin obviar el actual y anterior de la potencia de cálculo de hash utilizado para la blockchain hasta el momento (bloque) decide atacar la cadena.

+909
Dragomir Drakul 15 ene. 2011 1:17:32

Soy nuevo en este bitcoin y parece confundido un poco.

Necesito un sistema que me falta para crear nueva dirección para cada usuario(cuenta personal), donde se va a transferir bitcoins para comprar algunos de los productos de mi sitio web.

Así que he comenzado bitcoind y a través de bitcoin-cli, he generado la nueva dirección(getnewaddress) y enviar algunos bitcoins a ella.

Pero en las transacciones de la pantalla, se muestra el pago a ti mismo y el saldo de la cuenta no cambia.

Puede alguien por favor me ayude cómo crear una nueva cuenta individual de direcciones para cada usuario y hacer las transacciones. Se debe tener una contraseña o una clave privada también para la seguridad.

MECANISMO nacional de prevención conjunto de medidas que he utilizado : https://www.npmjs.com/package/bitcoin-core

+851
Geoff Smith 22 oct. 2010 22:32:58

Todas las estructuras de datos en Bitcoin usar un Bitcoin específico formato de serialización. El estándar que se sigue es el Bitcoin estándar definido, y no de cualquier otra norma. Una descripción de la no-segwit formato se puede encontrar aquí. Para segwit transacciones, el formato se describe en BIP 144.

+813
Welly Budi Wahono 20 oct. 2013 8:56:39

JSON puede ser un poco difícil de leer porque, por lo general significaba para ser servido, sin personajes como los espacios y saltos de línea que hacen que sea legible por los humanos.

Aquí está la salida de la rápida ticker:

{
"resultado":"éxito",
"datos":{
"last_local":{
"valor":"136.87303",
"value_int":"13687303",
"mostrar":"$136.87",
"display_short":"$136.87",
"moneda":"USD"
},
"lo último":{
"valor":"136.87303",
"value_int":"13687303",
"mostrar":"$136.87",
"display_short":"$136.87",
"moneda":"USD"
},
"last_orig":{
"valor":"136.87303",
"value_int":"13687303",
"mostrar":"$136.87",
"display_short":"$136.87",
"moneda":"USD"
},
"last_all":{
"valor":"136.87303",
"value_int":"13687303",
"mostrar":"$136.87",
"display_short":"$136.87",
"moneda":"USD"
},
"comprar":{
"valor":"136.10500",
"value_int":"13610500",
"mostrar":"$136.11",
"display_short":"$136.11",
"moneda":"USD"
},
"vender":{
"valor":"136.87250",
"value_int":"13687250",
"mostrar":"$136.87",
"display_short":"$136.87",
"moneda":"USD"
},
"ahora":"1381085718504609"
}
}

El "resultado" elemento siempre está garantizado para estar allí, pero tiene, por supuesto, variando el contenido en función de si o no la llamada se ha realizado correctamente. Los "datos" elemento contiene una serie de precios, con cada nombre que indica su precio.

La mayoría de JSON analizadores en lenguajes interpretados como Ruby, PHP y Python, analizar JSON en un hash o un diccionario. Te gustaría que el valor del "valor" de la clave de la "última" clave de los "datos" de la clave.

He aquí un one-liner versión de Ruby para la v2 clave de cotización:

ruby -e '%w(open-uri json).cada{|b| requerir b}; open("http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast") {|d| pone JSON.parse(d.leer)["datos"]["apellido"]["valor"]}'

O algo un poco más legible:

requieren de un "open-uri" 
requieren "json"

open("http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast") do |d| 
 json = JSON.parse(d.leer)
 pone json["datos"]["apellido"]["valor"]
final

He aquí un one-liner versión de Ruby para el antiguo símbolo:

ruby -e '%w(open-uri json).cada{|b| requerir b}; open("https://mtgox.com/api/1/BTCUSD/ticker") {|d| pone JSON.parse(d.leer)["retorno"]["apellido"]["valor"]}'

O algo un poco más legible:

requieren de un "open-uri" 
requieren "json"

open("https://mtgox.com/api/1/BTCUSD/ticker") do |d| 
 json = JSON.parse(d.leer)
 pone json["retorno"]["apellido"]["valor"]
final
+810
TrevDev 18 abr. 2019 11:59:48

Coinbase (la empresa) no está vinculado a ningún valor presentado en cualquier bloque explorer o incluso en el blockchain. Ellos deciden lo que se presenta como su saldo en su sitio web del servicio, y espero que siempre es el mismo valor que espera ver.

Coinbase podría permitir la financiación de su saldo a través de pago con bitcoin direcciones sobre el bitcoin red, pero en realidad se mantendrá separado, mucho más eficiente de la base de datos de una blockchain para el seguimiento de ese equilibrio a partir de ese punto.

Cuando se opera sobre esos fondos, que está operando en el número guardado en Coinbase de la base de datos, no el uno en el blockchain. Cuesta dinero (como aquellos que pagan en bitcoin) para mover fondos entre los participantes en la red, por lo que cualquier transacción que pueda ser mantenido fuera de la cadena se hace dentro de su propia base de datos (como el envío de entre dos Coinbase los usuarios).

En caso de que la retirada de bitcoins de Coinbase, que tendrá el uso de una cadena de transacciones (con el tiempo), pero el financiamiento puede provenir de cualquier otra forma de pago de los mismos. No tiene que ser el mismo pago que usted hizo.

+803
Scottymeuk 5 may. 2019 22:11:25

Quiero el estudio de las propiedades de los Rayos gráfico de la red. Hay una manera de obtener un razonablemente fresco instantánea que contiene los nodos y canales (es decir, en formato JSON)? Hay varios exploradores disponibles (por ejemplo, los mencionados en esta cuestión), pero AFAIK ninguno de ellos proporciona los datos subyacentes para descargar.

(Yo sólo podía iniciar mi propio nodo y la consulta de datos con allnodes / allchannels o un comando similar, pero que requiere de la sincronización no poda completa nodo, que estoy tratando de evitar en el momento.)

UPD: 1ML proporciona algunos JSON (busca el JSON botón en varias páginas). Por ejemplo, https://1ml.com/testnet/node?json=true da el JSON descripción de la parte superior 50 nodos. No he encontrado la manera de obtener estos datos para todos los nodos, aunque.

UPD2: una pregunta relacionada: la Obtención de un Rayo de la red de datos del gráfico.

+800
Ssenyonjo 16 may. 2018 10:59:58

Los mineros que no busque doble gasta sólo conectarse a los nodos que son plenamente la confianza. Y hay una buena razón para esto-todo no-roto nodo de ignorar un bloque no válido. Así que fueron a un minero a la vez la mina de un bloque que contiene un doble pase, cada nodo sería ignorar que el bloque y que nunca iba a formar parte de cualquiera de vista del consenso de la cadena.

+762
Richard Marx 11 feb. 2011 11:50:44

Cómo acerca de la ejecución de un QBitNinja servidor local?

var cliente = new QBitNinjaClient(dirección base:"especificar un host aquí, usted probablemente querrá localhost", de la Red.TestNet);
var balanceModel = cliente.GetBalance(dest: [Agregar cualquier IDestination aquí, como nueva BitcoinAddress("mivD5GHroixrzgjv6Ww73pV5R55PcL8Jdm", de la Red.TestNet)], unspentOnly: true).Resultado;
si (balanceModel.Operaciones.Count == 0) 
 throw new Exception("No hay monedas para gastar");
var unspentCoins = new List<Moneda>();
foreach (var operación en balanceModel.Operaciones)
 unspentCoins.AddRange(la operación.ReceivedCoins.Seleccione(moneda => moneda como Moneda)); 
var equilibrio = unspentCoins.Sum(x => x.Cantidad.ToDecimal(MoneyUnit.BTC));
+722
fasr 24 mar. 2017 0:47:54

El uso de Bitcoin significa usar la máxima seguridad

Usted puede cortar las esquinas, pero es necesario entender que al hacerlo se están introduciendo riesgo en su modelo de negocio. Estos riesgos incluyen, pero no están limitados a:

  • la clave privada de robo por parte de los administradores
  • las grietas a través de las vulnerabilidades conocidas en las implementaciones de la máquina virtual
  • las grietas a través de la debilidad de los sistemas operativos (uso un seguro distro de Linux)
  • el robo o la confiscación de hardware (centros de datos pueden tomar sus cosas)
  • confiscación de nombres de dominio de internet (ICANN puede y va)

Para reducir el riesgo involucrado, es necesario aislar su Bitcoin código de público en el código web tanto como sea posible. Esto generalmente significa tener su propio hardware dedicado bajo su control físico. A menudo, esto significa que un equipo en su sótano con un dedicado VPN y la dirección IP estática.

Asegúrese de que sólo el "float" de la parte de su saldo está accesible para el servidor de calor en una cartera. El resto debe ser fuera de línea fría cartera que requieren un acceso manual para liberar los fondos.

Recuerde: Bitcoin es dinero. Tomar las mismas precauciones que usted piensa que un casino tendría entonces ir la milla extra.

+711
justshams 2 nov. 2012 9:06:27

Coinfloor dice que va a pagar los retiros usando Multi-Firma de Pagar 2 secuencia de Comandos de Hash. ¿Qué es Multi-Firma de Pagar 2 secuencia de Comandos de Hash? He leído Lo de secuencia de Comandos "Hash" de la dirección exactamente y cómo funciona? pero no entiendo cómo se permite más seguro retiros forma de almacenamiento en frío.

+594
RBQ 1 may. 2015 21:23:50

Los jugadores tendrán que pagar una prima para jugar en una confianza, sitio de confianza que tiene una larga historia de no defraudar a sus clientes.

Como se señaló por LocalBitcoins, Betcoin es acusado de sombra de comportamiento, incluyendo mentir acerca de su marca, al no utilizar correctamente un modo demostrable sistema justo, jugando en su propio sitio para inflar el volumen, y DDoSing competidores. Fuente: http://bitcoinmagazine.com/7659/betcoin-tm-allegedly-fraudulent-activity/

+588
Yorick Sijsling 10 mar. 2013 12:30:28

Al intentar abrir los canales en los relámpagos de red me sale el siguiente error:

signrawtransaction fue eliminado en v0.18. Los clientes deben realizar la transición signrawtransactionwith clave y signrawtransactionwith en la cartera (código: -32)

Sé que signrawtranaction estaba en desuso llamada RPC en la versión 0.17 pero todavía podría ser utilizado. Sin embargo, fue eliminado en la versión de 0,18. Hay una solución para esto esta para Eclair v0.2-beta9?

+571
Dimitri Kostakis 9 feb. 2012 16:43:41

Mi conclusión para bitfinex límite de velocidad es este: 1 segundo se divide en milisegundos. 60 solicitudes debe abarcar la totalidad del segundo.

Por ejemplo, si usted tiene un bucle foreach obtendrá una tasa de error de límite en menos de 15 solicitudes, debido a que usted está consultando demasiado rápido. Para agregar usleep (microsegundo dormir en PHP) para abarcar sus solicitudes para la segunda y / o tener varias IP asignada a su VPS o dedicado cuadro y el uso de esta curl opción.

<?php
 $ips = array('1.1.1.1','1.1.1.2','1.1.1.3');

 curl_setopt($ch, CURLOPT_INTERFACE, $ip[array_rand($ips)]);
+540
user3786992 16 jun. 2015 0:13:33

He utilizado el cliente bitcoin pero quiero conéctate a través de la ip pública dirección no localhost.

Desde que la máquina podría llegar a bitcoin usando localhost pero cuando la estoy usando una dirección ip pública con los puertos necesarios que no está funcionando.

  • Firewall está sobre el máquina.

He añadido esta línea de bitcoin.conf

  • allowrpc=mypublicaddress

También mi ventana de depuración veo estas dos líneas

  • 2014-06-05 15:04:43 AddLocal(mylocalAddress:18333,1)
  • 2014-06-05 15:04:44 AddLocal(myPublicAdress:18333,4)
+517
Denise Judge 4 may. 2016 12:18:52

Aunque es teóricamente posible, la potencia de cálculo necesaria para hacerlo lo haría inviable.

+489
luksfarris 30 mar. 2018 15:52:00

En realidad, es menos probable que se produzcan por el mismo minero. La razón de esto es el hecho de que el minero que se encuentra el Bloque tendrá ya validado, por lo que sabe que las transacciones desde el mempool fueron utilizados. Si el bloque es extraído por otra persona de su software de minería de datos podría no haber validado previamente extraído block sin embargo, lo que les hace ser conscientes de que las transacciones fueron incluidos. Por lo tanto un bloque vacío es más probable cuando fue extraído por alguien más.

+475
Anfuca 21 feb. 2011 8:38:49

El hashing el problema de diseño es computacionalmente difícil, porque SHA-256 hashes son para todos los intentos y propósitos de azar cadenas con ningún vínculo directo a sus aportes, y no hay (conocida) de manera de generar un bloque, de manera que su hash se calcula a un resultado determinado (o, más exactamente, satisface la actual difícil criterios). En cualquier nivel de dificultad, sólo hay una cierta probabilidad de que los mineros encontrar una válida bloque.

Ok. Pero, ¿hay alguna prueba de que un válido bloque en realidad existe en un determinado nivel de dificultad? Es posible que válida bloques acaba de dejar de ser encontrado si la dificultad se incrementa demasiado? ¿Cómo podría la red de manejar esa situación, si el nivel de dificultad sólo puede cambiar cada X bloques?

+450
dotPoozer 23 ago. 2011 15:49:50

Como yo lo veo, existen en la actualidad (4 de abril de 2013) dos usos principales de bitcoin.

  • Como depósito de valor, similar al del oro o de las existencias. La idea es que se puede comprar bitcoin y se mantiene o se idealmente aprecia su valor.

  • Como un medio de intercambio, aunque en realidad pocas personas en realidad, a excepción de bitcoin de bienes y servicios debido a su volatilidad. Sin embargo, la ruta de la Seda, que vive en la red Tor se usa exclusivamente en bitcoins para el intercambio. Esto es debido a que se trata de mercancías ilegales, y hace uso de bitcoins anonimato.

+384
Victor Engel 14 jun. 2017 1:31:53

Siguiendo estos 3 sencillos pasos me ayudaron:

  1. Descargar & Instalar El Electrum
  2. Extracto de la clave privada a partir de Bitcoin Core Cartera
  3. Importar su cartera mediante la clave privada
+307
user4961 18 mar. 2010 16:06:12

Si usted realmente desea utilizar bitcoind en lugar de un procesador de pago y tiene un volumen que una sola instancia de bitcoind no puede manejar (por ejemplo, 5 figuras de direcciones), entonces vamos a tener que crear un clúster. El uso de una base de datos para hacer un seguimiento de las direcciones en que bitcoind instancia.

Un vanitygen aplicación podría ser útil para la creación de direcciones y esperando un pago antes de confiar la dirección a un bitcoind cartera para salvarse de llenado de servidores con inusitada carteras.

Hay un par de herramientas para comprobar los saldos de Bitcoin direcciones sin tener que importarlos a bitcoind (y sin revelar la clave privada de las herramientas).

+241
Harper62 2 may. 2017 6:42:19

Estoy usando bcoin y la clase de FullNode correr un Nodo Bitcoin. Esta es la configuración:

const nodo = new bcoin.FullNode({
 prefijo: '/mnt/d/bcoin',
 red: "testnet',
 indexTX: true,
 indexAddress: true
});

Y, a continuación, iniciar el nodo con este código, idéntica a la que utilizan en su oficial de ejemplo.

(async () => {
 esperan nodo.open()
 esperan nodo.conectar();

 nodo.en('connect', (de entrada, de bloque) => {
 la consola.log('%s (%d) que se agrega a la cadena.', de entrada.rhash(), la entrada.altura);
});

 nodo.en('tx', (tx) => {
 la consola.log('%s agregado a mempool.', tx.txid());
});

nodo.startSync();
})().catch((err) => {
la consola.de error(err.pila);
proceso.exit(1);
});

Parece estar funcionando bien, me llegan las notificaciones de los bloques añadido en la consola. el programa se bloquea de vez en cuando a la falta de memoria, sin embargo, he encontrado una solución para eso. El progreso de la sincronización parece nunca ser salvos, sin embargo. Si yo fuera a reiniciar la aplicación cuando está en 1.000.000 de bloques (testnet) - la sincronización se iniciará de nuevo. Los archivos son creados en el directorio /mnt/d/bcoin carpeta y ya es de 10 GB de tamaño. En comparación con el oficial de bitcoin nodo - siempre lleva en la sincronización de que ya está en marcha. Nunca he sido capaz de terminar la inicial de blockchain descargar con bcoin debido a que me encuentro en mi PC, y siempre falla por varias razones. Por lo tanto, es el comportamiento esperado para bcoin para restablecer su EII el progreso en cada momento? Habría que leer el bloque existente archivos después de la EII?

+222
mack1981 7 nov. 2013 12:48:58

Usted puede simplemente cerrar el cliente. Una vez que la transacción se envía a la red, todos los clientes de recibido y de los mineros se incluyen en uno de sus bloques. (A veces no, pero eso no tiene nada que ver con que si su cliente está abierto o no).

Su cliente es sólo una puerta de entrada a la peer-to-peer de la red, lo que significa que todo lo que usted necesita para enviar/acceso a su cartera de su información de la cartera (billetera.dat archivo cuando se utiliza el Bitcoin-Qt cliente). Cuando usted copia de seguridad de la información y de perder a su cliente, siempre puedes recuperar tus monedas en otra máquina.

+212
Smartathon 26 oct. 2014 15:31:28

Tengo algunas bitcoin almacenados en el bitcoin wallet android aplicación

Quiero transferir mi heredado de Bitcoin en Efectivo (CCO) para un intercambio. La aplicación de android no se preocupa por el BCC.

Traté de descifrar una copia de seguridad de mi cartera para el uso de la clave privada en Bitcoin ABC de aplicaciones de escritorio. openssl enc -d -aes-256-cbc -a-en wallet_backup_file Pero galimatías que sale. La actualización se parece a la de descifrado trabajado porque veo el primer texto como org.bitcoin.de producción. El problema es que está codificada en un protobuf formato: Problemas para descifrar mi bitcoin-wallet en android

La importación de un archivo de copia de seguridad en el bitcoin aplicación funciona , y después de algún tiempo puedo ver mis fondos.

¿Cómo puedo reclamar mi bitcoin en efectivo y transferir a un cambio ?

+190
Kushagra 8 jun. 2013 17:57:34

La cantidad de NMC necesaria para registrar un nombre de dominio es fijado por el protocolo.

Tener NMC y BTC ser separado monedas asegura que el número de BTC necesarios para registrar un nombre de dominio es fijado por el mercado de mecanismos de fijación de precios, no por el cableado protocolo.

Si hemos utilizado la NMC para la compra y venta de otras cosas que el BTC, sería como denominar todas nuestras actividades económicas, en términos de registros de nombres de dominio ("esta pizza le costará 0.012 registros de nombre de dominio"). Esto es una mala idea porque la demanda de los nombres de dominio de influir indirectamente en el precio de todo lo demás en la economía. Es la misma razón por la que el metal precioso con el menor número de usos industriales es el mejor para usar como dinero.

Por esta razón, considero que cualquier no-Nakamoto-blockchain moneda con un aumento significativo de la utilización de otros que la moneda no afecta el valor o la utilidad de la Nakamoto cadena. El hecho de que pueden ser utilizados como algo distinto de una moneda que los hace realmente buenos monedas. El hecho de que es más fácil el intercambio de BTC de para fiat en realidad aumenta ligeramente la utilidad de la Nakamoto cadena. Pero, por supuesto, todo esto sólo se aplica si la alternativa de la cadena tiene un creíble no moneda de uso. Hasta ahora no sé de ningún otro de NMC.

+168
Md Tantu Mridha 31 ene. 2019 2:07:22

He visto varias opciones que el DNS diferente sembradoras de apoyo, por ejemplo, x1, x5, x9, y xd:

vSeeds.emplace_back("de la semilla.bitcoin.sipa.ser", true); // Pieter Wuille, sólo admite x1, x5, x9, y xd
vSeeds.emplace_back("dnsseed.bluematt.mí", true); // Matt Corallo, sólo admite x9
vSeeds.emplace_back("dnsseed.bitcoin.dashjr.org", false); // Lucas Dashjr
vSeeds.emplace_back("seed.bitcoinstats.com", true); // Christian Decker, admite x1 xf
vSeeds.emplace_back("de la semilla.bitcoin.jonasschnelli.ch", true); // Jonas Schnelli, sólo admite x1, x5, x9, y xd
vSeeds.emplace_back("seed.btc.petertodd.org", true); // Peter Todd, sólo admite x1, x5, x9, y xd

(a partir de chainparams.cpp)

Pero no puedo encontrar nada que realmente explica lo que estas opciones. ¿Qué hacen estas opciones y por qué sólo algunas sembradoras ofrecen algunas de las opciones?

+96
jhonsonsentrik 5 feb. 2010 18:49:18

Es hay donde puedo comprar bitcash por delante de la horquilla? O tengo que mantener mi bitcoin en las billeteras de los que no la señal de SegWit?

+58
ank 12 feb. 2013 3:24:16

La razón más importante es que el original Satoshi código fue escrito en C++. Un sistema como el Bitcoin extremadamente fuerte requisitos acerca de la consistencia en el comportamiento: todos los nodos de la red deben aceptar y rechazar el exacto mismos bloques, o corremos el riesgo de un tenedor. La primera opción para evitar los errores que el riesgo de la introducción de la inconsistencia es para que no vuelva a escribir el código desde cero.

A pesar de todos los lenguajes de programación tienen defectos, y C++ no es la excepción, hay varias razones que hacen que sea una opción adecuada. Fácilmente se pasa por alto, es que proporciona un muy estricto control sobre el uso de la memoria. Muchas lenguas modernas (especialmente aquellos que dependen de la recolección de basura) hacen difícil, si no imposible, la razón sobre los estrechos límites de uso de memoria. Desde el Bitcoin Core es una críticos para la seguridad de la aplicación que está directamente expuesto a la Internet, es trivial para garantizar que no hay manera de activarlo para asignar grandes cantidades de memoria, la trilla de la máquina de espacio de intercambio, o peor, matar el proceso.

Este es además un buen equilibrio entre un alto nivel donde se desea, pero también de muchas avenidas para la optimización del rendimiento. El rendimiento puede ser más importante que es inmediatamente obvio, como la convergencia de la red se basa en la rápida validación y la propagación de los bloques. Si los bloques de tomar demasiado tiempo para validar en comparación con su creación de la frecuencia, los factores económicos de inicio injustamente ventaja más grande/más rápido mineros (ver el Egoísta de Minería de ataque, por ejemplo). Bajo condiciones extremas, si los bloques tomaría ~minutos a validar, la red puede no converger a todos, como nodos simplemente no se oye hablar de los bloques en el tiempo más.

+55
Jack Lynch 22 jul. 2019 4:07:14

Mostrar preguntas con etiqueta