無知

갈 길이 먼 공부 일기

보안 2

스마트 컨트랙트 (7) | 보안성을 갖춘 컨트랙트 작성법

1. 이더리움 내 모든 데이터는 공개되어 있음을 명심하자 - private variable로 선언되었더라도, getStorageAt 함수를 통해 해당 컨트랙트의 변수를 읽어낼 수 있다. - 구체적으로는 상기 함수를 통해 컨트랙트 내 변수가 인코딩된 값을 받게 되는데, 데이터타입에 따라 복잡도는 다를 수 있어도 충분히 해석할 수 있다. 2. 이더리움 송금은 transfer method를 사용하자 * 송금 방법 1 : address.send(value) - 송금 실패 시 false만 반환하고 exception을 발생시키지 않음. * 송금 방법 2 : address.transfer(value) - 송금 실패 시 exception을 발생시키고 중단됨 - 2300 가스만 보내서 실행되므로 컨트랙트의 무한 호출을 ..

스마트 컨트랙트 (6) | 보안 : 해킹 및 버그 사례

해킹 및 버그 사례 해당 내용은, 블록체인 및 스마트 컨트랙트 분야에서 코드 및 시스템의 안정성과 보안, 호환성 등의 문제가 얼마나 중요한 사안인지를 체감할 수 있는 현실 사례들의 모음이라고 보면 된다. As many supporters argue, bugs are to be expected on any new platform. However, in ethereum, code issues have proven uniquely hazardous, since its smart contracts are supposed to be 'immutable' (that is, they can't be changed after the fact), including any and all errors. The most no..