안녕하세요 klatn을 통해서 개발을 진행을 하고 있습니다.
다름이 아니라 난수 생성하는 부분에서 많은 부분을 고려해야 한다고 생각을 하여 질문을 드립니다.
실타래 NFT사건도 있듯이 외부 데이터를 따오지 않는 이상 완전하게 안전한 난수 생성이 어려운 것으로 알고 있고 저는 안전한 난수 생성이 필요한 상황입니다.
혹시 안전한 난수 생성이 가능한 방법이 있는지가 의문이 들어거 질문을 남깁니다.
- 글이 좀 두서가 없는거 같네요;;
function makeRandomNumber(uint256 _tokenNumber)
internal
view
returns (uint256)
{
return
uint256(
keccak256(
abi.encodePacked(
block.timestamp,
msg.sender,
block.difficulty,
blockhash(block.number - 1),
_tokenNumber
)
)
) % 100;
}
최대한 검색을 통해서 어찌저찌 값들을 넣어보았는데 이러한 코드가 안전한 난수 생성이 가능한지도 궁금합니다.
감사합니다.