일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 암호화폐
- 블록체인 기술
- 분산원장
- .dsym
- Blockchain
- pow
- 블록체인
- ethereum
- 재진입공격
- ios
- 백준
- 이더리움
- DEFI
- view 이동
- 비트코인
- PBFT
- POS
- solidity
- Xcode
- 프로그래머스
- Report
- External Call
- Crash
- dsYM
- reentrancy
- Algorithm
- DPOS
- viewcontroller
- Mining
- 알고리즘
- Today
- Total
목록BlockChain (33)
개발하기좋은날
Hash Table이란 키를 입력값으로 해시함수(hash function)을 사용하여 변환한 해시(hash)값을 색인으로 삼아 키와 데이터를 저장하는 자료 구조 입니다 hash table에서 저장, 삭제 검색 과정 모두 평균적으로 O(1)의 시간복잡도를 가지고 있어 데이터를 다루다 작업이 빠르다 다만, 해시 충돌이 발생할 수 있고 데이터가 저장되기 전에 저장공간을 미리 만들어놔야 해서 공간 효율성을 떨어진다 해시 함수가 복잡해지면 해시값을 만들어내는데 많은 시간이 소요되 해시 함수가 중요 Hash Table 구조 - Key : 다양한 길이의 값이 들어올 수 있음, 해시 함수를 통해 변환하지 않은 상태로 저장소에 저장이 되면 다양한 길이만큼의 저장소를 구성해 두어야함 - Hash Fuction : Key를..
블록체인 기술 블룸 필터에 대해 알아봅시다 블룸 필터란 특정 원소가 집합에 속하는지 검사하는데 사용할 수 있는 확률형 자료 구조 입니다 확률적 검색 필터로 원하는 패턴이 무엇인지 정확하게 규정할 필요 없이 원하는 패턴을 설명하는 방식이라, 통계적 특성을 보였다고 할수 있습니다 또한 많은 양의 데이터를 줄여서 공간 효율적으로 빠르게 검색이 가능합니다 블룸필터는 프라이버시를 보호하면서 검색 패턴을 구현하기 위한 효율적인방법을 제공합니다 또한 블룸필터는 비트코인 언리미티드팀이 노드에 알려지지 않은 거래를 식별하는데 도움을 주고 있습니다 예로 SPV노드가 블룸필터를 사용해 이웃 노드들에게 특정 거래를 제공해 달라고 요청하는데 이때 노드는 검색중인 주소가 정확히 어떤 주소인지 밝힐 필요는 없습니다 자세히 알아봅시..
비트코인 기술에 대해 알아보자 탭루트(Tap root)는 슈노르 서명(Schnorr Signature)과 함께 세그윗 도입 이후 많은 기대를 모으로 있는 비트코인의 기술적 업그레이드 특징 : - 프라이버시, 확장성, 보안을 강화 하기 위해 비트코인 스크립트 작동 방식의 변화 탭루트는 비트코인의 프라이버시, 확장성, 보안을 해결하기 위해 사용된다 그렇다면 탭루트란 무엇인가? 탭루트는 비크토인의 스크립트를 개선하여 프라이버시를 향상시키고 복잡한 트랜잭션과 관련된 요소를 개선하기 위한 소프트 포크 비트코인의 트랜잭션은 타임락 릴리즈, 다중 서명 조건 등을 포함하여 트랜잭션을 더 복잡하게 만드는 다양한 기능들을 사용할 수 있다 탭루트가 없었을 때는 누구나 다중 서명을 포함한 모든 비트코인의 트랜잭션 이동 과정을..
합의 알고리즘의 공통적으로 고려되는 항목 1. Finality Problem 2. 51% Attack and BFT 3. Transaction Cost 체인 공개 유형 합의 방식 설명 장점 단점 사용 코인 퍼블릭 POW 각 노드의 연산 능력을 증명하여 블록 생성 높은 컴퓨팅 파워를 가진 노드가 블록을 생성할 확률이 높음, 오랫동안 사용되며 안전성이 검증, 단점도 많음 오랜기간동안 검증 51% Attack 완결성문제 느린 트랜잭션 에너지 낭비 비트 코인 POS 소유 지분 양에 비례하여 블록 생성 권한을 높은 확률로 부여 받음 많은 지분을 가진 노드가 블록을 생성할 확률이 높으며 이론적으로 우수하지만 실제 대규모 환경에서 검증 사례가 부족하다 51%Attack내성 빠른 트랜잭션 에너지 낭비 적음 완결성 문제..
분산 네트워크에서 가장 오래된 이슈이며 풀어야할 문제가 "비잔틴 장군의 딜레마" 입니다 이 문제는 전시 상황에서 4명의 장군으로 구성된 각 4개의 부대가 동시에 한개의 적진을 같은 시간에 공격해야하는 상황입니다 이때 각 부대는 물리적으로 떨어져있기 떄문에 소통이 필요합니다 만약 한 명이 잘못된 정보를 퍼트린다면 동시에 공격할수 없어 공격에 실패하는 상황을 해결하기 위한 문제입니다 정리하자면 분산 네트워크 환경에서 악의적인 노드가 존재할 때 이를 어떻게 극복하고 합의에 도달할수있냐가 "비잔틴 장군의 딜레마" 입니다 BFT(Byzantine Fault Tolerance)는 분산 네트워크 안에서 악의적인 노드가 네트워크에 존재하는 경우에도 선의의 노드들이 안전하게 네트워크를 사용할 수 있는 합의 방법은 무엇인..
블록체인에서 가장 중요한건 블록의 동기화를 이루는것이다 이때 중요한건 합의 프로토콜이다 합의 프로토콜은 두가지 속성을 만족 시켜야한다 Safety 시스템에 악의적인 일이 발생하지 않는다 모든 정상적인 참여자는 같은 상태에 동의해야 하고, 그 상태는 유효 해야한다 결과적으로 문제 없는 노드는 잘못된 합의를 하지 않는다 Liveness 시스템은 항상 살아 있어야한다 결국엔 어떤 상태에 동의 해야한다 모든 참여자는 동의한 상태에 도달해야한다 결과적으로 문제 없는 노드는 반드시 합의 한다 하지만 분산 시스템에 위 두가지 속성을 만족시키기는 어렵다 FLP Impossibility를 통해서 알아보자 FLP는 1985년 피셔(Fischer), 린치(Lynch), 패터슨(Paterson)이 공동으로 만든 논문에서 나온..
트릴레마는 선택해야 하는 길은 3가지가 되는데 어느 쪽을 선택해도 남은 두 가지 또한 한 가지의 문제를 악화시키는 상황을 말함 블록체인에서 트릴레마는 현재 모두를 만족시키는 것이 가장 이상적이지만 현실적으로 한 번에 해결할 수 없을을 말함 확장성 : 사용자 수가 늘어나더라도, 유연하게 대응할 수 있는 정도, 확장성이 높으면 사용자가 증가해도 트랜잭션이 늘어나도 무리 없이 전송 처리 용량을 증가 시킴을 말함 , 이때 TPS가 높다고함 보안성 : 블록체인 내의 데이터나 프로그램을 권한이 없는 이용자가 사용할 수 없도록 하는 제한 탈중앙성 : 중앙 집권화를 벗어난 자율적으로 운영되는 방식 CS방식이 아닌 P2P 방식 현재 블록체인의 특징은 보안성을 조금 포기하고 확장성과 분산화를 강화시키거나 탈중앙성을 포기하..
니모닉 생성되는 과정을 코드를 통해서 알아보자 아래 라이브러리를 사용 - res : https://github.com/ConsenSys/eth-lightwallet#readme 1. 랜덤한 니모닉 코드 생성 let mnemonic = lightwallet.keystore.generateRandomSeed(); console.log(menemonic) Log의 내용은 아래와 같이 찍힌다 "laugh vendar ctucial length cup surface pratice toilet license easy dash rug" 2. newWallet 생성 let password = "" let mnemonic = "" try { lightwallet.keystore.createVault ( { //salt:..