Mike Hearn

Correspondencia entre Mike Hearn y Satoshi

Mike Hearn

Mike Hearn

Correspondencia de Hearn y Satoshi, parte 5

https://nakamotostudies.org/uncategorized/hearn-and-satoshi-correspondence-part-5/

18 de abril de 2011 por bitcoincash

De: Mike Hearn <mike@plan99.net>
Fecha: lunes 18 de abril de 2011 a las 23:14
Para: Satoshi Nakamoto <satoshin@gmx.com>Hola Satoshi,

Espero que este correo te encuentre bien. Recientemente he estado pensando en cómo
BitCoin puede ayudar a manejar el abuso de Internet y agradecería su
pensamientos.

Mi «trabajo diario» es en el equipo de abuso de Google. Hacemos un uso extensivo de
verificación telefónica para controlar el spam saliente de nuestra red. Facebook
y Craigslist hacen lo mismo. La verificación telefónica funciona bien porque
Los números de teléfono son algo a lo que la mayoría de la gente tiene acceso al menos uno o
dos de, pero rara vez más. Sin embargo, tiene importantes desventajas: es
caro (para nosotros), inestable, a algunas personas no les gusta la privacidad
implicaciones, y parte del spam es lo suficientemente rentable como para comprar muchos
Las tarjetas SIM valen la pena.

Sería ideal si los BitCoins pudieran ofrecerse como garantía contra un
cuenta. La cantidad aportada ayudaría a determinar los límites que el sistema
colocado en su comportamiento (por ejemplo, cuánto correo puede enviar), en un
forma anónima y privada. ¿Pero cómo implementar esto?

Quemar monedas para siempre es fácil, simplemente configure la única salida como OP_FALSE. Ahora puedes firmar algún desafío proporcionado por el servidor con eso.
clave y demuestra que realmente quemaste esas monedas. Una clave sólo sería
utilizable con una cuenta para que los spammers no puedan simplemente poner una enorme
garantía y luego revender firmas generadas con esa clave. Si el
Se descubrió que se había abusado de la cuenta y se cancelaría como hoy, y el
las monedas desaparecerían.

Pero la gente va y viene de estas grandes redes y la idea de
perder las monedas si sales de Google para ejecutar tu propio correo es
poco atractivo. Sería ideal si las monedas pudieran guardarse bajo llave durante un tiempo.
período de tiempo tal que no se pueden gastar hasta el momento X, donde X
puede ser empujado constantemente hacia el futuro si el propietario así lo desea, pero
de lo contrario, las monedas eventualmente volverán a poder gastarse. Para verificar su
cuenta de Google, tomarías una cierta cantidad de monedas (digamos 10) y establecerías
póngalo arriba para que no pueda gastarlos durante 6 meses.

El lenguaje escrito no tiene concepto de tiempo. OP_BLOCKNUMBER fue descartado
porque las reorganizaciones podrían potencialmente invalidar cadenas enteras de
actas. ¿Pero es factible un OP_DAY? Estoy pensando en un código de operación.
que devuelve la marca de tiempo del encabezado del bloque, pero redondeada al
día más cercano para manejar la desviación natural del reloj observada en la cadena de bloques.
Si pudiera funcionar, entonces un TX que inmoviliza las monedas hasta pasado un día determinado.
es fácil de construir. Actualizarlo para que la fecha límite cambie constantemente.
es más difícil. Una solución simple de fuerza bruta es exigir al usuario que coloque
hasta el doble de las monedas, de modo que en el momento en que el primer tx esté a punto de expirar
y se puede gastar nuevamente, se crea el segundo tx. De esta manera tu
siempre tener al menos un tx de fecha límite suficientemente distante para actuar como
colateral. Pero esto es poco elegante. Una mejor manera sería presentar
una nueva regla que permite que un tx se conecte a dicha salida antes de que
La fecha límite ha pasado, siempre y cuando la salida de ese tx sea una vez más un
Salida en plazo del mismo formulario. Sin embargo, esto es menos general que
el lenguaje de programación también es algo poco elegante.

