프로그래밍 공부
2022-08-08 공부 본문
정보보안 요소 CIA(confidentiality, integrity, availability)
confidentiality & privacy - 블록체인의 데이터와 신원이 보호
integrity - 블록체인에 쓰여진 데이터는 올바르고 고쳐서는 안됨
availability - 블록체인은 침해와 공격으로부터 견뎌야 함
블록체인에서의 보안
퍼블릭키를 사용하면 패턴이 나타나서 추적이 가능함 그래서
- Stealth addresses or One-time-use - 임시로 퍼블릭키를 만들어서 역추적이 어렵게 만듬
- Mixing - 트랜잭션을 모아서 하나의 트랜잭션으로 만듬 gas의 양이 늘어날 수 있지만 미미함, 추적이 어려워짐,TPS(초당 트랜잭션 수)개선에 도움이 됨
- Ring signatures - 샌더를 암호화 시키는 기술
- Zero-knowledge proofs - 확률 적으로 검사하는 기술, 암호학에서 누군가가 상대방에게 어떤 사항(statement)이 참이라는 것을 증명할 때, 그 문장의 참 거짓 여부를 제외한 어떤 것도 노출되지 않는 interactive한 절차를 뜻한다
- off-chain - 장점 : 데이터가 경령화되어 처리속도 늘어남
단점 : 데이터를 역추적하기가 힘들어서 제출의 의무를가지고 있음
합의 알고리즘
- 생성된 블록의 정당성을 검토하고 해당 블록을 블록체인에 연결하기 위해 네트워크 참가자들의 합의를 위한 알고리즘이 필요, 데이터를 처리하고 보상해주는 알고리즘
- 작업증명(Proof of Work, PoW) - 블록체인에서 컴퓨팅 파워를 이용하여 해시값의 역함수를 해시화 하여 Nonce 값을 계산 해내고 이를 검증하는 것으로 합의를 도출한다.
- 지분증명(Proof of Stake, PoS) - 블록을 만들 노드를 정할떄 가지고 있는 지분을 기준으로 권한을 분배하여
합의를 도출하고 보상을 분배하는 알고리즘 - 위임 지분 증명(Delegated Proof of Stake, DPos) - 소유자들이 각자의 지분에 비례한 투표권을 행사하여 대표자를 선정한 후 이 대표자들의 투표를 통하여 민주적인 절차를 통하여 의사결정을 내리는 합의 알고리즘, 위임한 대표자와 수익을 배분
- BFT 알고리즘 - 네트워크의 1/3보다 적은 노드가 적대적이라도 합의가 가능
Chain기반이 아니므로 합의 및 검증이 매라운드마다 이루어짐
DPoS시간
- PoS : 일정 지분을 소유한 모든 노드에게 블록 생선 권한이 주어지기에 시간이 오래걸림
- DPoS : 투표 결과로 정한 상위 노드라는 비교적 적은 숫자로 인해 합의 시간과 비용이 줄어들게 됨
DPoS 특징
- 소규모 참여자도 이득을 볼 수 있음
- PoW에 비해 적은 노드 수로 높은 확장성을 가짐
- 상위 노드만 블록 생성에 참여하기 때문에 탈중앙성이 부족함
- 시스템에 지속적으로 참여하기 위해 작은 토큰 소지자에게 인센티브를 부여하는 솔루션으로 제안
- DPoS 사용자는 자신이 토큰을 더 큰 지분 소유자에게 위임하고 스테이크 보상의 일부분(이자)을 확보
DPoS 블록생성
- 라운드로빈 방식(반응성을 좋기위한 시스템)으로 블록을 생성
- 투표자들은 블록 생산자가 악의적인 것으로 밝혀지면 다음 라운드에서 해당 블록 생산자에게 투표하지 않음으로써 블록 생산자를 해고 할 수 있음
DPoS 문제점
- 대표자 네트워크 공격
- 투표불이행 및 투표권 남용
PoA(Proof of Authority)
- 신분에 기반한 합의 합의 매커니즘을 통해 즉각적인 거래를 제공하는 블록 체인과 함께 사용되는 알고리즘
- Private 네트워크에 적함
- 이더리움에서도 적용가능
하이퍼래저 스마트컨트랙트 개발 순서
- 체인코드 개발
- 네트워크 실행
- 체인코드 배포
- 체인코드 테스트
그 외
GetArgs -> Put State -> World State -> Get State
EOV 순서 기억하기 인도스 -> 오더 -> 벨리레이트
분산원장의 기록들은 메인넷에 있어야함
블록체인의 문제 - 이중지불 문제, 에너지 문제
'2022 블록체인 지역특화 프로젝트 과정' 카테고리의 다른 글
2022-08-11 공부 (0) | 2022.08.16 |
---|---|
2022-08-10 공부 (0) | 2022.08.16 |
2022-08-09 공부 (0) | 2022.08.16 |
2022-08-05 교육 (0) | 2022.08.05 |
2022-08-04 교육 (0) | 2022.08.04 |
Comments