일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Ethereum
- 이더리움
- 공개키
- DAPP
- js
- 블록체인개발
- 주소
- solidity
- 개발
- keras
- 알고리즘
- smart contract
- Redis
- 스마트컨트랙트
- 마스터링비트코인
- 마스터링 이더리움
- 파이썬
- 블록체인
- 솔리디티
- pythonic
- 레디스
- javascript
- node js
- 비트코인
- python
- 문자열
- 암호화폐
- 백서
- 마스터링 비트코인
- 개인키
- Today
- Total
목록블록체인 (34)
개발이야기
보통 메타마스크가 설치되어 있는 브라우저에서 web3를 사용할 때 아래와 같이 코드를 작성합니다. window.addEventListener('load', () => { // Checking if Web3 has been injected by the browser (Mist/MetaMask) if (typeof web3 !== 'undefined') { // Use Mist/MetaMask's provider web3js = new Web3(web3.currentProvider); } else { console.log('No web3? You should consider trying MetaMask!'); // fallback - use your fallback strategy (local node / ..
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] - 수직 스택으로 시각화된 블록체인 블록에는 부모가 하나 밖에 없지만 일시적으로 여러 자식이 있을 수 있다. 각 자식은 부모와 동일한 블록을 참조하고 "이전 블록 해시"필드에 동일한 (..
How to convert string to bytes32 ? 어떻게 string 타입을 bytes32로 변환할 수 있을까. (web3 내에서)이 질문에 대한 구글링 결과 많은 솔루션들이 있었다. 그 중에 하나가 web3.utils.fromAscii(text)이다. 하지만 에러가 발생하였는데 에러는 다음과 같았다. "Invalid bytes32 value" 아니 bytes32로 변환시켜준다면서 bytes32가 아니라니 !!! 추후에 알고보니 문제는 0으로 팬딩이 되지 않는것이었다. 스택오버플로우에서는 해당 솔루션으로 문제를 해결했다고 하는데 어떻게 해결되었는지 궁금하다. 0을 수동으로 팬딩해주는 방법도 생각했지만, 길이의 가변성을 일일히 막기는 귀찮다고 생각하였다.그래서 함수를 제공해주는 패키지를 찾아봤..
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이면에는 실제 거래는 전형적인 블록 탐험가가 제공하는 거래와 매우 다르게 보인다. 실제로..