¿Qué opinas?

———-

De: Satoshi Nakamoto <satoshin@gmx.com>
Fecha: miércoles 20 de abril de 2011 a las 11:39 a.m.
Para: Mike Hearn <mike@plan99.net>

Si el lenguaje de secuencia de comandos no es apátrida, si tiene acceso a información externa que cambia o varía entre los nodos, los atacantes pueden usarlo para bifurcar la cadena. La única excepción es si siempre es falso antes de cierto tiempo y permanentemente verdadero después, lo cual se implementa con nLockTime.

Dado que se confía en Google, ¿no podrían los usuarios pagar un depósito simbólico a Google y Google les reembolsará cuando cierren la cuenta?

Sin embargo, para responder a su pregunta, sí, se puede hacer sin utilizar la confianza:

Tx 1 del Usuario paga a un script que requiere la firma tanto de Google como del Usuario para gastar.

Tx 2 (el contrato) gasta Tx 1 y se lo paga al Usuario. nLockTime es el momento de liberar el dinero.

Pasos:
1) Google le da al Usuario una clave pública para usar en la creación de Tx 1.
2) El usuario crea de forma privada Tx 1, no lo transmite todavía.
3) El usuario entrega el hash de Tx 1 a Google.
4) Google firma su parte de Tx 2, con nLockTime configurado, y se la entrega al Usuario.
5) El usuario transmite Tx 1.
6) El usuario firma su mitad de Tx 2 y la transmite.

Con estos pasos, el usuario ya tiene en la mano la mitad de Tx 2 firmada por Google antes de transmitir Tx 1, por lo que tiene la seguridad de en qué trato está firmando el dinero.

Este es el patrón general para firmar contratos de forma segura. Tx 2 se prepara primero para que las partes sepan en qué están pagando. Se transmite Tx 1 para bloquear el dinero y asignarlo a Tx 2. En otras palabras, todas las partes asignan su dinero a un fondo que está controlado por el acuerdo unánime del grupo, pero primero el grupo ya ha firmado un acuerdo por defecto. acción a tomar con el dinero, o múltiples opciones disponibles parcialmente firmadas que una parte puede completar agregando la última firma.

De común acuerdo, las partes siempre pueden escribir otra versión de Tx 2 que libere el dinero inmediatamente.

———-

De: Mike Hearn <mike@plan99.net>
Fecha: miércoles 20 de abril de 2011 a las 13:55
Para: Satoshi Nakamoto <satoshin@gmx.com>

Gracias, eso es útil. Ahora entiendo mejor los contratos.

Entonces, el problema de tener un código de operación OP_TIME/OP_BLOCKNUMBER no es solo que los resultados pueden cambiar después de una reorganización (lo dijiste anteriormente), sino también que la gente podría usarlo para producir transacciones que dejan de ser válidas por completo después de un cierto tiempo. y provocar una bifurcación. Algo obvio en retrospectiva.

Dado que se confía en Google, ¿no podrían los usuarios pagar un depósito simbólico a Google y Google les reembolsará cuando cierren la cuenta?

Google y la confianza es un tema complicado. Mucha gente utiliza nuestros servicios a pesar de tener poca confianza en nosotros. Algunas personas empiezan confiando en nosotros pero luego leen historias (a menudo sensacionalistas o erróneas) en los medios que les hacen cambiar de opinión, y así sucesivamente. Este es uno de los problemas que tenemos con la verificación telefónica… algunas personas no quieren darnos su número de teléfono.

En este caso, probablemente estaría bien porque la confianza en torno a la privacidad de los datos es diferente a la confianza en el cumplimiento de los contratos. Estoy seguro de que nadie dudaría de que Google les devolverá el dinero; apuesto a que tendríamos una calificación crediticia incluso mejor que la del gobierno de EE. UU. en ese sentido 🙂 Pero tenemos una tasa bastante alta de falsos positivos en nuestras verificaciones y algunas personas Sospecho que estábamos verificando usuarios accidentalmente para acumular grandes cantidades de monedas con las que ganar intereses. He visto teorías de conspiración mucho más tontas ganar fuerza.

