이더는 튜링 완전성 언어를 내장하고 있으므로 스마트 계약과 분산 어플리케이션(DApp) 구현.. 계약 조건을 명시할 수 있음.
튜링불완전성 때문에 한계가 있음.
모든 계약을 다 표현할 수 있음..
모든 계약을 다 표현할 수 있고 따라서 분산 어플리케이션인 DApp 도 구현할 수 있음.
이더리움 가상머신을 통해 모든 참가자들이 동일한 연산을 수행하여 동일한 상태에 합의.
전세계 참가자들이 하나의 컴퓨터를 돌리는 것과 같기 때문에 세계 컴퓨터라고 함.
EVM은 스마트컨트랙트를 처리해 주는 컴퓨터..
이더는 아래와 같이 구성되어 있음
1. 외부소유계좌(EOA)::: 개인키(private key) 일반적인 계좌
2. 계약계좌 (Contract account):: 계약 계좌
gas는 이더리움의 자원(연산력, 저장공간, 네트워크사용량)을 사용하는데 소비.
비트의 블록사이즈는 이더의 gas 총량..
Dapp은 이더 네트워크를 사용하기 위해서는 gas를 계속 지불해야 함.
GAS는 전기, 이더를 주고 사는 것..
샤딩 : 네트워크 확장성 해결...
ERC20 : 이더리움 블록체인 상에서 발행되는 토큰의 표준으로 공용 API
토큰 간 Dapp간의 상호운용성
다른 토큰 통합시 버그 가능성을 줄이고 토큰을 사고 팔기 위해 해당 토큰 계약과 상호작용
API 표준???
ERC20는 함수들을 정의...
ERC20 토큰은 각자 계좌가 있음.
contract account에 있는 함수를 호출하는 상황..
계약코드..
누구나 토큰을 발행할 수 있음..
이더 블록체인에 올릴 수 있음..
계약이랑 상호작용을 할때는 언제나 gas를 사용함.
이더의 장기 목표
합의알고리즘: 자산증명으로 이동할 예정 (casper)
확장성: 샤딩
익명성: zkSNARKs
샤딩::: 중복성을 낮춰 네트워크의 확장성을 증대...
현재는 100% 중복 상태임::: 모든 검증자가 네트워크 전체를 검증하고 모든 연산 수행.
검증자 들이 네트워크의 한부분 및 전체 연산 중 일부분만 실행
EEA :: Enterprise Ethereum Alliance 기업에 특화된 이더리움 프로토콜을 사용하는 블록체인...
private blockchain은
하나의 platofrm으로 여러 합의 알고리즘을 지원하려고 하고 있는 상황...
합의 알고리즘을 넣었다 뺐다 할 수 있도록 하는 거.. (기업의 특색에 맞게 합의알고리즘을..)
EEA
A. Pluggable Consensus:
B. governance :: open source, 의사 진행에 좀더 형식을 갖추려고..
C. Interoperability :: private blockchain이긴하지만, public blockchain과 호환을 하려고..
D. 이더리움 프로토콜 성능 개선:: 기존 이더리움은 초당 수십개 거래만 가능하므로 이더리움 성능을 개선..
ERC는 토큰을 발행할 때 토큰의 기준.. ERC20/ERC721은 모두 이더 위에서 동작..
ERC20은 Fungible : 즉 대체 가능한 성격.
ERC721은 non-fungible: 즉 대체 불가능한 성격..
즉 ERC721의 코인은 각각 다름. 같은 코인이 없음..
라이덴이 채널을 여닫는 과정을 통해 오프체인(Off-chain)을 활용하는 기술이라면
플라즈마는 child-chain 플라즈마는 하부 체인(Child-chain)을 통해 블록체인의 기록을 최소화하는 기술.
샤딩..
약점을 해소하기 위해 근본적인 블록체인의 병렬처리를 시도하는 것이 샤딩,
프로세스 단위의 분리가 플라즈마,
트랜잭션 단위의 데이터 압축이 라이덴