Личная информация о Ethereum

Есть ли способ хранить информацию по интеллектуальному контракту и хранить ее в тайне?

Если у контракта есть переменная состояния, которая не является общедоступной:

contract foo{
    uint public publicVariable;
    uint notPublic;
}

«notPublic» действительно не является публичным? что, если он содержит секретную информацию, такую ​​как кредитная карта #? это нормально? если бы я захотел сохранить некоторую секретную информацию в этой переменной, есть ли способ сделать это, чтобы никто не мог ее получить, даже если это привязка?

17 голосов | спросил zunior 3 PMpSun, 03 Apr 2016 23:10:54 +030010Sunday 2016, 23:10:54

2 ответа


22
  

Все, что есть в блоке «Эфириум», является общедоступным.

Поэтому вы не можете скрывать данные. Это связано с тем, что каждый узел Ethereum хранит копию всей цепочки блоков, и поэтому каждый узел теоретически может проверить свою копию, чтобы найти любые данные, которые вы хотели бы быть скрытыми .

Это не значит, что вы не можете помещать конфиденциальные данные в блок-цепочку, вам просто нужно сначала зашифровать ее.

Шифровать данные с помощью открытого ключа

Если вы хотите хранить конфиденциальную информацию пользователя в блочной цепочке, вы должны зашифровать данные своим открытым ключом. Только пользователь со своим личным ключом может расшифровать его.

Это может показаться, что вам больше нужно работать с более обычным веб-приложением, но на самом деле это выгодно. Если вы предполагаете, что ваш доступ к данным может быть получен злоумышленником, вы избежите многих ошибок безопасности, которые вызывают эти огромные нарушения данных. Безопасность безвестности на самом деле не является безопасностью!

ответил Karl Floersch 4 AMpMon, 04 Apr 2016 01:58:01 +030058Monday 2016, 01:58:01
12

Вы можете зашифровать данные и сохранить ключи вне сети:

Смотрите: https://github.com/brix/crypto-js

ответил Denis 3 PMpSun, 03 Apr 2016 23:25:57 +030025Sunday 2016, 23:25:57

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

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

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