イーサネットの追加コンセプト


Dapp(Decentralized Application)
: 탈중앙화 어플리케이션

1. 목적
- 시스템 상호작용에서 참여자간 신뢰 필요성을 최소화하는 것.
오직 스마트컨트랙에서 짜여진 로직에 의해 거래가 이루어짐.
ex) 쇼핑몰 구매자가 상품을 전달받은 경우에만 구매대금이 판매자에게 지불되고 거래가
완료되는 것.

2. 핵심 기술
- P2P 네트워크 (peer to peer)
: dapp의 로직은 각 서버에 동시에 독립적으로 존재하고 실행됨.
/ ex) 이더리움 네트워크 / 비트코인 네트워크
- 블럭체인
: p2p 네트워크를 통해 관리되는 분산 데이터베이스 형태.

합의
: 거래의 검증이 분산된 형태, 특정인이나 기관의 신뢰가 필요없는 형태,
즉 모든 참여자가 거래를 검증.

노드
: 참여자가 각자 소유한 서버
/ 각 서버가 서로 직접 통신하는 것을 피어노드라고 함.
/ 피어노드는 일정 시간마다 계속해서 검증
/ 각각의 노드에 앱 로직과 데이터가 저장됨
/ 네트워크 노드의 51퍼센트 이상의 검증이 이루어져야 하므로 해킹 사실상 불가능

블록
- 전자서명된 일련의 거래
- 메타정보(블록번호 및 타임스탬프 정보)
- 이전 블록에 대한 연결 정보
/ 거래내역 블록 블록 간의 연결은 변경 불가능.

web3.js
: 클라이언트가 네트워크의 특정 서버와 직접 통신하는 것을 가능케 함.

탈중앙화조직(= DO:Decentralized Organization)
: 사전에 정한 규칙에 따라 조직을 구성하는 개인 간의 상호작용를 결정하는 조직.

탈중앙화자율조직(DAO:Decentralized Autonomous Organization)
: DAO는 탈중앙화조직인 동시에 자율개체로, 외부 주체 간의 상호작용이 대부분 자동화(스마트컨트랙트)되어 있다.

통합개발환경 (IDE:Intergrated Development Environment)

스마트컨트랙트(= smart contract)

자율개체(= autonomous agent)
~ 외부 소프트웨어 서비스와 자율적으로 상호작용하는 소프트웨워 개체, 외부 환경에서 검증된 변경 상황에 따라 
스스로 재구성하거나 또는 재프로그래밍

게스(Geth: Go ethereum)
고 언어로 개발된 이더리움 공식 클라이언트 소프트웨어로 블럭에 담긴 데이터를 읽고 블럭을 전파하는 등 이더리움을 
구동할 수 있도록 해주는 도구이다.

패리티(Parity)
러스트로 개발된 이더리움의 또 다른 클라이언트 소프트웨어이다.

타원곡선전자서명알고리즘(ECDSA: elliptic curve digital signature algorithm)

