Как сделать мой DAPP «Гарантированное доказательство?»

Когда появится Serenity, сеть претерпит много изменений, некоторые из которых могут иметь неожиданные последствия для существующих Smart Contracts. Как я могу планировать, чтобы я был лучше подготовлен к использованию новых функций в Serenity и наименее вероятно, чтобы увидеть неожиданные ошибки и недостатки безопасности?

27 голосов | спросил Tjaden Hess 21 Jam1000000amThu, 21 Jan 2016 10:11:36 +030016 2016, 10:11:36

1 ответ


31

Пока не известно, но:

  1. Не полагайтесь на очень мелкозернистые расчеты текущих расходов на газ. Предположим, что расходы на газ по контракту могут увеличиваться или уменьшаться на порядок в будущей жесткой вилке.
  2. Если вы создаете контракты в сборке (т. е. не змеи, прочность или LLL), НЕ используйте динамические операции JUMP /JUMPI (то есть каждый JUMP /JUMPI должен быть , непосредственно предшествующий значением PUSH, определяющим точная точка в коде для перехода)
  3. НЕ делайте ничего важного на основе кода операции DIFFICULTY.
  4. НЕ полагайтесь на предположение о блочном времени между 12-20 секундами.
  5. НЕ предполагайте, что BLOCKHASHES будет надежным источником случайности.
  6. НЕ допускайте, чтобы tx.origin оставался полезным или значимым.
  7. НЕ предполагайте, что коды операций, отличные от 0xfe, будут оставаться недопустимыми.

Не уверен, что все эти шаги потребуются или что их будет достаточно, но это должно сделать вам большую часть пути.

ответил Vitalik Buterin 21 Jam1000000amThu, 21 Jan 2016 10:50:15 +030016 2016, 10:50:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132