최신 글 40. 10년 이상 투자할 크립토 포트폴리오를 추천한다면? 2009년 1월 3일 비트코인의 첫 블록이 생성되었다. 즉 비트코인의 탄생은 2009년 1월 3일이다. 비트코인이 탄생 이후 가격이 형성되기까지는 꽤 시간이 걸렸지만 분명히 투자라는 관점에서 본다면 비트코인을 투자한 첫 시기는 2009년 1월 3일이 가장 정확한 시기다. 비트코인을 채굴로만 투자할 수 있었던 그 때로부터 14년 8개월이 지났다. 비트코인의 총공급량은 2,100만 개다. 이 글을 쓰는 시점에서는 1,949만 개가 채굴되었으며 채굴 가능한 비트코인은 151만 개 정도 된다. 물론 비트코인 초기와는 달리 현재의 채굴은 채굴을 위해서 투자되는 비용과 수익측면에서 큰 차이가 발생하지 않는다. 그럼에도 불구하고 비트코인의 채굴시스템은 여전히 많은 사업자들에 의해서 잘 운용되고 있으며 앞으로도 지속 .. 2023.09.26 39. 당신의 자산은 분산되어 있나요? 분산투자의 중요성을 투자자가 모를 리 없다. 그런데 예상치 못한 경기침체에 이를 달성하는 투자자는 적다. 특히 지금과 같은 전반적인 경제침체시기에는 그 어떤 분산투자도 성공하지 못한다. 자산을 배분하여 투자한다고 하여 주식과 부동산 크립토등에 잘 분산하였더라도 모두 하락이기 때문에 진정한 의미에서 분산투자가 아니다. 성공적인 분산투자는 했더라도 좀더 깊은 의미의 분산투자를 이제야 깨달을 수가 있다. 분산투자의 핵심은 나의 자산이 어떠한 상황에서도 최대한 리스크를 회피하는 전략이다. 즉 투자를 분산하는것보다 더 중요한 건 자산에 대한 하락을 회피해야 한다. 일반적으로 '헷지'라는 용어를 사용한다. 미래에 발생할지도 모를 가격변동에 대비하는 전략이다. 그런데 '헷지'를 단순히 같은 자산군내에서 다른 자산으로.. 2023.09.12 [블록체인 보안] 스마트컨트랙트 취약 (transfer(),send() 부적절한사용) payable.transfer(), send()의 부적절한 사용 이스탄불 하드포크에서 EIP1884가 시행된 이후, SLOAD 작업의 가스 비용이 증가함으로써 일부 기존 스마트계약이 손상됨. ETH를 수신자에게 전송할때, 솔리디티의 transfer() 또는 send() 매서드를 사용하는 경우 특정한 결함이 발생할 수 있는데, 특히 수신자가 스마트계약인 경우임. 이러한 결함으로 인해 ETH를 스마트계약 수신자에게 성공적으로 전송할 수 없게 될 수 있음. 구체적으로 스마트계약이 다음중 하나를 만족할때 전송은 반드시 실패함. 1 . 지불 가능한 fallback 함수를 구현하지 않은 경우. 지불 가능한 fallback 함수가 2300 이상의 가스 단위를 소비하는 경우 2300 이하의 가스단위를 소비하는 지불 가.. 2023.08.25 [블록체인 보안] 스마트컨트랙트 취약성(반복문에 return사용) 내부 루프 반복에서의 return 사용으로 의도치 않은 종료 발생 BankContractBug의 addBanks 함수는 루프 반복 내에서 return 문을 잘못 사용하여 루프가 의도치 않게 종료되는 문제를 나타냄. Return 문이 내부 루프 내에 배치되어 있으며, 이로 인해 모든 은행 주소에 대한 반복이 완료되기 전에 함수가 조기 종료됨. 조치방안 Return 대신에 break를 사용. 테스트 소스 https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/return-break.sol 취약성 코드 테스트 참고문서 https://web3sec.notion.site/Return-vs-break-06125cc0e8ff4328b6b3551ad8b04ce5 2023.08.25