Wpis z mikrobloga

Mam takie pytanie. Jeśli w solidity w kontrakcie w storage zbieram dane do tablicy, ale jako admin mam możliwość zczyszczenia storage w kontrakcie to kontrakt będzie ją miał zczyszczoną. Jakie są szanse, że z blockchainu ktoś wyciągnie dane, które miał kontrakt? Inżynieria wsteczna czy jak to się po Polsku zwie, jednak jestem ciekawy jak to jest zapisane i jak ciężko dobrać się do storage kontraktu sprzed jakiegoś czasu.
#programowanie #blockchain #ethereum #solidity #security #hacking #bezpieczenstwo #kryptowaluty
  • 8
@mirko_chat wiem, że źródłowy skompilowany i wiem, że to nie problem poza ukrytymi funkcjami(ten pattern wykminiłem w crypto kitties i będę testował), natomiast to znaczy, że trzymanie nawet zaszyfrowanych danych w storage nie jest bezpieczne? Można sobie po prostu namierzyć blok i zobaczyć co jest w środku?
@xDrope: Każdy node w sieci wykonuje kontrakt na podstawie przechowywanych danych i danych wejściowych. Jeśli coś wysłałeś, to jest jawne. Jeśli wysłałeś zaszyfrowany tekst to jest on dalej zaszyfrowany choć publicznie dostępny.
@mirko_chat wiem, ale nie da się gasem zasłonić przed brute forcem. Muszę jeszcze zgłębić temat, ale chciałem mieć tam DB nie do ruszenia albo właśnie chronioną gasem przed atakami BF.
@mirko_chat: zaszyfrowane dane. Wyciągnie z blockchainu i sobie będzie łamać. Żyłem w błogiej nieświadomości, że musiałby to robić przez mój smart contract i koszty by zjadły opłacalność łamania szyfru.
@xDrope: Chcesz przechować zaszyfrowane dane w kontrakcie czyli wysłać zaszyfrowane jako parametr, a potem wyciągnąć któregoś dnia zaszyfrowane jako dane? W takim razie ktoś też może je wyciągnąć i łamać je lokalnie. Koszt gasem jest płacony gdy kontrakt jest wykonywany, a tutaj kontrakt na tych danych nie pracuje.