SegWit
The Risks of Segregated Witness: Problems under Evidence Laws.
El Sr. Jimmy Nguyen se unió a nChain https://nchain.com y luego fundo la Asociación de Bitcoin BSV, donde es su actual presidente https://bitcoinassociation.net después de una carrera de 21 años como abogado de propiedad intelectual y tecnología digital. Ha sido un profesional certificado en la privacidad de la información / EE. UU. Durante su carrera legal, Jimmy fue socio de tres importantes firmas de abogados de EE. UU.
El Sr. Jimmy Win (como se le conoce también, por el win en inglés de GANAR), ha sido reconocido por la Asociación de Abogados de Century City como «Abogado de Propiedad Intelectual del Año» (2011); también fue presidente de la sección de Derecho de Propiedad Intelectual del Colegio de Abogados de California y co-presidió la sección de IP, Internet y Nuevos Medios en la Asociación de Abogados de Beverly Hills. CA
Desde el punto de vista humano, el Sr. Jimmy es un Fuerte defensor de la diversidad, y copresidió el Programa de Asesoría de Minorías de California.
5- Webinar Bitcoin SV: (5/6) Jimmy Nguyen – Buenos Aires + Valencia – 26 jun 2020 https://www.youtube.com/watch?v=nbHGdRpwtzA&t=717s
Jimmy Nguyen https://www.linkedin.com/in/jimmy-nguyen-457123/
Los riesgos de la segregación de testigos: problemas bajo la evidencia de la Ley.
16 JULIO 2020
Este artículo de opinión apareció originalmente en The Computer & Internet Lawyer y lo volvimos a publicar con el permiso de su autor, Jimmy Nguyen.
La comunidad bitcoin todavía debate si Segregated Witness ayudará a la escalabilidad de la red o creará más problemas. Como he escrito anteriormente , SegWit plantea cuestiones legales porque permitiría eliminar los datos completos de la firma digital (testigos) de los datos de la transacción; esto socavaría la capacidad de las firmas digitales de bitcoin para usarse también como firmas de contratos electrónicos (por ejemplo, para contratos inteligentes ). Otro problema legal clave es la autenticación probatoria de las transacciones de blockchain. Idealmente, nos estamos mudando a un mundo donde la red bitcoin puede impulsar contratos inteligentes y usarse para numerosos tipos de transacciones de datos. Pero en un mundo así, ¿qué sucede si las empresas y los consumidores no pueden autenticar y probar fácilmente esas transacciones más adelante, cuando hay disputas legales? En este artículo, examinaré el problema bajo las leyes de evidencia.
Cómo SegWit cambia Bitcoin
El documento técnico original de Bitcoin (en la sección 2) de Satoshi Nakamoto define «una moneda electrónica» como «una cadena de firmas digitales». Cada propietario transfiere el control de propiedad de la moneda al siguiente propietario firmando digitalmente un hash de la transacción anterior y la clave pública del siguiente propietario y agregándolos al final de la moneda. Un beneficiario puede verificar las firmas para verificar la cadena de propiedad. Los datos de la transacción transmiten las entradas y salidas de las monedas que se gastan, y también podrían llevar datos adicionales que se registrarán en la transacción de bitcoin.
Una transacción normal de bitcoin almacena los datos de la transacción y la firma (testigo) juntos en un bloque, y las firmas representan aproximadamente el 60% del tamaño de los datos. Como se describió en mi publicación anterior , esto significa que las firmas de transacciones de bitcoin podrían satisfacer las leyes de firma electrónica, que a menudo requieren que la firma electrónica del contrato esté «adjunta o asociada lógicamente» con los términos del contrato, que podrían, por ejemplo, codificarse en bitcoin. datos de la transacción. (Por supuesto, todas las firmas digitales de bitcoin no están destinadas a ser también firmas electrónicas de contratos; sin embargo, originalmente se establecieron de manera que pudieran satisfacer los requisitos de la ley de firma electrónica de contratos si las partes quisieran usarlas para ese propósito. Por ejemplo, Alice podría firmar su transacción de bitcoin, o en un nivel más avanzado, un contrato inteligente cuyos términos están codificados con los datos de la transacción, utilizando su firma digital de bitcoin que tiene dos propósitos: (1) verificar la transacción que se enviará y validará a la red bitcoin, y también (2) para confirmar su consentimiento a la transacción o los términos del contrato inteligente para fines de la ley de contratos electrónicos).
¿Cómo cambia SegWit la imagen? En lugar de aumentar directamente el tamaño del bloque de 1 MB, SegWit aumentaría indirectamente la capacidad de un bloque para almacenar más transacciones al separar los datos de la firma (testigo) de los datos de la transacción. Luego crea dos hash: (1) un hash «regular» de solo los datos de la transacción, sin las firmas; y (2) un «hash de testigo» que consiste en un hash de los datos de la transacción y de los datos del testigo. Para el almacenamiento en un bloque, el protocolo bitcoin ya utiliza un árbol Merkle (una estructura de datos jerárquica compuesta por hashes de información) para almacenar de manera eficiente los datos de transacciones y coloca la raíz Merkle en el encabezado del bloque de cada bloque extraído. SegWit crea un segundo árbol Merkle para almacenar por separado los hashes de testigos, pero lo que es más importante, no requiere que los nodos mantengan los datos de la firma.
De hecho, SegWit asume que los datos de la firma solo son necesarios cuando las transacciones se están validando y, posteriormente, pueden descartarse por no ser importantes. Como lo describió su proponente original Pieter Wuille , “[e] stas firmas solo son necesarias en el momento de la validación”; SegWit trata «las firmas [como] no parte de la transacción», su «rediseño le permitiría eliminar estos datos [de la firma]». (El Sr. Wuille es cofundador de Blockstream, una empresa de tecnología blockchain que ayuda a respaldar Bitcoin Core y aboga por SegWit).
Además, no se requeriría que los nodos de bitcoin mantengan los datos de la firma. Como explicó Wuille, “[SegWit] le permite eliminar las firmas de la retransmisión siempre que esté retransmitiendo a un nodo que en realidad no está realizando una validación completa en ese momento. También nos permite eliminar de manera efectiva estos datos del historial, tal vez estemos bien con que no todos los nodos de la red realmente mantengan estos gigabytes de firmas que ahora están enterradas bajo años de prueba de trabajo «. Este es un punto clave porque SegWit abre la posibilidad de que la mayoría de los nodos de bitcoin no conserven los datos de la firma, porque simplemente es menos eficiente y cuesta más hacerlo.
Si la mayoría de los nodos eliminan las firmas (que es el resultado probable), la cadena de bloques solo puede servir de manera confiable como un libro mayor para transacciones comerciales en todo el mundo si:
• Algunos nodos optan por especializarse en almacenar todos los datos de la firma. Esto le da a esos nodos un peso especial (como fuente confiable) para verificar y autenticar las transacciones y firmas de bitcoin. Pero esto es contrario a la idea de bitcoin como un sistema descentralizado, sin confianza, sin autoridad central; o
• Las empresas y los consumidores que operan en la cadena de bloques deben mantener su propia copia de los registros de transacciones (o sus propios nodos que almacenan todas las transacciones de la cadena de bloques con datos de firma), de modo que tengan acceso a los datos de firma más adelante si es necesario para procedimientos legales o auditorías. Pero esto requiere una duplicación masiva de datos y elimina la eficiencia de usar la cadena de bloques como un libro mayor descentralizado.
Autenticación de pruebas
Según la ley de pruebas en los tribunales, SegWit haría más difícil para las empresas y los consumidores autenticar las transacciones registradas en blockchain. En los procedimientos judiciales civiles y penales, las pruebas deben estar autenticadas antes de que puedan ser admitidas. Según la Regla Federal de Prueba 901 de los EE. UU., «[Para] satisfacer el requisito de autenticar o identificar un elemento de prueba, el proponente debe presentar pruebas suficientes para respaldar la conclusión de que el elemento es lo que el proponente afirma que es». Este requisito es importante para garantizar que los litigantes no intenten introducir pruebas falsificadas o manipuladas.
¿Cómo funciona esto en la práctica? Considere una demanda por un accidente automovilístico. Los conductores a menudo buscan presentar imágenes de la escena del accidente. Podrían testificar por conocimiento personal que usaron sus teléfonos inteligentes para tomar fotografías inmediatamente después del accidente y confirmar que las imágenes son auténticas. De manera similar, los registros de transacciones y otros negocios pueden admitirse en los procedimientos judiciales, pero un testigo generalmente debe testificar para autenticar los registros. Por ejemplo, si está involucrado en una disputa con su bolsa de valores sobre una operación de acciones, la bolsa de valores podría introducir sus registros electrónicos de su cuenta y operaciones, pero uno de sus empleados debe testificar sobre la autenticidad de los datos. Del mismo modo, puede producir sus propias copias impresas de su historial comercial de acciones y testificar sobre esas impresiones. Por lo tanto, los registros de transacciones generalmente requieren que un testigo explique qué es el registro de transacciones, cómo se mantiene o se generó y qué representa.
¿Cómo se pueden autenticar los recibos de Blockchain sin datos de firma?
¿Cómo funcionaría esto en el mundo blockchain? Si se conservan los datos de la firma, es más fácil autenticar posteriormente el registro de la transacción haciendo referencia a la firma digital bitcoin utilizada para validar la transacción. Esto ayuda a cumplir con el requisito probatorio de que el registro de blockchain “es lo que el proponente afirma que es”, en otras palabras, el recibo de blockchain para la transacción específica.
Pero SegWit permite eliminar los datos de la firma de los datos de la transacción, lo que dificulta la tarea de autenticación de pruebas. Si todos los nodos no mantienen los datos de la firma, ¿quién puede testificar sobre la autenticidad de los datos de la firma para que coincida con los datos de la transacción relevante? Si bien las partes directas de una transacción podrían hacerlo, ¿qué sucede si confiaran en los nodos de bitcoin para mantener la firma y los datos de la transacción y no mantuvieron (o perdieron) sus propios registros? ¿Colocaría eso a los nodos que optan por mantener los datos de firma completos en una posición especial de «confianza» para verificar las transacciones de bitcoins para procedimientos legales (como un proveedor de servicios aprobado por el gobierno)? ¿O la mera evidencia de que una firma era necesaria en el momento de la transacción de bitcoin satisfaría a un tribunal, si ahora no se puede producir dicha firma?
Estos problemas de evidencia también se desarrollarán a nivel estatal de EE. UU. A medida que crece el entusiasmo por la tecnología blockchain, las legislaturas estatales de EE. UU. Están comenzando a examinar qué es prueba suficiente de las transacciones comerciales de blockchain. En 2016, el estado de Vermont promulgó H.868; agrega un estatuto a las reglas de evidencia de Vermont ( 12 VSA §1913 ) que establece que un registro digital basado en blockchain ahora se considera un registro comercial y, por lo tanto, es admisible a pesar de las objeciones de oídas, pero lo más importante, solo si el registro de blockchain está autenticado por la declaración escrita de una persona calificada. Sin embargo, uno se pregunta si otros estados seguirán su ejemplo, si SegWit revela que los componentes clave de las transacciones de bitcoin (como los datos de firmas) pueden eliminarse o modificarse de los registros de blockchain. Para aprobar estatutos como la ley de pruebas de Vermont, los defensores de blockchain deben defender la confiabilidad e inmutabilidad de los registros de blockchain. Pero, ¿los legisladores serían tan rápidos en reconocer los registros de blockchain si supieran que los datos de firma básicos que siempre se han guardado con los datos de transacciones de bitcoin podrían eliminarse?
Necesidad de un testigo
Si los datos de la firma no se guardan en ningún nodo de bitcoin o solo en algunos de ellos, surge una seria pregunta sobre qué testigo (si lo hay) puede autenticar adecuadamente las transacciones de bitcoin desde la cadena de bloques. Si bien no estaba tratando con blockchain, la Corte de Apelaciones del 9 º Circuito resolvió un caso de inmigración – EE.UU. v Lizarraga-Tirado -. Que se abordaron cuestiones sobre la admisibilidad de la prueba generada por máquina. ( Estados Unidos contra Lizarraga-Tirado, 789 F.3d 1107 (9 ° Cir. 2015)). El caso llevó a James Ching, colaborador de Law.com, a escribir un blog en enero de 2016 preguntando ¿Es la evidencia de Blockchain inadmisible un rumor ? y desencadenó otros artículos en línea que cuestionan si la evidencia de blockchain es admisible en los tribunales. Como describe Ching, un recibo de verificación de blockchain debe poder introducirse en un litigio para que tenga algún valor como verificador de una transacción. Debido a que un recibo obviamente afirma la existencia de la transacción, debe calificar como un registro comercial o es un rumor inadmisible según las Reglas Federales de Evidencia «. (Estos problemas de evidencia de blockchain se examinaron más a fondo en un artículo de revisión de la ley de junio de 2017 titulado Recibos de Blockchain: patentabilidad y admisibilidad en la corte ) .
El caso Lizarraga involucró la deportación de un acusado que fue encontrado entrando (nuevamente) indebidamente a los Estados Unidos a través de la frontera con México. El acusado afirmó que en realidad no había cruzado la frontera hacia el lado estadounidense. Sin embargo, el gobierno buscó presentar la evidencia de una vista satelital de Google Earth de la escena donde el acusado fue arrestado, incluido un marcador de tachuela para reflejar la anotación del agente fronterizo (en un dispositivo móvil) del lugar donde ocurrió el arresto (en el lado estadounidense). de la frontera, según el agente). Pero ese marcador de alfiler se agregó manualmente a la imagen de satélite generada por la máquina para registrar las impresiones contemporáneas del agente de dónde ocurrió el arresto.
Para evaluar la admisibilidad de la imagen del mapa de Google Earth y el marcador de tachuela que indica si el acusado cruzó la frontera de los EE. UU., El Noveno Circuito decidió que la evidencia generada por máquina puede ser admisible en el tribunal (y no es un rumor porque es una máquina, más bien que una persona, haciendo una afirmación); sin embargo, la evidencia aún requiere que algún testigo la autentique. La parte que ofrece la prueba de la máquina debe demostrar que «la máquina es confiable y está correctamente calibrada, y que los datos ingresados en la máquina (aquí, las coordenadas GPS) son precisos». ( Lizarraga-Tirado, 789 F.3d en 1110.) El tribunal señaló que las reglas de evidencia permiten la autenticación de un «proceso o sistema» con evidencia «que describe el proceso o sistema y muestra que produce un resultado preciso». En el caso de Google Maps, su mapeo satelital y las coordenadas GPS podrían ser autenticadas por un empleado de Google u otro testigo que trabaje con el programa con frecuencia, si pueden testificar sobre cómo funciona el sistema Google Earth. La clave es «establecer la confiabilidad y precisión de Google Earth».
¿Cómo se aplicaría este requisito de autenticación a un recibo de blockchain ofrecido como prueba en la corte? Un testigo tendría que testificar sobre la red bitcoin y su «confiabilidad y precisión» como mecanismo para mantener registros comerciales. El artículo de revisión de la ley Blockchain Receipts mencionado anteriormente (en págs. 447-448) da ejemplos de qué tipos de testigos podrían cumplir esta función para explicar la cadena de bloques y su sistema de registro de transacciones: “un programador de intercambio, un ávido usuario de Bitcoin, un programador que intenta para replicar la cadena de bloques, un experto en moneda digital o un inversor podrían participar en el juicio «. Eso es ciertamente posible con respecto a la forma original de transacciones de bitcoin (que retienen tanto los datos de transacciones como los de firma). Pero la tarea es más difícil con SegWit, que permite a los nodos eliminar los datos de la firma, y podría conducir a complejas batallas probatorias sobre la «confiabilidad y precisión» de los datos almacenados en blockchain.
Experimentos mentales sobre los riesgos legales
En la conferencia Future of Bitcoin 2017 en Arnhem, Países Bajos, el científico jefe de Bitcoin Unlimited, Peter Rizun, dio una presentación sobre por qué los bitcoins con SegWit no son bitcoins reales. Para ilustrar su punto, ofreció este experimento mental:
Imagina que tienes 100 BTC en una dirección segwit y unos días después notas que han sido transferidos a una dirección que NO controlas. Intenta encontrar la firma que autorizó la transferencia para probar el robo (está seguro de que sus claves privadas estaban seguras, por lo que cree que la firma debe ser falsa) pero, convenientemente, nadie parece tenerla guardada.
¿Puede probar que sus fondos fueron robados?
En el experimento mental de Rizun, suponga que demanda a su proveedor de billetera bitcoin por los 100 BTC que cree que fueron robados de su billetera. Como señala Rizun, debe encontrar la firma asociada con la transacción para demostrar que era falsa y no autorizada por usted. Pero, por supuesto, no lo habría guardado porque no inició la transacción. Y si su proveedor de billetera y ningún nodo ha mantenido la firma de la transacción en disputa, no tiene suerte. A lo sumo, usted o su proveedor de billetera solo podrán probar: (a) una transacción ocurrió en una fecha y hora en particular para los 100 BTC; y (b) hay una serie de hashes que indican que la transacción fue autorizada en ese momento. ¿Es eso suficiente para autenticar ese registro de transacciones con fines probatorios? Y lo que es más importante, incluso si ese registro de transacción limitado está autenticado y es admisible en el tribunal, faltan los datos de la firma y una pregunta clave en el caso no puede responderse a partir de la evidencia.
Llevo el ejemplo de Peter Rizun un paso más allá y ofrezco este experimento mental basado en posibles contratos inteligentes que podrían registrarse en la cadena de bloques y firmarse electrónicamente por una de las partes utilizando una firma digital bitcoin.
Alice firma un contrato inteligente para pagarle 5 BTC para comprar su automóvil usado. Los términos del contrato se registran en la cadena de bloques como parte de una transacción que envía los 5 BTC a una dirección de SegWit. La firma digital de Alice para validar la transacción de bitcoin es también el medio que Alice usa para firmar digitalmente para significar la aceptación del contrato inteligente (a los efectos de la ley de contratos electrónicos). [En otras palabras, Alice no firma manualmente un contrato en papel, no coloca una copia digital de su firma manuscrita en ningún documento y no firma electrónicamente un documento por otros medios].
Alice luego disputa el contrato inteligente, alegando que ella no autorizó la transacción. Tiene una disputa legal sobre si ella de hecho firmó digitalmente el contrato inteligente. Pero los datos de la firma de Alice se eliminaron después de que la transacción se validara en la cadena de bloques, y ella afirma que no firmó digitalmente la transacción. No tiene ningún registro de la clave privada de Alice utilizada para la firma digital.
¿Puedes probar que Alice firmó digitalmente el contrato inteligente?
Este experimento mental ilustra los posibles desafíos de prueba de un mundo SegWit. Puede ser más difícil probar que Alice firmó digitalmente el contrato inteligente en disputa si no tiene registro de la clave privada de Alice utilizada para la firma digital y ningún nodo ha conservado los datos de la firma.
Al igual que con los asuntos relacionados con los contratos electrónicos, los sistemas legales pueden encontrar formas de abordar estos problemas de prueba probatoria. Pero SegWit dificulta los desafíos al crear obstáculos adicionales para autenticar los registros de blockchain como evidencia en procedimientos legales. Estos riesgos podrían disuadir a las empresas de operar más en la cadena de bloques e impedir la visión más amplia de una red Bitcoin 2.0 que impulse los contratos inteligentes y una mayor funcionalidad en el futuro. La comunidad de bitcoins necesita demostrar a los tribunales, reguladores y legisladores que los registros de bitcoins, y en particular las firmas, son fiables y auténticos; este esfuerzo recién está comenzando y no debería verse socavado por propuestas como SegWit que cambian fundamentalmente la naturaleza de bitcoin.
Lightning is malleable… Steel is not
Craig Wright (Bitcoin SV is Bitcoin.)
Jun 19, 2018
https://medium.com/@craig_10243/lightning-is-malleable-steel-is-not-4e68bfdef31