블록체인/Solidity (1) 썸네일형 리스트형 [Solidity] 스마트 컨트랙트에서 재진입 공격과 address.call()과 address.transfer()의 차이 Reentrancy Attack을 공부하면서 의문이 생겼다.fallback function은 ether가 Contract에 송금되면 정말 무조건 실행되는 것인지.. 실제로 코드를 짜서 재진입 상황을 재현해보려고 했는데.gas 비용이 부족하다고 재진입이 안되는 것이었다....안심스러우면서도 대략난감한 상황.... Reentracy Attack이란? 재귀적인 방법을 사용해서 Contract에서 보유한 모든 이더를 출금하는 방법이다. 해커가 계약을 작성해서 다른 계약으로부터 송금받는 코드를 작성한다.그리고 해커가 정의한 fallback function에서 다시 해커가 작성한 계약에 이더를 송금하는 function(앞서 호출한 함수와 동일한 함수)을 호출하는 방법으로 퍼브릭 블록체인의 경우 Contract의 코.. 이전 1 다음