1. match making - Polkadot 릴레이-파라체인 프로토콜 원리

1. match making - Polkadot 릴레이-파라체인 프로토콜 원리 Polkadot은 멤버 파라체인에 대한 유효한 상태 전환을 보장합니다. surface 아래, 검증기 및 공동작업자에서 어부 및 전체 노드에 이르기까지 노드 오케스트라가 파라체인 블록을 최종 릴레이 체인까지 전달하는 역할을 합니다. 파라체인은 폴카닷 네트워크와 연결된 주권 블록체인이다. 다른 블록체인과 마찬가지로, 파라체인은 결정론적 상태 기계이며, 이는 각 파라체인이 상태를 가지며, 블록이라고 불리는 상태 전환을 실행하며, 새로운 상태를 달성한다는 것을 의미한다. 상태는 시스템의 구성과 같습니다. 전등 스위치를 생각해 보세요. "on" 또는 "off"일 수 있습니다. 컴퓨터의 상태는 수십억 개의 전등 스위치와 같다. 가장 기본적인 수준에서 상태 전환 배치에는 전환할 조명 스위치 목록이 포함되어 있습니다. 상태 전이 함수는 스위치의 전환 여부를 결정하는 논리입니다. 폴카닷 내의 각 파라체인[1]에는 각각의 상태가 있다. 릴레이 체인은 이 모든 것을 하나의 상태, 즉 "상태들의 상태"로 연결한다. 각각의 파라체인은 독특한 상태 전환 규칙을 가진 폴카닷의 shard입니다. 파라체인에는 별도의 경제, 거버넌스 메커니즘 및 사용자가 있습니다. Polkadot이 제공하는 인터페이스 때문에 릴레이 체인 검증자는 각 파라체인이 고유한 규칙을 따르고 신뢰 없는 환경에서 파편 간에 메시지를 전달할 수 있음을 보장할 수 있다. 이 기사는 파라체인 블록이 일단 확정되면 전체 Polkadot 네트워크의 보안으로부터 이익을 얻는 릴레이 체인으로 진입하기 위해 겪는 일련의 가용성 및 유효성 검사를 다룰 것이다. 2. Match Making 블록 생성 프로세스는 파라체인 collator들과 함께 시작됩니다. collator는 다른 블록체인의 검증자와 유사하지만, Polkadot이 제공...

Astar WASM Stack

스마트 컨트랙트 런타임 환경 아스타와 쉬덴의 런타임은 subtrate에 기반한다. 두 네트워크 모두 팔레트 계약을 통합하여 WASM 스마트 계약 기능을 지원합니다. 팔레트 계약은 웹 어셈블리 스마트 계약을 배포하고 실행하기 위한 샌드박스 환경입니다. WASM으로 컴파일하는 모든 언어를 사용할 수 있습니다. 그러나 코드는 팔레트 계약 API와 호환되어야 한다. 불필요한 복잡성과 보일러 플레이트 코드를 방지하기 위해, 가장 좋은 방법은 잉크!(Rust 기반) 또는 질문!(AssemblyScript 기반)과 같은 팔레트 계약을 구체적으로 대상으로 하는 eDSL을 사용하는 것입니다. 생태계가 성장함에 따라 더 많은 지원 언어와 eDSL이 등장할 것이다 그런 다음 WASM 블롭을 배치하고 체인에 저장한다 가스 모델 subtrate 팔레트와 유사하게, 계약에서는 중량을 가스 모델로 사용합니다. 하나의 가스는 하나의 무게와 같으며, 런타임의 참조 시스템에서 실행 시간의 1피코초로 정의된다. 트랜잭션 가중치는 기본 설명서입니다. 무게 외에도 자동 예금 회수라는 온라인 보관에 대한 수수료가 부과된다. 이 추가 요금은 호출자가 지불하며 각 스토리지 항목 DepositPerItem에 대해 설정된 가격과 스토리지 DepositPerByte의 각 바이트에 대해 부과된 가격으로 계산됩니다. 자동 예금 징수는 다음과 같이 간소화할 수 있습니다. 계약 호출자는 실행된 호출의 결과로 새로운 스토리지가 생성된 각 계약에 보증금을 지불합니다. 비슷한 방식으로, 호출자는 호출이 스토리지를 제거한 모든 계약에서 환불을 받습니다. Execution engine 팔레트 계약은 wasmi를 스마트 컨트랙트 WASM 블롭을 실행하기 위한 WASM 인터프리터로 사용한다. 네이티브 런타임에 사용되는 wasmtime과 같은 더 빠른 JIT 인터프리터가 있지만, 스마트 컨트랙트는 신뢰할 수 없는 환경이기 때문에 wasmi의 높은 정확도가 최고의 옵션으로 만든다. ...

REST API 원칙 6개

1. Uniform interface - 1 Dataset : 1 URL - URL 하나를 알면 둘을 알 수 있도록 - req, res는 충분한 정보를 포함 >> url은 명사로 작성 >> 하위 문서 작성시 / >> 띄어쓰기 - 사용 >> 자료 하나당 하나의 url >> 파일확장자 쓰지말자 2. Client-Server 역할 구분을 명확히 - 브라우저는 요청만! - 서버는 응답만! 3. Stateless - 요청 1과 요청 2는 상호의존성이 없도록  4. Cacheable -서버에서 보내는 정보들은 캐싱 가능해야함 - 캐싱을 위한 버전 관리도 잘해줘야 (는 크롬 브라우저가 다 알아서 해줌 ㅎㅎ) 5. Layered System 6. Code on Demand

