[TIL] 블체스3기 - 열정사자 Week1

박동우·2023년 5월 10일

블록체인 스쿨 3기

목록 보기
35/72

2023-05-10
열정사자 Week1


💻 복습

✅ 230504.sol

눈여겨 볼만한 것들

  1. StringAndBytes
  2. repeat
    1) 그냥 구조체형 변수와 구조체형[] 변수 구분 잘하기(push)

StringAndBytes 컨트랙트에 for문 추가해보기

🟥 코드

	// _a의 글자를 모두 string형태로 뽑아내기
    
    function bytesToString5(string memory _a) public pure returns(string memory) {
        bytes memory l = bytes(_a);                // 먼저 문자열의 길이를 구한다.
        bytes memory _b = new bytes(l.length);     // 문자열의 길이 만큼 bytes의 자리수를 할당해준다.
        for(uint i=0; i<l.length; i++) {           // for문을 통해 자릿수만큼 실행.
            _b[i] = bytes(_a)[i];
        }
        return string(_b);
    }

-> 배열이 아닌 문자열의 길이는 bytes로 변환후 .length를 통해 가능


✅ 230508.sol

눈여겨 볼만한 것들

  1. Address
  2. Mapping
    1) 이중 mapping

✅ 230509.sol

눈여겨 볼만한 것들

  1. note
    1) 구조체 mapping과 구조체 배열[]의 mapping 구분 잘하기(push)
  2. Mapping
    1) 이중 mapping
  3. fixedArray
    1) 길이가 정해진 array(fixed array)인 경우 push를 사용하여 값을 입력시킬 수 없다.
    2) fixed array이더라도 output 반환에서는 memory가 붙어야한다.
    3) fixedArray는 값이 있든 없든 길이는 고정이다.

✅ 230510.sol

눈여겨 볼만한 것들

  1. ENUM
    1) 입력값들은 모두 string이지만 활용시에는 uint8 값을 이용한다.
    2) string(어떤 일정한 상태)은 고정된 상태에서 가독성 좋게 변환이 가능하다는 장점이 있다.


📕 비트코인 백서

  • 블록체인(비트코인)이 필요한 이유
    이 네트워크에서는 해시 기반의 작업증명 체인에 거래를 해시화하고 타임스탬프를 날인
    함으로써 해당 작업증명을 다시 수행하지 않고는 변경할 수 없는 기록을 생성한다.
    -> 신뢰할 수 있는 제 3자의 역할을 P2P 네트워크에게 맡김

  • 새로운 신뢰할 수 있는 제 3자의 역할이 필요한 이유
    -> 중재 비용이 발생하면 거래 비용이 증가해 실제 거래할 수 있는 최소 금액
    이 제한되고 소액의 일상 거래가 불가능해지며 한 번 제공되면 회수할 수 없는 서비스에 대한 결제의 번복을 막을 수 없게 되어 더 큰 손실이 발생한다. 결제가 번복될 가능성이 남아 있으면 신뢰할 수 있는 제3자의 필요성이 더욱 커진다. 판매자는 귀찮게 불필요한 정보까지 요구하면서 소비자를 경계하게 된다. 어느 정도의 사기 가능성은 불가피한 것으로 인정된다. 이러한 비용과 지불의 불확실성은 두 사람이 직접 만나 실물 화폐를 사용하면 피할 수 있으나 온라인에서 신뢰할 수 있는 제3자 없이 지불할 수 있는 메커니즘은 존재하지 않는다.

  • 비트코인의 역할
    -> 따라서 필요한 것은 신뢰 대신 암호화 증명에 기반한 전자 지급 시스템으로, 이를 통해 신뢰할 수 있는 제3자에 의존하지 않고 거래 의사를 가진 두 당사자가 직거래를 할 수 있게 해 주는 것이다. 거래를 전산적으로 철회할 수 없도록 만들면 판매자들을 사기로부터 보호하고 통상적인 에스크로 메커니즘을 간편하게 구현하여 구매자를 보호할 수 있을 것이다. 이 논문에서 우리가 이중지불 문제에 대한 해결책으로 제시하는 것은 거래가 발생한 시간 순서의 계산 증명을 생성하는 P2P 분산 타임스탬프 서버이다. 이 시스템에서 정직한 노드가 통제하는 CPU 자원이 공격자 집단에 속한 노드보다 많으면 이 시스템은 안전하다.


논문 잘 읽는 법
Abstract - 초록(요약) 먼저 보기 -> 서론 -> 결론 부터 싹 훑기

비트코인 백서에는 신기하게도 '블록체인'이라는 단어가 없다.

profile
HELLO!

0개의 댓글