PBL Ⅲ/BlockChain 9

[ 자료조사 ]블록체인 내 개인정보보호방안

블록체인 내 개인 정보 보호 기술과 이더리움 블록체인의 거래 처리 방식 0. 거래 정보를 숨겨야 하는 이유 -개인 정보를 보호하기 위해서. -개인 정보의 범위가 점차 넓어지면서 생년월일이나 전화번호를 넘어서 누군가를 특정할 수 있는 정보까지 개인 정보로 취급 -> 거래자를 특정하거나 유추할 수 있는 블록체인 거래 역시 개인 정보에 민감한 서비스에서는 개인 정보로 생각하고 보호하기를 원함 -보안 관점에서 거래 정보가 노출되지 않아야 함. -> 거래 정보나 보유 잔액 정보가 노출될 경우 보안을 유지해야 하는 중요한 정책들을 시행하기 어렵기 때문 1. 거래 정보를 숨기는 방법 - PETs(Privacy Enhancing Technologies) -거래 정보를 숨길 수 있는 블록체인의 기술? -2020년 Pro..

PBL Ⅲ/BlockChain 2023.01.15

[자료조사] 블록체인 성능평가 방법

TPS(Transaction per sec) : 거래 처리 속도를 부를 떄 표현하는 단위 (초 당 처리하는 트래픽 개수) *TPS가 블록체인 성능을 가늠하는 중요 기준이나 절대지표는 아님 1. 최대 TPS = 트랜젝션이 과도하게 몰렸을 때 초당 몇 개나 처리되어 저장되는지 2. 현재 TPS = 최근 블록에 담긴 트랜젝션 수 / 블록 생성 시간 (평균적인 값을 구하려면 최근 n개 블록 표본 잡아 구하기) * 비트코인 / 이더리움 = 이미 트랜젝션이 과도하게 발생하고 있기에 현재 TPS가 최대 TPS에 가까움 이더리움의 초당 처리 속도= 20TPS ex. 1800개 디앱에서 1초에 하나의 거래가 일어난다 하더라도 이 중 20개밖에 처리하지 못함 블록체인 속도를 결정하는 3요소 = TPS, 블록생성시간, 확정..

PBL Ⅲ/BlockChain 2022.09.25

Hotel Reservation Smart Contract with SOLIDITY

1. payable 키워드 : 계약 계정에 이더를 사용(송금, 수신)할 수 있도록 해 줌 book() 함수 안의 transfer() 함수는 이더의 수량만큼 전송할 수 있게 해 줌 2. enum (열거형) : enum을 사용해 호텔 예약 여부에 대한 상태 변수를 추가 : 미리 정의된 상수들의 목록 : 함수 내에서 선언 불가, 계약의 전역 이름 공간에 선언 가능 -> Vacant에는 정수값 0, Occupied에는 정수값 1이 세팅 됨 (자동으로 0,1,2..순서로 할당) 3. require () 함수 예약을 위해 체크해야 할 2가지 정보 -가격 -방이 비었는지에 대한 여부 -> 이를 확인하기 위해 require () 함수 사용 -> require 함수 첫 번째 값이 true면 실행; msg.value가 2..

PBL Ⅲ/BlockChain 2022.06.09

[블록체인의 원리] 5. 비트코인 스크립트

비트코인 트랜잭션 모델 -UTXO 형태 사용 ; 비트코인에서는 input이 output을 소비하는 형태로 트랜잭션 수행 -이때 소비되지 않는 output = UTXO 비트코인의 데이터를 다 보아야지만 이 아웃풋이 spent인지 unspent인지(아웃풋 소비 여부) 알 수 있음 비트코인 트랜잭션 구조 -비트코인의 트랜잭션은 input script(unlocking script)와 output script(locking script)를 가짐 -어떤 트랜잭션의 output script를 다른 트랜잭션의 inpout script가 reference함으로써 partial order가 형성됨 ; TX A의 output을 TX B가 in으로 소비 -input과 output은 serialize(코드가 합쳐짐)되어 st..

PBL Ⅲ/BlockChain 2022.06.04

[블록체인의 원리] 4. 비트코인의 원리 (2)

트랜잭션=비트코인 시스템에서 돈을 전송하는 단위 트랜잭션의 집합=하나의 블록 => 블록=비트코인에서 합의의 단위 *블록 안에 들어오는 트랜잭션들은 모순되면 안됨 새로 생성되는 블록 =그 이전 블록 데이터의 요약본; 블록의 해시값 포함시킴 트랜잭션들을 처리하고 난 후에 state =각 account들의 금융 상태 state를 기반으로 다음 블록에서 트랜잭션 생성 ... ... 블록이 진행될수록 금융 상태가 블록 단위로 분절되어 업데이트 됨! => 최신 블록의 state = 현재 이 비트코인에 담긴 최신 금융 상태 => 우리는 최신(current) 블록의 상태를 알아야 함 Q. 블록이 어떻게 네트워크 전파가 되는가? -> 가십 프로토콜 사용 1. p2p 네트워크에서 각 노드가 이웃 노드에게 데이터를 전파하는..