Además, evitar la necesidad de confiar en instituciones grandes y complejas es mucho más parecido a BitCoin. Y sospeché correctamente que había una manera de hacerlo que aún no entendía, por lo que es una buena oportunidad para aprender más sobre BitCoin.

Sin embargo, para responder a su pregunta, sí, se puede hacer sin utilizar la confianza.

Si escribiera una página wiki sobre cómo crear contratos con BitCoin, ¿te importaría revisarla?

Creo que podría ser una buena idea volver a habilitar el reemplazo de transacciones pronto porque a medida que la red crezca, será cada vez más difícil actualizarla. En cierto sentido, esto es bueno porque dificulta cambiar las reglas fundamentales del sistema. Por otro lado, corremos el riesgo de tener un protocolo que tenga muchas funciones no utilizadas porque no cuentan con el soporte suficiente. HTTP sufrió este destino con muchos de sus verbos, así como con características como la canalización.

¿Tenías alguna lista de tareas para reactivación, algún tipo de auditoría o terminar algún código?

Tenía algunas otras cosas en mente (como siempre). Una es: ¿planea volver a unirse a la comunidad en algún momento (por ejemplo, para revisiones de código) o planea alejarse permanentemente del centro de atención? Una de las razones por las que los estoy acosando con preguntas es que me preocupa que gran parte del potencial de BitCoins resida en el uso cuidadoso de funciones actualmente inactivas, pero hay poca orientación sobre cómo hacerlo. Y, francamente, no creo que sea lo suficientemente inteligente como para resolverlo todo por mi cuenta. Quizás Theymos lo sea, parece entenderlo bien. Pero si algún día se abandona por completo, algunas partes del protocolo podrían caer en desuso, lo cual sería una lástima.

Otro es la economía de la minería después de la transición a un sistema totalmente basado en tarifas. En este momento, la dificultad es aproximadamente una función del tipo de cambio USD/BTC y la inflación por bloque. Cuando la recompensa minera la establece el mercado, es posible que se produzca una “tragedia de los comunes” en la que todos se beneficien de una gran dificultad, pero nadie específicamente quiera pagar tarifas para obtenerla. Además, valorar la dificultad es bastante difícil ya que nunca se sabe cuáles son las capacidades de los atacantes hasta que es demasiado tarde. ¿Sería posible que las tarifas tiendan a cero con el tiempo, ya que algún minero siempre está dispuesto a aceptar transacciones más baratas y, a medida que los mineros abandonan, la dificultad se ajusta para que los retrasos nunca sean tan graves como para tolerarlos?

Como siempre gracias por tus ideas.

———-
De: Satoshi Nakamoto <satoshin@gmx.com>
Fecha: sábado 23 de abril de 2011 a las 15:40
Para: Mike Hearn <mike@plan99.net>

Tenía algunas otras cosas en mente (como siempre). Una es: ¿planea volver a unirse a la comunidad en algún momento (por ejemplo, para revisiones de código) o planea alejarse permanentemente del centro de atención?

He pasado a otras cosas. Está en buenas manos con Gavin y todos.

Espero que su BitcoinJ continúe desarrollándose hasta convertirse en un cliente alternativo. Les da a los desarrolladores de Java algo en lo que trabajar y es más fácil con una base más simple que no tiene que hacerlo todo. Obtendrá una masa crítica cuando nuevos usuarios impacientes puedan comenzar a usarlo mientras el otro todavía está descargando la cadena de bloques.

Archivado en: Sin categoría

 

————————————————————–

Mike Hearn

Mike Hearn

Hearn and Satoshi Correspondence Part 5

https://nakamotostudies.org/uncategorized/hearn-and-satoshi-correspondence-part-5/

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *