He buscado en línea sobre esto, pero parece que no puedo encontrar una respuesta real.
Digamos que alguien envía un contrato inteligente a alguna dirección. ¿Qué pasa si el receptor no quiere aceptar ese contrato? ¿Cómo "niegan" el contrato o impiden su ejecución?
Por ejemplo, en los derivados financieros, dos partes acuerdan una negociación por una opción de compra. Si el comprador inicia el contrato con un precio de ejercicio incorrecto, ¿qué impide que la contraparte se vea obligada a aceptar ese precio?
No se puede "enviar un contrato a alguien". Puede implementar un contrato en la cadena de bloques, pero las personas deben interactuar con el contrato desde su cuenta para que el contrato les afecte. Lo único que puede hacer sin el consentimiento de la parte receptora es enviarles ether, pero entonces solo está tirando su dinero.
(Supongo que por "envía un contrato inteligente a alguna dirección", quiere decir "llama a un contrato a alguna dirección") Supongamos que dos cuentas, A y B, tienen 10 éter en ellas. Si alguien llama a una función en un contrato inteligente de acuerdo con las reglas de Ethereum que, digamos, mueve 1 éter de la cuenta A a la cuenta B, entonces todos los que siguen las reglas de Ethereum estarán de acuerdo en que la cuenta A ahora tiene 9 éter y la cuenta B tiene 11 Si alguien ignorara la llamada de función que realiza la transferencia, aún pensaría que la cuenta A tiene 10 ether y la cuenta B tiene 10.
Básicamente, esto no es diferente del propietario de la cuenta A que simplemente modifica su cliente Ethereum para acreditar la cuenta A con un millón de éter de la nada. El resultado es que la cuenta A tiene una realidad subjetiva diferente a la de todos los demás.
¿Por qué importa esto? Imagínese si yo, solo, creyera que los dólares canadienses (CAD) están a la par con los dólares estadounidenses (USD) y fuera a un restaurante estadounidense y pagara con CAD al valor nominal. El resultado, como era de esperar, es que el restaurante no aceptó mi pago. El resultado sería muy diferente si el restaurante también creyera USD=CAD. Entonces aceptarían mi pago, pero nadie más aceptaría nuestro CAD a la par. Así que esto es un fuerte desincentivo para que el restaurante crea que USD = CAD, que nadie más que yo tendría esa creencia. Están fuertemente motivados para ir con lo que sea que la mayoría de la gente crea porque eso, en igualdad de condiciones, les da la mayor utilidad para su CAD y USD. Para cualquier pensador racional acotado, esto también es cierto. Por lo tanto, esperaría que todos convergieran en una creencia unificada en el valor de USD y CADpor razones egoístas . Consulte también esta pregunta sobre por qué se puede converger un valor particular para CAD y USD.
kevin k
pulmónj
throw
en un contrato de recepción para bloquear un pago. Asimismo, un contrato puede afectar a un usuario que no sea parte del mismo. Podría escribir (si supiera cómo escribir contratos) un contrato de token ERC20 que represente acciones en una organización del mundo real e inicializar un conjunto de accionistas. Una persona, nombrada como propietario (a través de acnt), puede, en teoría, obtener un préstamo de alguien que use los tokens como garantía sin interactuar con el contrato. Incluso podría otorgar una deuda a un usuario en el token. Por lo tanto, creo que 2/3 de las declaraciones anteriores no son ciertas.pulmónj
manuhalo
pulmónj
manuhalo
balance
campo y poner una cuenta aleatoria en negativo, pero eso es equivalente a que yo escriba "me debes 1 billón de $" en una hoja de papel, en realidad no significa nada y no tiene ningún efecto legal. Si conoces una forma de hacer esto, compártela conmigo y podemos enriquecernos :p