マーク・パトリシャテリー
ブロックチェーン
勘定科目のブロック・チェーン・テクノロジー
ブロックチェーン技術は、公開鍵暗号化、暗号化ハッシュ関数、合意アルゴリズムに基づいている.
ブロックチェーンは楕円曲線電子署名アルゴリズムを用いて電子署名を実現する.
  • 公開鍵暗号化
  • ハッシュ関数* 커밋먼트스킬(커밋리빌스킴)
  • プロトコルのアルゴリズム
    代表的なプロトコルアルゴリズムの種類は작업증명(PoW:Proof of Work)지분증명(PoS:Proof of Stake)である.
  • 勘定科目のブロック・チェーンの変更
    9603;ブロックチェーン2.0
    9603;ブロックチェーン3.0
    勘定科目
  • 外部全勘定科目(EOA)
  • 契約口座
  • 솔리디티 언어로 작성된 스마트 컨트랙트는 EVM 바이트 코드로 컴파일 된 후 컨트랙트 배포 트랜잭션에 추가된다.  
    컨트랙트는 로컬 이더리움 노드로 푸시되고 네트워크 전체로 전파된다. 그런 다음 채굴되어 블록체인에 추가된다.
     - 출처 : 이더리움 디앱 개발 (책) -
    勘定科目のブロックチェーンの限界
    ブロックチェーンには拡張性の限界がある.
    ブロックチェーンのユーザが多ければ多いほど、ブロックチェーンの取引処理速度は遅くなる.
    블록체인 시스템에서 네트워크에 참여하는 노드들은 모든 트랜잭션을 처리하는 동시에 각 노드는 전체 상태에 대한 
    복사본을 유지하여야 한다. 
    노드 각각은 모두 동일한 트랜잭션 기록을 가지고 있으며, 각 노드가 처리가능한 트랜잭션의 개수가 곧 블럭체인 
    시스템이 처리가능한 트랜잭션 개수이다.
    (즉 사용자가 증가할 수록 블록에 담겨야할 정보의 양이 늘어나고, 블럭 전파와 검증에 더 많은 시간을 소요하여 
    낮은 트랜잭션 처리량을 가지게 되어 블록체인 시스템의 성능 저하됨.)
    
    // 중앙통제서버를 가진 시스템에서는 트랜잭션이 증가할 때에 중앙서버를 늘려서 트랜잭션을 분산하여 처리 가능.
    
    沴拡張性:増加するユーザーに柔軟に対応できる
    分散協議のメカニズム
    ストレージ・ブロック・チェーンの拡張性の問題を解決するソリューション
    ⑨世居上
    ⑨拡張ブロックサイズ
    ❏ off-chain state channel상태채널 구현 가능한 대표적 방안 : 라이트닝(Lightning) 네트워크와 라이덴(Raiden) 네트워크⑪沙丁
    ⑪プラズマ
    ⑨テルビ
    イーサネット
      イーサネットは2015年7月30日にVitalik Buterinが実現した퍼블릭 블록체인プラットフォームです.支払いや取引に集中するシステム、すなわち通貨機能であるブロックチェーンとは異なり、イーサネットは、スマート契約の分散アプリケーションであるdappを実現することで、通貨以上の機能を可能にし、拡張性を提供する.
     イーサネットはWireと呼ばれるP 2 Pプロトコルを介して相互通信し、このプロトコルは標準化された方法でデータブロックを伝送し、C++、Java、Python、Goなど多くのプログラミング言語間でもシームレスなインタラクションを行うことができる.
     Ethernetノードは、トランザクション履歴とデータ・ブロックをネットワークに伝播し、データ・ブロック内のアプリケーション・コードを実行します.これらのイーサネットノードは、イーサネットクライアントとブロックチェーンデータベースから構成され、ノードタイプには完全ノードと採掘ノードの2種類があります.
    ✔尋ノードタイプ

  • フルノード(full node):手動履歴/新しいブロックを作成できません

  • 採掘ノード(mining node):積極的な取引履歴を処理/新しいブロックを作成し、ブロックをブロックチェーンに追加し、P 2 Pネットワークを介してブロックをピアノードに伝播する
    採掘:新区ブロックをブロックチェーンに追加し、補償として暗号化貨幣を受け入れるプロセス.
  • ✔尋節点配置
    ⑪Ethernetクライアント
  • イーサネット仮想マシン
    :エンティティまたはEVMバイトコードで作成されたスマート見積書
  • を実行します.
  • メモリプール
    :
  • ノードのトランザクション履歴をネットワークに伝播するためのスペース
  • クライアント・プロセス
    :受信メッセージとトランザクション履歴を適切にEVMに送信し、履歴トランザクションをメモリに格納し、ピアノードが受信したデータブロックを検索、処理し、ブロックチェーンデータベースのローカルコピー
  • に追加する.
  • JSON-RPC API
    :JavaScriptのJSON形式でリモートプログラム呼び出し(RPC)コマンドインタフェースをサポートし、ブロックチェーンの内容の読み取りやブロックの生成などのタスクをリモートで実行できる.
  • ⑨ブロックチェーンデータベース
    ✔イーサネットの拡張性に関する問題の解決策
    イーサネットの拡張性の問題は、伝播速度の向上に焦点を当てて解決されます.
    ⑪プラズマ
    太坊メインチェーンで発生する取引量がサブチェーン(=child-chain)に分散するシステムは,拡張性問題解決策の1つである非チェーンである.
    子チェーンでトランザクションを処理し、最終トランザクションの結果を親チェーンに反映します.
    ‣ 각각의 체인은 트리구조로 연결된다.
    ‣ 자식체인에서 독립적으로 트랜잭션 처리 후 처리된 트랜잭션들에 대한 블록을 생성 후 해당 블록 헤더의 해시값을 
    상위 체인에 반영하는 식의 과정을 거친다.
    ⑪シャディン(Sharding)
    各ノードは、自分の所属するシャードトランザクションのみを処理します.これは、すべてのトランザクションではなく、特定のトランザクションのみを分散処理することを意味します.
    和え物とは何ですか.
    1つのデータベースに格納されたデータレベルを1つ以上のデータベースに分割して処理
    ⑪POS変換
    ⑪無線周波数ネットワーク
    ❏Trubit
    ‣ 레이어? 레이어1과 레이어2?
    - 레이어는 블록체인이 실행되는 생태계 정도로 생각하면 될 듯.
    - 비트코인 이더리움 등이 대표적인 레이어1 블록체인이며, 이더리움 생태계 위에서 실행되는 폴리곤 등과 같이 
      기존의 레이어1 블록체인 위에서 실행되는 또 다른 블록체인 시스템 등을 레이어2.
    - 레이어1 블록체인은 높은 보안성과 탈중앙화를 가지는 대신에 수수료 증가 거래속도지연 등의 확장성 문제를 위한 
      대안으로 탄생된 것이 레이어2이다. 레이어2 블록체인은 레이어1 블록체인에 비하여 보안성은 떨어지는 대신에 개선된 
      트랜잭션처리속도와 더욱 저렴한 수수료를 가진다.
      
    ‣ 레이어2 확장성 솔루션 기술 분류
    - State channel
    - Sidechain
    - off-chain computation
    
    
    
    ソース
    開発書-Ethernetアプリケーション
    ブロックチェーンの拡張性の問題と解決策1
    ブロックチェーンの拡張性の問題と解決策2
    イーサネット拡張性
    階層3の拡張性ソリューション