PBL Ⅲ/BlockChain 2022.06.04

Create a Simple Ethereum SmartContract (2)

간단한 이더리움 스마트 컨트랙트를 구현해보자. -> remix IDE 검색해 가장 먼저 뜨는 검색결과로 이동 -> editor 내에서 sample contract가 담긴 default_workspace를 제공함 default_workspace의 contracts > 3_Ballot.sol 에 들어가서 코드 다 지우고 여기서 fresh하게 시작해보자. * file 확장자가 .sol 임 -> solidity file을 위한 default file extension //most recent version of solidity //declaring what version of solidity this conttact will be authored in //솔리디티 버전 9전까지 사용 pragma solidity..

PBL Ⅲ/BlockChain 2022.06.01

[블록체인의 원리] 3. 비트코인의 원리 (1)

자산의 디지털화가 힘든 이유 1. 디지털 데이터는 복사와 조작이 쉽다. 2. 화폐 및 증권의 필요조건: 위변조가 어려워야 한다. 1. 신원인증을 없앰 -> 전자 서명을 통해 2. 이중지불 문제 ->어떤 자산 거래 시 그 소유주가 같은 자산을 송금하는 트랜잭션을 두번 이상 발생 시 둘 중 뭘 인정할 것인가? -> (-) 자기가 갖고 있는 자산을 통해 시스템을 공격 가능 트랜잭션(transaction)=금융 거래 :전자 서명 방식으로 신원 인증 과정을 제거 1. 트랜잭션은 자산의 상태를 변화시키는 단위 2. 트랜잭션에 디지털 자산의 거래에 대한 데이터(송금 및 결제)를 담을 수 있음 3. 디지털 자산을 거래할 때 그 자산에 대한 소유권을 가진 참여자만 해당 트랜잭션을 발생시킬 수 있음 -> 이 때 필요한 것..

PBL Ⅲ/BlockChain 2022.05.24

[블록체인의 원리] 2. 비트코인의 탄생 (리먼 사태와 양적 완화)

비트코인의 탄생 배경 :금융 위기와 양적 완화 2008년 10월 비트코인 아이디어 최초 공개 '사토시 나카모토' -가상의 인물은 whitepaper를 통해 p2p 금융 시스템인 비트코인을 제인 -은행과 같이 중앙기관 없이 시스템에 의해 화폐가 발행되고 네트워크 참여자들의 자발적인 참여에 의해 자산을 거래할 수 있는 시스템을 설계하고 구현 최초의 비트코인 블록 -> 사토시 나카모토 구제 금융과 양적 완황에 반발하는 메세지를 첫 번째 블록의 data field에 'The Times'의 문구를 인용함으로써 드러냄 시장의 흐름 중앙은행이 돈을 찍어내서 부실 채권을 사줌->시장에 돈이 풀림->물가 상승-> 자산 가격 상승 => 빈부격차 커짐 사토시 나카모토 발권력을 국가에서 일반 국민에게 돌림 =>발권력 자체를 ..

PBL Ⅲ/BlockChain 2022.05.24

[블록체인의 원리 ] 1. 블록 체인이란?

블록 체인이란? 블록체인은 개방형 금융 시스템이다. -> 완전히 자동화될 수 있음 > 관리자가 필요 없음 누구나 자산을 쉽게 만들 수 있음 블록체인의 장점 1. 금융의 간소화 -결제 프로세스를 단순화시켜 효율성을 높일 수 있다 -결제 프로세스의 단순화에 따른 수수료 절감 효과 발생 2. 금융의 개방화 -허가가 필요 없기 때문에(bottom up) 시스템에 참여하거나 떠나는 것이 자유롭다. -누구나 금융 서비스에 자유롭게 참여하거나 떠날 수 있음(on-demand) 3. 금융의 대중화 -금융 기관이 아니더라도 누구나 금융 서비스를 설계하고 구축할 수 있다. -누구나 사람의 개입이 필요한 금융 시스템을 자동화 할 수 있다. 기존 시스템(현재의 전자 금융 시스템)이 폐쇄적이고 복잡한 이유? 디지털 데이터는 위..

PBL Ⅲ/BlockChain 2022.05.24