암호화폐에 공개 키/비공개 키가 있는 이유를 최대한 쉽게 알아보자.

비대칭 키 암호화 1. 대칭 키 암호화의 문제 대칭 키 암호화는 암호화/복호화에 같은 키를 쓰는데 키를 공개적으로 배포하기 힘들다... 키가 공개되어있으면 아무나 다운로드할 수 있는데 이거 딱봐도 안전하지가 않은데... 암호화폐에서 보통 공개 키는 지갑 주소인데 지갑 주소만으로 암호화/복호화가 가능하다면 어떻게 될까? A가 B에게 10ETH를 보내는데 이 전자 서명을 공개 키(지갑 주소)로 암호화할 수 있고 B가 A의 공개 키로 다시 복호화 해서 트랜잭션이 이뤄지는 것 까지는 문제가 되지 않는다. 그런데 A의 공개 키(지갑 주소)는 단어 그대로 공개되어있으므로 제 3자인 C가 A의 공개 키로 A가 B에게 10ETH를 보내는 전자서명을 만들어낼 수도 있다. 심지어 복호화도 A의 공개키로하므로 아무런 문제가 없다. 즉 제 3자에 의해 A의 계좌에 있는 이더리움을 털어갈 수 있는 것이다. 2. 비대칭 키 암호화 그래서 보통 비대칭 키 암호화를 쓴다. 공개 키(지갑 주소)와 비공개 키가 있고 비공개 키는 전자 서명(A가 B에게 10ETH을 보낸다)을 암호화하고 공개 키는 누구에게나 공개되어있으므로 해당 전자서명이 맞는지 채굴자가 A의 공개 키로 복호화하여 확인 및 검증이 가능하게 되는 것이다. 이제 왜 비대칭 키 암호화를 쓰고 공개 키와 비공개 키가 있어야하는지 다들 아시겠죠..? 3. 대표적인 비대칭 키 암호화 기법과 비트코인/이더리움은 이 중 뭘 쓰나..? (1) 디피-헬만 키 교환 (2) RSA(Rivest-Shamir-Adleman) (3) DSA(Digital Signature Algorithm) (4) 타원곡선 DSA(Elliptic Curve DSA, ECDSA) 이중 비트코인/이더리움은 (4)와 관련이 있다. 비공개 키를 난수 생성기로 생성하고 비공개 키에 타원 곡선 위의 한 점(생성자)를 곱하여 공개 키를 만든다. 여기서 "...

PoW 끄적거리며 최대한 쉽게 정리해보기 Part. 1

Proof of Work 1. 상태와 트랜잭션 작업 증명(PoW)에 대해 이야기하기 전에 상태와 트랜잭션에 대해 먼저 알아보자. 많은 사람들이 생각하듯 비트코인은 "돈"으로 사용될 수 있는데 당연하게 이게 쓸모가 있으려면 상태와 트랜잭션이 정의가 되어야한다. 비트코인에서 상태는 계좌-잔고의 쌍으로 생각하면 편하다. 그리고 트랜잭션은 "상태 변화"에 해당한다. A계좌에서 B계좌로 2만원이 전송되면 A계좌의 잔고가 -2만원//B계좌의 잔고가 +2만원되는 변화말이다. 아니 그래서 그래서 비트코인 1억원 가나요? 라고 묻지말고 왜 사람들이 비트코인이 "돈" 또는 "투자 자산"으로 생각하게 되었는지를 깊게 고민해보자. 적어도 이 글을 찾아볼 정도면 "가즈아~"만 외치는 사람은 아닐테니 말이다. 2. 합의(Consensus) 블록체인 이야기하다보면 꼭 등장하는 단어가 있다. "컨센서스" 합의라는 뜻을 가진 저 단어가 왜 중요한지는 조금만 생각해보면 알 수 있다. 위에서 상태와 트랜잭션에 대한 이야기를 했는데 결국 "돈"이란 걸 주고 받았다면 이걸 보통 기록을 해둬야 사기를 당하지 않을 수 있다. "합의"란 것은 이 기록 및 신뢰에 대한 합의를 의미하는데 일반적으로 우리는 중앙화된 은행에 이것을 위임한다. "야 쟤네들이 우리 거래한 기록장부 가지고 있거든? 은행 믿을만 하잖아?" 일단 중앙화된 은행이 망하거나 국민을 상대로 단체로 사기행각을 벌이지 않는 이상 문제가 발생하지 않지만.... 역시나 인간 사회에도 버그란 존재하기에 중앙화된 주체를 믿을 수 없는 경우가 존재 한다. 예시가 잘 떠오르지 않는다면 정부나 중앙 은행이 맛탱이가 가버린 멕시코 or 베네수엘라를 생각해보면 편할 것이다. 그래서 블록체인에서는 "탈중앙...