일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- viewcontroller
- 분산원장
- 비트코인
- DPOS
- 알고리즘
- 블록체인
- 블록체인 기술
- dsYM
- DEFI
- 이더리움
- .dsym
- solidity
- ios
- pow
- 재진입공격
- 백준
- reentrancy
- 프로그래머스
- Crash
- Report
- External Call
- PBFT
- ethereum
- Xcode
- view 이동
- Blockchain
- POS
- Mining
- 암호화폐
- Algorithm
- Today
- Total
목록reentrancy (2)
개발하기좋은날
Fallback, Receive 함수에 대해 알아보겠습니다 Fallback - 대비책 함수 - 무기명 함수 즉 이름이 없는 함수 - external과 payable이 필수 어떤 경우에 사용이 되는가? - 스마트 컨트랙트가 이더를 받을수 있게함 - 이더를 받고 난 후 어떠한 행동을 취하게 할 수 있음 - Call 함수로 없는 함수가 불려질떄, 어떠한 행동을 취하게 할 수 있음 0.6 이전 버전의 Fallback은 아래와 같이 사용 function() external payable { } 0.6 이후 fallback Fallback은 Recevie와 Fallback 두가지 형태로 나뉨 Receive: 순수하게 이더만 받을때 작동 Fallback : 함수를 실행하면서 이더를 보낼때, 불려진 함수가 없을 때 작..
External call에 이어서 관련된 재진입 공격에 대해 알아봅시다. 이더리움의 DAO 해킹 사건이후 가장 요구되는 기본 보안 사항이다 보통 재진입 공격같은 경우 External Call의 address.call에 의해 발생한다 DAO 사건또한 이러한 문제 떄문에 발생한 이슈입니다 1. 단일 함수에 대한 재진입 입니다 // INSECURE mapping (address => uint) private userBalances; function withdrawBalance() public { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); // At t..