본문 바로가기

스마트보안75

블록체인 7-2 Designing Smart ContractsProblem asssessment(문제 평가)블록체인의 열풍으로 인해 많은 소프트웨어 응용 프로그램이 블록체인 기술을 사용하고 있다. 특히 스타트업 또는 기업 내 혁신 부서에서 주로 사용한다. 그러나 실제 세계에서 스마트 컨트랙트의 채택은 여전히 미미한 수준이다.  블록체인이 적합한 솔루션이 되는 경우: 여러 당사자가 참여하고, 당사자들이 서로 신뢰하지 않거나 상반된 이해관계가 있으며, 공유 쓰기 접근이 필요하고, 데이터베이스에 대한 모든 쓰기 작업이 (공개적으로) 검증 가능해야 함. 항상 대체 솔루션을 평가해야 한다. 우스갯소리로, 다이어그램에서 "블록체인이 필요합니까?"라는 질문에 대한 답은 대부분 "아니요"임. 참고: 블록체인은 필요한 경우에만 사용해야.. 2024. 12. 6.
블록체인 7-1 Solidity introduction 정의Solidity는 이더리움(Ethereum) 블록체인을 위한 스마트 계약을 작성하기 위한 고수준 언어(high-level language)이다. Contracts의 특징:스마트 contract는 전통적인 객체 지향 프로그래밍 언어(Java 등)의 클래스와 유사한 캡슐화된 단위(encapsulated units)로 정의된다.각 contract는 지속적인 상태(persistent state)를 가지며, 이는 컨트랙트 내에서 상태 변수(state variables)로 정의된다.Functions: 계약의 상태를 변경하거나 다른 계산을 수행하기 위해 함수(functions)를 사용한다. Solidity 컴파일 및 배포: Solidity 코드는 바이트코드(bytecode).. 2024. 12. 6.
블록체인 6-3 머지(The Merge)이더리움의 비젼 초기 계획초기 계획부터 PoS 채택 구상함Ethereum은 2022년 9월에 Proof-of-Stake로 전환했지만, 이는 초창기부터 계획된 목표였다. Vitalik Buterin은 2014년에 Ethereum을 PoS 체인으로 배포하려 했지만, 초기 단계의 복잡한 부트스트래핑(bootstrapping) 문제로 인해 실현되지 않았다.  PoS는 다음과 같은 초기 조건이 필요하다:네이티브 암호화폐가 참여자들에게 발행 및 배포.참여자들은 자신의 코인을 스테이킹해야 블록 생성 및 합의 과정에 참여 가능.따라서, Ethereum은 2015년 Proof-of-Work(PoW) 기반으로 시작되었으며, 이는 Bitcoin의 Nakamoto Consensus를 참고해서 구성했다... 2024. 12. 5.
블록체인 6-2 이더리움 시스템 구조 World Computer(state machine) 이더리움은 World Computer로 묘사되며, 모든 참여자가 동일한 컴퓨터를 공유하여 트랜잭션(Tx)을 실행한다. 속성 (Properties)참여자들은 동일한 컴퓨터를 사용: 모든 사용자는 World Computer라는 동일한 네트워크에서 작업을 수행.사용자는 프로그램을 호출하기 위해 트랜잭션을 발행: 트랜잭션(Tx)을 통해 네트워크 상에서 스마트 트랜잭션 또는 프로그램 호출.자원과 저장소를 공유: 네트워크의 모든 참여자가 동일한 자원(resources)과 저장소(storage)를 공유.소유자가 명시적으로 존재하지 않음: World Computer는 단일 소유자 없이 탈중앙화된 방식으로 운영.자원을 사용하는 데 비용이 소요됨:.. 2024. 12. 5.
블록체인 6-1 이더리움: 생태계이더리움의 역사1. 이더리움 백서 작성 2013년 11월: 비탈릭 부테린(Vitalik Buterin)이 이더리움 백서(Ethereum White Paper)의 첫 번째 버전을 작성. 2. 이더리움 첫 공개 발표 2014년 1월 24일: 비탈릭 부테린이 마이애미에서 열린 비트코인 컨퍼런스에서 이더리움의 첫 번째 공개 발표를 진행. 3. 크라우드 세일 시작 2014년 7월 7일: 비탈릭 부테린이 공개 크라우드 세일의 시작을 발표. 크라우드 세일 기간: 총 42일 동안 진행 (9월 2일까지). 첫 14일: 1 BTC = 2000 ETH. 이후 기간:1 BTC = 1337 ETH. 4. 판매 결과 총 약 6000만 ETH가 판매됨. 31,591 비트코인이 모금되었으며 당시 약 1850만 달러(.. 2024. 12. 4.
블록체인 5-3 비트코인의 한계와 도전과제 Transaction Throughput(트랜잭션 처리량)  현재 기술과 프로토콜에 따른 최대 트랜잭션 처리량은 아래 세 가지 요소에 의해 결정된다: 1. 블록 생성 시간 (Block time):  평균적으로 10분마다 새 블록이 생성된다. 2. 최대 블록 크기/무게 (Max block size/weight): 1MBSegWit 도입 이후, 1MB = 4 MWU(Weight Units)로 계산. 3. 트랜잭션 크기 (Transaction size):트랜잭션 크기가 250 bytes일 경우: 하루 최대 576,000 트랜잭션 가능. 트랜잭션 크기가 500 bytes일 경우: 하루 최대 288,000 트랜잭션 가능.  SegWit 이후의 변화블록 크기 초과 가능: SegWit 도입.. 2024. 12. 4.