일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- DAPP
- 암호화폐
- 개발
- keras
- 블록체인
- 블록체인개발
- pythonic
- 마스터링 이더리움
- 이더리움
- smart contract
- 파이썬
- javascript
- 레디스
- 솔리디티
- 개인키
- js
- solidity
- 공개키
- 주소
- 알고리즘
- 문자열
- 비트코인
- Redis
- python
- 스마트컨트랙트
- 마스터링 비트코인
- Ethereum
- 백서
- node js
- 마스터링비트코인
- Today
- Total
목록블록체인 (16)
개발이야기
Ch.11 Bitcoin Security Security Principles비트코인의 핵심 원칙은 분권화이며 보안에 중요한 영향을 미친다. 은행같은 중앙 집중식 모델은 악의적인 행위자에 대한 접근 제어 및 심사에 의존한다. 이에 비해 비트코인과 같은 분산 시스템은 책임과 통제를 사용자에게 넘긴다. 네트워크의 보안은 접근 제어가 아닌 작업 증명(PoW)을 기반으로 하기 때문에, 네트워크가 오픈될 수 있고 비트코인 트래픽에 대한 암호화가 필요하지 않다. 비트코인 트랜잭션은 특정 수신자에게만 특정값을 허용하며 위조되거나 수정될 수 없다. 당사자의 신원과 같은 개인정보는 공개하지 않으며 추가 지불 권한을 부여하는데 사용될 수 없다. 따라서 비트코인 결제 네트워크는 암호화되거나 도청으로부터 보호받을 필요가 없다...
Ch.10 Mining and Consensus Changing the Consensus Rules합의 규칙은 거래와 블록의 유효성을 결정한다. 합의 규칙은 단기간에 변하지 않으며 모든 노드에서 일관되어야 하지만, 장기적으로 변함이 없는 것은 아니다. 비트코인 시스템이 진화하고 발전하기 위해서 새로운 기능, 개선 사항 또는 버그 수정을 수용하기 위한 규칙이 수시로 변경되어야 한다. 그러나 전통적인 소프트웨어 개발과 달리 합의 시스템의 업그레이드는 훨씬 어렵고 모든 참여자 간의 조정이 필요하다. Hard Forks네트워크가 다음 두 가지 사슬로 갈라질 수 있는 또 다른 시나리오가 있다 : 합의 규칙의 변화. 이 유형의 포크를 하드포크라고 한다. 포크 후에 네트워크가 단일 체인으로 재구성되지 않는다. 대신,..
Ch9. The Blockchain Introduction(블록체인이란?)블록체인 데이터 구조는 트랜잭션 블록의 정렬된 역 링크 목록이다. 블록은 "뒤로" 링크되어 체인의 이전 블록을 각각 참조한다. [그림1] - 블록체인은 블록으로 이루어진 링크드 리스트 블록체인은 첫 번째 블록을 스택의 기초로 사용하여 수직 스택으로 시각화되는 경우가 많다. 서로 쌓인 블록을 시각화하면 "높이"와 같은 용어를 사용하여 첫 번째 블록과의 거리를 참조하고 "top" 또는 "tip"을 사용하여 가장 최근에 추가 된 블록을 나타낸다.[그림2] - 수직 스택으로 시각화된 블록체인 블록에는 부모가 하나 밖에 없지만 일시적으로 여러 자식이 있을 수 있다. 각 자식은 부모와 동일한 블록을 참조하고 "이전 블록 해시"필드에 동일한 (..
Ch 08 - Bitcoin Network P2P 네트워크 아키텍처비트코인은 인터넷상에서 PEER TO PEER 네트워크 아키텍처 구조를 이루고 있다. 피어투피어, 즉 P2P라느느 용어는 네트워크에 참여하는 개인은 서로에게 동료이며 모두 동등한 지위를 가지고 있고 ‘’특별한‘ 노드는 존재하지 않으며 모든 노드가 네트워크 서비스를 공급하는 역할을 분담하는 것을 의미한다. 네트워크상의 여러 노드는 서로 ’동등한‘ 토폴로지를 가지면서 그물망 네트워크에서 서로 연결되어 있다. 네트워크내에는 어떠한 서버나 중앙화된 서비스, 위계질서도 존재하지 않는다. P2P 네트워크의 노드는 서비스를 제공하고 동시에 서비스를 이용하며, 네트워크는 본질적으로 회복력이 있고 분산화되어 있으며 개방 체제다. P2P 네트워크는 본질적으..
Ch7. Advanced Transactions and Scripting Introduction이전 장에서는 비트코인 트랜잭션의 기본 개념을 소개하고 가장 일반적인 트랜잭션 스크립트 인 P2PKH 스크립트를 살펴보았다. 이번 장에서는 고급 스크립트 작성 방법과 복잡한 조건이 있는 트랜잭션을 작성하는 방법에 대해 살펴보겠다. Multisignature기존의 비트코인 시스템은 하나의 주소에 하나의 개인키가 연결된 단일서명(Single-signature) 거래 방식이지만 다중서명(Multisignature) 방식은 하나의 주소에 n개의 개인키가 설정되어 있다. 이 다중서명 주소에서 인출을 할 때는 n개의 개인키 중에서 m개의 서명이 있어야 가능하다. 이를 M-of-N 거래라고도 알려져 있으며, 여기서 N은 전..
마스터링 비트코인 Ch6 - Transaction Transaction거래는 비트코인 시스템 참가자 간 가치 이전을 암호화하는 데이터 구조다. 각 거래는 세계적인 더블-엔트리 부기 원장인 비트코인 블록체인의 공개 항목이다.Transactions in Detail블록 탐색기 응용 프로그램은 앨리스의 "주소"에서 밥의 "주소"로의 거래를 보인다. 이것은 실제 거래에 포함된 내용보다 훨씬 적은 내용이다. 사실, 이 장에서 볼 수 있듯이, 표시된 정보의 대부분은 블록 탐색기에 의해 생성되며 실제로 트랜잭션에 포함되지 않는다.[그림 6-1] 밥의 카페에 대한 앨리스의 거래 Transactions—Behind the Scenes이면에는 실제 거래는 전형적인 블록 탐험가가 제공하는 거래와 매우 다르게 보인다. 실제로..
마스터링 비트코인 Ch 05 - Wallet Wallets비트코인에서의 '지갑'은 몇 가지 다른 의미로 쓰인다. 높은 수준에서 ‘지갑’은 기본 사용자 인터페이스로 사용되는 응용 프로그램이다. 사용자의 돈에 접근하고, 키와 주소 관리, 잔액 추적, 트랜잭션 생성 및 서명을 제어한다. 조금 더 좁은 의미의 프로그래머의 관점에서 보면 ‘지갑’이라는 단어는 사용자의 키를 저장하고 관리하는 데 사용되는 데이터 구조를 의미한다. 이 장에서는 두 번째 의미를 살펴볼 것이다. Wallet Technology Overview비트코인 지갑에 비트코인이 들어 있다는 것은 오해다. ‘코인’은 비트코인 네트워크의 블록체인에 기록되고 ‘지갑’에는 ‘키’만 들어있다. 지갑은 개인키, 공개키 쌍을 포함하는 키 체인이라고 할 수 있다..
안녕하세요. 이번 포스팅에서는 스마트 컨트랙트로 작성된 view 함수에 반환값을 Web3.js로 불러오는 코드를 구현해보도록 하겠습니다. OS : Windownode js : 10.15.0npm : 6.5.0Solidity IDE : Remix 먼저 간단한 스마트컨트랙트 코드를 작성해줍니다. 간단하게 코드 설명을 해보겠습니다.set_data 에서는 index 값을 새롭게 설정해줍니다. get_data 함수에서는 현재 index 값을 반환해줍니다.view 함수는 state를 바꾸지 않고 트랜잭션을 사용하지 않기 때문에 가스 소모가 없습니다.그렇기 때문에 값을 반환하고 보여주는 용도로 Dapp 개발을 할 때 굉장히 유용하게 사용됩니다. 코드 완성후 컴파일이 완료되면 해당 스마트 컨트랙트를 배포해줍니다. (저..