Predicción del precio de Bitcoin esta semana: ¿podrá BTC subir a $85K o caer a $70K?
El precio de Bitcoin rondó los $78.800 el 30 de agosto, después de que otro rechazo por encima de $80.000 dejara a los operadores observando dos límites decisivos. El mercado cripto en general subió un 1,33% hasta $2,65 billones, mientras que el Índice de Miedo y Codicia alcanzó 72. Con la mejora del sentimiento, las fuertes ganancias semanales y el interés institucional sostenido, se favorece el potencial al alza. El precio de Bitcoin se mantiene por encima de $78.800 mientras mejora el sentimiento del mercado El precio de Bitcoin se mantuvo alrededor de $78.800 después de no lograr sostener un avance más allá de $80.000. También permaneció por debajo del reciente pico de $81.265, manteniendo la resistencia firmemente en el foco.
BitGo adquiere el negocio de trading institucional del minero de bitcoin NYDIG; la acción de BTGO se dispara
Hoy, BitGo anunció que ha cerrado la venta del negocio de trading institucional de NYDIG y de los activos relacionados. Esta transacción ha validado su adquisición de la empresa de minería de bitcoin NYDIG. La inversión además fortalece al custodio de criptomonedas y lo establece como una plataforma integral de activos digitales. Como resultado, el precio de la acción de BTGO saltó más de un 2%.
Bitgo cierra la adquisición del negocio de trading institucional de NYDIG.
Según el anuncio oficial, el custodio de cripto Crypto BitGo hizo un acuerdo definitivo para comprar el negocio de trading institucional de NYDIG. Esto mejoró las capacidades de derivados, productos estructurados y financiamiento del custodio regulado de criptomonedas.
Encontré una trampa de indexación de DUSK que puede hacer que una base de datos fuera de cadena crea que algo ocurrió incluso cuando la transacción lo revirtió. Después de Boreas, un evento de contrato revertido no desaparece simplemente. Rusk lo mantiene en el historial de archivo, pero lo marca como revertido. Al mismo tiempo, ese evento se elimina del bloom canónico del bloque y no se permite que un evento de staking revertido cambie el conjunto de provisionadores. Así que si construyo un indexador que trate “el evento existe” como “el estado cambió”, puedo fabricar actividad fantasma a partir de datos de cadena perfectamente válidos. Una llamada fallida a un contrato aún puede dejar un registro de evento, mientras que el estado canónico correctamente indica que no ocurrió nada. Eso significa que la lógica de recuperación importa tanto como la ingesta en vivo. Si mi servicio se reinicia y hace backfill desde el historial de archivo, tiene que aplicar el marcador de revertido antes de reconstruir saldos, posiciones o vistas relacionadas con el stake. De lo contrario, el propio reinicio puede crear una discrepancia que no existía antes. Probaría los indexadores de DUSK reproduciendo eventos exitosos y revertidos a través del mismo pipeline y exigiendo el mismo estado final que Rusk. Un registro de evento es evidencia de que la ejecución llegó a cierto punto. No es prueba de que el estado haya sobrevivido. #dusk $DUSK @Dusk
Sigo volviendo a un detalle feo en las integraciones de DUSK: “202 Accepted” no es el momento en el que yo acreditaría a un usuario.
Esa respuesta solo me dice que un nodo de Rusk aceptó la transacción para el enrutamiento. El operador todavía tiene que seguir el historial de Moonlight ya finalizado, hacer coincidir el depósito correctamente y asegurarse de que la misma transacción no pueda convertirse en dos créditos contables.
Lo que me pareció más interesante es lo explícito que es el manejo de fallos. Una cuenta compartida de depósito puede usar memos para la atribución al cliente, pero los metadatos faltantes, malformados, desconocidos o reutilizados se supone que se “ponen en cuarentena”. Luego, el ID de la transacción de Dusk se convierte en la clave de idempotencia, de modo que un escaneo reproducido no duplique en silencio un saldo.
Ese no es un flujo de trabajo glamuroso. Es exactamente el tipo de flujo que decide si una integración de intercambio sobrevive a un reinicio de nodo, a un backfill o a un depósito de cliente desordenado, sin convertir la conciliación en un control manual de daños.
Para mí, la prueba real no es si una transferencia de DUSK se propaga. Es si el operador puede perder su lugar, volver a escanear el historial finalizado y aun así llegar al mismo libro de saldos del cliente.
Si esa invariante se rompe, la cadena puede estar bien mientras el saldo del usuario siga siendo incorrecto.
La cadena puede estar bien y mi aplicación Dusk aún puede mentirme porque registré el controlador de datos incorrecto. Los controladores de datos de Dusk son códecs WASM que traducen los bytes RKYV de un contrato al JSON que mi aplicación lee y escribe. En W3sper, dataDrivers.register(contractId, loader) vincula ese códec a un ID de contrato, pero no hay una versión incorporada ni una fijación por hash que vincule el cargador al esquema que espera mi integración. Así que un controlador obsoleto o que no coincide puede colocarse delante del contrato correcto. Rusk está sano. El ID del contrato es correcto. La solicitud puede completarse. La capa de interpretación que uso es la parte que podría estar mal. Para un auditor o un operador, es algo más feo que un fallo ruidoso. Un valor decodificado y limpio puede parecer autoritativo incluso aunque el códec que lo produjo nunca se haya verificado contra el binario de controlador esperado. Yo fijaría el hash del controlador para cada integración de contrato, lo verificaría antes del registro y me negaría a decodificar cuando el WASM cargado no coincida con mi manifiesto. En Dusk, que el JSON sea legible no es evidencia suficiente de que leí el contrato correctamente. #dusk $DUSK @Dusk
Es posible que una entrada (inflow) completada a una cuenta de custodia de Dusk sea dinero real y, aun así, sea incorrecto acreditársela a un cliente.
Habría sido un error de mi escáner no estar protegido contra esto. moonlightHistory significa que no son “depósitos de clientes”. Es posible mostrar transferencias directas, pagos de contratos, reembolsos, retiros por staking y conversiones desde Phoenix a moonlight que se añadieron todas a la misma cuenta pública.
Para que acepte un depósito directo de Moonlight, tengo que hacer una coincidencia mucho más pequeña: el contrato de Transfer, el tema moonlight, reverted establecido en false, mi receptor esperado y un valor positivo. Hay otros eventos en los que se reciben otras entradas, como convert, withdraw y contract_to_account.
El resultado no es fácil de detectar. Con mi escáner de custodia solo preguntará “¿esta transacción finalizada aumentó esta cuenta?” y, por lo tanto, un retiro por staking o un reembolso de contrato pasarían esta prueba y se considerarían un crédito al cliente, incluso si el cliente en realidad no lo depositó.
Preferiría describir el evento antes de describir el dinero. Si es real, Finality me lo indica. El tipo de evento es una pista para mí que señala cuál fue el flujo.
En Dusk, no es tanto quién depositó el dinero como lo que importa es el aumento del saldo.
Un archivo de medianoche puede volver en la altura de bloque correcta y aun así fallar la única solicitud que mi aplicación de blobs realmente necesita: dámelo el sidecar.
Las transacciones de blobs dejan un hash de blob KZG versionado en la cadena, pero la carga útil se recupera por separado mediante Rusk a través del hash del blob o del compromiso. Eso significa que el registro de la cadena y el cuerpo del blob no viven bajo el mismo supuesto de recuperación.
La herramienta de archivo hace explícita esta separación. Los objetos de blob se almacenan por separado, la cobertura se prueba en rangos contiguos de bloques y un checkpoint de archivo solo está completo cuando su estado correspondiente, los datos del archivo y la cobertura de blobs coinciden.
Así que si respaldo el estado de la cadena y los índices del archivo, pero trato el almacenamiento de blobs como una caché desechable, la recuperación puede verse saludable. Los bloques están ahí. Los hashes de transacciones están ahí. Mi aplicación pide un sidecar antiguo y no obtiene nada.
Ese es el fallo que probaría antes de llamar a un archivo de Dusk restaurado. Elige un blob histórico finalizado, resuelve su hash reportado por la cadena, recupera el sidecar y luego verifica su compromiso y su prueba.
Para mí, “bloque restaurado” no es “datos restaurados” cuando la aplicación depende de las cargas útiles de blobs de Dusk.
El evento de Dusk más aterrador para mí es uno que puedo sacar de un historial ya finalizado y que aun así no tengo derecho a utilizar.
Boreas cambió la semántica del archivo para que los eventos de contratos de ejecuciones revertidas puedan conservarse en vez de desaparecer. Lo importante es la bandera asociada a ellos. Un evento puede existir en el archivo y aun así llevar reverted: true.
Eso rompe un atajo que normalmente me sentiría tentado a usar en un indexador: “el evento existe en el historial finalizado, por lo tanto la transición de estado ocurrió”.
El patrón de depósito de Moonlight de Dusk filtra event.reverted === false antes de aceptar una entrada. Yo aplicaría la misma disciplina a cualquier trabajador de contrato que libere algo fuera de la cadena. Si una función de redención emite un evento y luego entra en pánico, mi backend no puede tratar el nombre del evento por sí solo como permiso para marcar la redención como completada.
El bloque puede estar final. El registro del evento puede ser consultable. El estado del contrato aun puede indicar que la acción se revirtió.
Así que guardaría el bit de reversión junto a cada evento indexado y lo convertiría en parte de la regla de negocio, no en un campo de depuración.
En Dusk, el historial final me dice qué se registró. reverted me dice si se me permite creer el evento.
Puedo tener razón en un Long TermMax Alpha, asegurar una ganancia y aun así devolver parte de esa ganancia solo por elegir una salida incorrecta.
La elección oculta es lo que ocurre después de que la posición ya es ejercible. Net Settle calcula la ganancia y la paga mediante liquidez on-chain. Eso es conveniente cuando la liquidez es profunda. Cuando es escasa, TermMax advierte que el deslizamiento y el MEV pueden hacer que la ganancia realizada sea peor, especialmente en una posición grande.
La otra ruta es Ejercicio - Entrega. En lugar de forzar toda la salida a través de esa liquidez, pago USDT al precio de ejercicio, recibo el activo subyacente y luego decido dónde deshacerlo. También es posible una entrega parcial, así que no tengo que mover toda la posición a la vez.
Eso significa que “tomar ganancias” ya no es un solo botón para mí. En un token Alpha con poca liquidez, necesito comparar la conveniencia de Net Settle con el costo de ejecución que se oculta dentro de él.
Una opción rentable puede seguir siéndolo en el papel mientras la ruta de salida se come silenciosamente la ventaja.
Puedo depositar en una bóveda de Inversión Dual TermMax, ver el rendimiento en funcionamiento y aun así descubrir que “retirar” no significa que esté disponible todo mi saldo.
La razón se vuelve evidente solo cuando rastreo a dónde fue el dinero. Estos depósitos respaldan posiciones de opciones TermMax Alpha. Si ninguno de los activos de la bóveda ha sido tomado en préstamo, puedo sacar todo. Si todos se han prestado a compradores Long o Short, la retirada anticipada no está disponible a menos que entre nueva liquidez. Si solo una parte está prestada, solo puedo retirar la porción ociosa.
Eso hace que la utilización sea el número que me importa después de depositar.
Un APY alto puede parecer líquido justo hasta que la demanda de opciones consuma el inventario detrás de él. Entonces mi salida ya no depende únicamente de mi decisión. Depende de cuánto de la bóveda siga ocioso, de si llegan nuevos depósitos o de si espero al vencimiento.
Así que nunca leería un saldo de Inversión Dual TermMax como si fuera efectivo con una etiqueta de rendimiento. Una vez que ese capital está respaldando la opción de otra persona, el rendimiento y la salida quedan vinculados a la misma utilización.
Una entrada de Dusk ya finalizada puede ser real y aun así ser la cosa equivocada que no debo acreditar como depósito. Ese es el engaño del escáner que yo protegería primero. moonlightHistory(receiver) no es un feed de “depósitos de clientes”. Puede devolver transferencias directas de Moonlight, pagos de contratos, reembolsos, retiros de staking y conversiones de Phoenix a Moonlight, porque todas pueden aumentar la misma cuenta pública.
Así que no puedo reducir la ingesta a “receiver coincide y value > 0.”
Para un depósito directo de Moonlight, necesito que el propio evento de contrato de la transferencia sea el que cumpla: el topic moonlight, reverted false, el receiver esperado y un value positivo. Dusk incluso advierte en contra de adivinar la familia de la transacción contando eventos, porque una transacción puede emitir eventos de contrato adicionales sin que cambie lo que realmente es.
La consecuencia es desagradable en la contabilidad de custodia. Si mi escáner acredita cada entrada ya finalizada, un reembolso interno o un retiro de staking puede entrar en la misma ruta del libro contable que el dinero nuevo de un cliente. El saldo de la cadena es correcto mientras que mis pasivos con clientes quedan mal.
Prefiero rechazar una entrada desconocida antes que llamarla depósito en silencio.
En Dusk, finalizado me dice el dinero que se movió. El tipo de evento me dice por qué.