이더리움
-
[Binance특집] 바이낸스는 왜 BSC를 만들었을까?BlockChain/Technology 2021. 12. 6. 01:25
안녕하세요. 오늘은 바이낸스를 쭉 써왔지만 쓰기만하고, 지나쳐왔던 바이낸스의 재미난 이야기를 해보려 합니다. 바이낸스는 명실상부 전세계 최대 암호화폐 거래소입니다. 하루 거래량만 2위인 코인베이스의 4배나 된답니다 ! 이 어마어마한 거래량을 여기까지 끌어올렸던 원동력은 무엇일까요? 바로 BNB입니다. 미국에는 달러가 한국에는 원화가 있듯이 바이낸스에는 기축통화의 역할을 해온 그 기둥이 BNB입니다 ! BNB를 알면 바이낸스가 왜 BSC를 만들었는지 알 수 있답니다. 1. BNB 바이낸스 코인은 2017년 7월에 발행되었습니다. 지난 5월에는 시가총액을 1000억을 넘겼습니다. 글로벌 자산 데이터 플랫폼 애셋 대시(Asset Dash)에 따르면 폭스바겐 그룹, 스퀘어를 넘어선 순위입니다. 암호화페 시장의 ..
-
같이보는 블록체인 개념 (9) 어카운트(Account)BlockChain/Technology 2021. 8. 22. 19:53
오늘의 주제는 Account입니다. Account는 블록체인에서 아주 중요한 개념입니다. 이더리움에서 계정은 마치 나의 아바타와 같습니다. 나를 대변해서 모든 트랜잭션의 주체가 되며, 컨트랙트일 경우에는 컨트랙트의 관리자가 되어줍니다. 1. 어카운트 이더리움의 데이터들은 state에 저장이 되어 네트워크에 반영이 됩니다. state는 account들로 구성되어 있습니다. account들은 자기 자신에 대한 정보와 20바이트 주소를 가집니다. 이더리움 어카운트는 기본적으로 4개의 요소로 구성이 됩니다. Nonce : 각 트랜잭션이 오직 한번만 처리되게 하는 카운터 Value : 어카운트의 현재 ether 잔고(단위 wei) CodeHash : 어카운트의 EVM 코드의 해시값으로 컨트랙트 어카운트에서 실행시..
-
같이보는 블록체인 개념 (6) 트랜잭션이 처리되는 과정BlockChain/Technology 2021. 8. 17. 07:26
블록체인을 이해할 때 가장 어려운 점은 돌아가는 것들이 눈에 직접 보이지 않는다는 점입니다. 배우면 배울수록 이렇게 돌아가는 것일까 순서는 어떻게 처리되는 것일까 궁금중이 생겼습니다. 이번 시간에는 트랜잭션의 입장에서 발생부터 처리되어 네트워크에 전파되는 과정까지 정리해보려 합니다. 트랜잭션이 헷갈린다 하는 분들 잘오셨습니다 ! 이더리움에서 트랜잭션이 채굴되는 과정 1. 사용자가 자기 주소의 개인 키로 트랜잭션을 요청 작성하고 서명합니다. 2. 사용자는 일부 노드에서 전체 이더리움 네트워크로 트랜잭션 요청을 전파합니다. 3. 새로운 트랜잭션 요청에 대해 들은 이더리움 네트워크의 각 노드는 블록의 블록체인에 아직 커밋되지 않은 모든 트랜잭션 요청 목록인 local mempool에 요청을 추가합니다. Mem..
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 2.FalloutBlockChain/Technology 2021. 8. 11. 02:19
오늘의 풀어볼 문제는 Fallout 입니다. 이번 주제는 Rubixi라는 회사에서 일어났었던 이더리움 생태계의 실화를 바탕으로 만들어진 내용입니다. 공격자는 아주 간단한 방법으로 onwership을 주장하고, 일부 자금을 훔칠 수 있었습니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello Ethernaut [Ethernaut 풀이] 이더리움을 해킹해보자 - 1.Fall back 1. 목표 확인 컨트랙트의 소유권을 주장하기 이번 level은 목표도 하나이고, 하는 방법은 간단합니다. 그냥 ownership만 가져오면 됩니다. Get new instance 버튼을 눌러 인스턴스를 생성하고 시작합니다. 2. 문제풀이 이번에 주어진 컨트랙트의 코드입니다...
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 1.FallbackBlockChain/Technology 2021. 8. 11. 01:11
오늘의 풀어볼 문제는 Fallback 입니다. Fallback은 컨트랙트 함수에 없는 함수를 호출했을 때 실행되거나 컨트랙트에 receive 함수가 없는 데 data 없이 호출되었을 때 실행됩니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello Ethernaut 1. 목표 확인하기 컨트랙트의 주인이 되어야 한다. 컨트랙트의 잔액이 0이 되어야 한다. Get new instance를 눌러 게임을 시작합니다. 콘솔창에 보면 Level address와 Instance address 두 가지 주소가 나옵니다. Level - Contract Account (CA) -> Level 컨트랙트는 사용자가 요청하면 Instance 컨트랙트를 생성합니다. 콘솔 명령..
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello EthernautBlockChain/Technology 2021. 8. 10. 22:38
Ethernaut는 Web3/Solidity 기반의 게임으로 각 레벨마다 '해킹'을 해야하는 게임입니다. 플레이어는 이를 통해 이더리움 스마트 컨트랙트의 취약점을 직접 배울 수 있습니다. OpenZeppeline과 Smart Contract Auditing으로 유명한 Zeppeline team에서 제공하고 있으며, 총 15단계로 이뤄져 있고 각 레벨마다 컨트랙트의 취약점을 찾아내야 합니다. 100% 오픈 소스로 모든 레벨은 다른 플레이어가 기여한 것입니다. The Ethernaut 사이트에 접속하면 아래와 같은 화면이 나옵니다. Play now 버튼을 눌러 게임을 시작할 수 있습니다. Ethernaut play하기 https://ethernaut.openzeppelin.com/ Ethernaut ethe..
-
나만의 EtherScan만들기 with ganache, Web3.jsBlockChain/Technology 2021. 8. 5. 22:28
소개 가나슈를 이용하여 간이 블록체인을 만들고, Web3.js를 가지고 이더리움 주소/트랜잭션/블록 정보를 조회하는 사이트를 만들었습니다. 자유롭게 블록체인 내의 계정과 트랜잭션, 블록의 정보들을 조회하고, 확인할 수 있습니다. 관련 코드는 https://github.com/HongDaeEui/BlockchainProject/tree/main/MyEtherscan 에서 보실 수 있습니다. Ganache 가나슈(Ganache)란 테스트 목적으로 PC에 설치해서 사용할 수 있는 일종의 간이 블록체인입니다. 네트워크와 연결할 필요없이 로컬에서 작동시킬 수 있어 손쉽게 테스트할 수 있습니다. 테스트를 위해 100개의 이더가 미리 탑재된 10개의 테스트 계정을 확보하게 된다. ! 이더스캔을 사용하기 전에 가나슈를..
-
나만보는 Blockchain 개념 (4) 솔리디티로 이더 송금하기BlockChain/Technology 2021. 7. 27. 15:19
오늘의 주제 1. 컨트랙트에서 이더 송금하기 2. fallback() 함수 3. selfdestruct() 함수 1. 컨트랙트에서 이더 송금하기 Solidity 프로그래밍을 위해 remix.ethereum에 들어갑니다. 새로 파일을 하나 만들고, 아래 코드를 작성하고 컴파일을 합니다. pragma solidity 0.8.6; contract Test1 { uint nonce; constructor(uint _nonce) payable { nonce = _nonce; } function getNonce() public view returns (uint) { return nonce; } function withdraw(uint _nonce) public { require(nonce == _nonce); pa..