2024/07 9

블록체인 만들기 part.01 _ 블록체인 설계

1. 아키텍처만 설계  datetime 라이브러리 : 블록이 생성되고 채굴된 정확한 날짜의 타임스탬프를 각 블록이 가짐hashlib 라이브러리 : 블록을 해시할 때 사용json 라이브러리 : 블록을 해시하기 전 블록 인코딩을 위해 라이브러리에 dumps 함수를 사용Flask 라이브러리에서 Flask 클래스의 객체를 생성Jsonify : Postman에서 블록체인과 상호 작용할 때 메세지를 보내기 위해 사용Jsonify를 사용하여 요청에 관한 응답을 표시 2. 초기화블록체인은 클래스 안에 블록체인의 모든 컴포넌트와 모든 특징을 정의, init 함수에 들어가는 체인도 초기화  클래스로 시작할 때는 init 메서드로 시작self는 self 앞에 오는 변수가 객체의 변수를 적용하도록 지정하는데 사용self.ch..

블록체인 만들기 part.01 _ 환경설정

1. Anaconda IDE 생성 https://www.anaconda.com/download/success위 링크를 통해 Anaconda 설치 Anaconda root 환경에서 flask 패키지, 요청을 실행하는 request 패키지, 블록체인과 상호작용할 사용자 친화적인 Postman도 설치할 예정  IDLE 의 경우 Spyder 사용 2. Flask, Postman 설치  Flask : 일부 서버를 사용해서 누구나 온라인에서 사용할 수 있는 블록체인을 설계Postman : 주소에서 다운로드 할 수 있는 HTTP 클라이언트  Anaconda 프롬포트 즉, terminal을 열어 명령어 "pip install Flask==0.12.2" 입력 아래 링크에 들어가 postman 다운로드https://www..

블록체인 직관적 이해.zip

Plan of Attack필요한 이유 : 다른 기술과 비교했을 때 블록체인은 덜 복잡하기 때문 블록체인이란?지속적으로 증가하는 데이터로 블록 데이터를 암호학을 통해 보호하고 연결하는 기술 - 위키피디아 블록- 고유의 해시값을 가짐 제니시스 블록 : 블록체인이 초기화 된 후 언제나 첫번째 데이터 블록 해당 예시의 경우 이전 해시가 없는 유일한 블록임을 가정하고 다음 블록의 해시 경우 이전 블록 해시 값과 동일.이러한 해시값을 통해 블록들이 암호화 링크로 연결되어 있음을 알 수 있음. 동작 과정모든 블록은 각자의 지문을 보유하고 있으며 이전 블록의 지문을 참조 > 블록 1의 지문이 바뀌면 2도 변경됨⚠️만약 누군가 데이터를 조작한다면 지문이 바뀌기 때문에 그 전 지문과 매칭 불가! SHA256 해시디지털 문..