본문 바로가기

blockchain5

[이더리움 dApp] 로또 스마트 컨트랙트 Tutorial 1. 개요 블록체인은 기존 중앙 시스템과 달리 분산 원장을 가진다는 장점을 가지고있다. 이 장점을 이용하면 데이터가 여러사람에 의해 무결성을 검증받을 수 있다는 점이다. 블록체인 기술로 만들어진 이더리움은 블록체인이 가진 장점에 더해 스마트 컨트랙트를 작성할 수 있게 되었다. 이번 튜토리얼은 로또 스마트컨트랙트를 만들어 보는 내용이다. 위 그림은 로또 dApp의 전체적인 구성도이다. 참여자들은 스마트 컨트랙트를 이용해 일정 금액을 모금하고 모금이 완료되면 컨트랙트 생성을 했던 사람은 당첨자 추첨을 진행합니다. 2. 로또 컨트랙트 작성 pragma solidity ^0.5.10; contract Lottery { } 기본적인 컨트랙트를 작성합니다. 필요한 변수는 2가지가 필요합니다. 스마트 컨트랙트 생성자.. 2019. 8. 10.
[비트코인]SegWit vs SegWit2x - 세그윗과 세그윗2x SegWit (Segregated Witness) - 분리된 증인 BlockStream의 Peter Wiulle가 구상한 SegWit은 하나의 Side Chain 개념이다. 분리된 증인(Segregated Witness)는 각각의 트랜잭션, 전체 트랜잭션의 서명 정보와 같다. 기존의 서명정보는 Merkle Tree에 같이 존재해왔지만, SegWit을 통해 Side Chain으로 분리해 Main Chain과 병렬적으로 동작한다. BIP 141 (Bitcoin Improvement Proposal)에서 제한된 기존 트랜잭션의 포멧을 바꾸는 Soft Fork이다. BIP는 Bitcoin 개선안을 제안한 것들을 의미한다. BIP 뒤에 존재하는 숫자는 몇 번째로 제안된 개선안인지를 의미하는데 BIP 414에서는 .. 2019. 4. 4.
[이더리움]Genesis json이 무엇인가 Ethereum - Genesis.json실제 이더리움 기반 DApp을 배포하려면 실제 이더를 소비하여 컴파일된 코드를 블록으로 저장을 해야한다. 운이좋게 오류 없이 실행이 된다면 단 한번의 배포비용만 지불하면 되겠지만, 이미 배포된 DApp에 오류가 발견된다면 수정 후 다시 배포를 해야 하기 때문에 추가로 이더를 소비해야 한다. 따라서, 개발자들은 실제 배포단계 이전에 Private Network를 통해 테스트 한다면 손실되는 비용을 줄일 수가 있을 것이다.Geth를 이용해 Ethereum private Network를 구성하기 위해서는 처음 제네시스 블록을 생성해주어야 한다.이때, Genesis.json에 제네시스 블록에 대한 설정을 해주는데, 이 파일의 구조를 알면 대략적인 이더리움 블록의 구조를 .. 2018. 12. 1.
[비트코인]Bitcoin Transaction Bitcoin Transaction인터넷으로 블록체인을 공부하다보면 햇갈리는 내용들이 자주 나온다. 그 중에서 Bitcoin의 Transaction에 대한 내용인데, 사실 이 부분을 누군가에게 설명하기 전에 혼자 공부를 할때는 이해가 가는 것 같았지만 막상 설명하려고 하니 의문점이 많았다. 그 내용을 바탕으로 정리를 해보았다. 예를 들어보자, A에서 B로 송금한다고 가정한다. 1. 먼저 Transaction정보 (A->B 거래정보)와 B의 공개키를 가져와서 해싱을 한다.2. A의 개인키로 전자서명을 한다.3. 모든 노드들에게 Broad Casting한다.4. 마이너는 A의 공개키를 이용해서 전자서명을 검증 후 트랜잭션 풀에 등록을 한다. (비트코인에서는 해시함수로 SHA-256를 사용한다.)이 부분이 끝.. 2018. 11. 26.
룸 네트워크(Loom Network)를 알아보자 [ERC-20 토큰] 룸 네트워크 (Loom Network) 토큰룸 네트워크 (Loom Network)란? 룸 네트워크 (Loom Network)는 온라인게임과 소셜앱의 디앱(decentralized Application, dApp) 개발을 위해 만들어졌고, 기존 이더리움 기반 dApp들이 가지고 있는 확장성의 한계를 극복하기 위한 프로젝트이다. 이더리움 기반의 토큰인 ERC-20이다. (추후에 이 부분은 포스팅 해야겠다) 실제로 쓰이는 곳은 대표적으로 이더리움의 솔리디티를 게임으로 쉽게 배울 수 있는 게임인 크립토좀비가 Loom Network로 만들어진 대표적인 디앱이다.아시다시피 이더리움 기반의 dApp들은 사용자가 증가함에 따라 트랜젝션 속도가 감소하고 활용성이 떨어지는 문제를 가지고 있었다.실제로.. 2018. 10. 25.