[DID 동향] VON(Verifiable Organizations Network) -5

CURRENT VON INSTANCES: Ontario’s VON Architecture (적용 사례2: 캐나다 온타리오 주의 VON 아키텍처)

7 min readAug 23, 2019

--

캐나다 BC주의 적용사례에 이어 VON의 적용 사례는 BC주의 내용보다 좀 더 자세하게 설명을 하고 있으므로 DID 및 VC 구현에 참고할만한 좋은 사례가 될 것이다. 기획 및 개발 업무를 담당하는 분들은 아텍텍처 다이어그램과 github를 참고하면 도움이 많이 될 것이다.

Ontario’s VON Architecture (캐나다 온타리오 주의 VON 아키텍처)

Ontario’s participaton in the Verifiable Organization Network (VON) project (VON 프로젝트에 온타리오 주의 참여)

Government of Ontario joined the VON Project in fall 2017 looking to explore the use of blockchain as an enabler for businesses to provide proofs of government-issued qualifications and credentials when transacting online. In addition to acquiring the knowledge of Hyperledger Indy blockchain technology, the pilot aimed to build a production-ready repository — Ontario’s TheOrgBook — of verifiable claims about a business, prepopulated with foundational information about all Ontario businesses based on the data from Ontario’s official business registry, ONBIS. All data currently stored in Ontario’s TheOrgBook is publicly available business information.

온타리오 주 정부는 2017 년 가을 VON 프로젝트에 참여하여 기업이 온라인에서 거래 시 정부에서 발급한 자격 및 VC (Verifiable Claims)을 증명할 수있는 블록체인 사용을 모색했다. 시범 프로젝트는 Hyperledger Indy 에 대한 지식을 얻는 것 외에도 온타리오의 공식 비즈니스 레지스트리(ONBIS)의 데이터를 기반으로 모든 온타리오 기업에 대한 기본 정보로 채워진 비즈니스에 대한 VC의 생성 대기 저장소인 Ontario ‘s TheOrgBook을 구축하는 것을 목표로 했다. 현재 온타리오 TheOrgBook에 저장된 모든 데이터는 공개적으로 사용 가능한 비즈니스 정보이다.

Use Cases for Ontario’s TheOrgBook (온타리오 주의 TheOrgBook 사용 사례)

출처: VON Website

Context Diagram

출처: VON Website

High Level Flow Diagram

출처: VON Website

What’s on the Ledger?

출처: VON Website
  • ONBIS-X Issuer and BC Registries Issuer share the same schemas for busines registrations, relationships and addresses credentials so only one schema is written to the ledger for each of the three credential types that these two systems will issue**
  • ONBIS-X 및 BC Registry 발급자는 기업 등록, 관계 및 주소 증명에 대해 동일한 스키마를 공유하므로이 두 시스템에서 발급할 3가지 VC 유형 각각에 대해 하나의 스키마만 원장에 기록된다 **
  • Business Relationships schema allows connecting a legal incorporation to (multiple) business names it is operating under (future enhancement, not currently implemented for Ontario)
  • 비즈니스 관계 스키마는 (다중) 기업의 이름에 법적으로 연결할 수도 있을 것이다. (향후 온타리오 주에서 구현될 예정임)

Personal data, or actual values for fields that make up a claim, are never written to the Hyperledger Indy. Rather, all private data is exchanged over peer-to-peer encrypted connections between off-ledger agents. The ledger is only used for anchoring rather than publishing encrypted data.

클레임을 구성하는 필드의 개인 데이터 또는 실제 값은 Hyperledger Indy에 기록되지 않는다. 오히려 모든 개인 데이터는 비 원격 에이전트간에 피어-투 -피어 암호화 연결을 통해 교환된다. 원장은 암호화 된 데이터를 게시하지 않고 앵커링에만 사용된다.

Actual values of the data elements written to the DEV instance of the BCovrin ledger — a local Sovrin instance run by Province of BC for testing and development purposes — can be seen through Blockchain Explorer interface for DEV BCovrin available at:

BCovrin 원장의 DEV 인스턴스에 기록 된 데이터 요소의 실제 값은 테스트 및 개발 목적으로 BC 주에서 운영하는 로컬 Sovrin 인스턴스이다. 다음의 링크를 참고하라.

http://159.89.115.24/browse/domainDEV BCovrin

Ontario’s TheOrgBook Source Code Organization (온타리오 TheOrgBook 소스 코드)

Ontario and BC use the same code base for TheOrgBook application stored in a single repo — BCgov’s TheOrgBook GitHub repo.

Ontario주와 BC주는 단일 저장소(https://github.com/bcgov/TheOrgBook)에 저장된 TheOrgBook 응용 프로그램에 대해 동일한 코드를 사용한다.

The customizations that include the province specific UI look-n-feel and business rules for displaying data are applied dynamically at deployment through setting the TOB_THEME environmental variable in OpenShift. Sharing the same repo approach provides both teams with immediate access to all updates and enhancements in TheOrgBook’s code as provided by each of them.

데이터를 표시하기 위한 주별 UI 룩앤필 및 비즈니스 규칙을 포함하는 사용자 지정은 OpenShift에서 TOB_THEME 환경 변수를 설정하여 배포시 동적으로 적용된다. 동일한 배포 접근 방식을 공유하면 온타리오 주 및 BC 주 모두 TheOrgBook 코드에서 제공하는 모든 업데이트 및 개선 사항에 즉시 액세스 할 수 있다.

*참고) 룩앤필(look and feel)이란?
소프트웨어 디자인에서 룩앤필은 GUI(Graphical User Interface)측면과 디자인의 형태 구성에서 사용되는 용어로 색상, 모양, 레이아웃, 서체(look)와 같은 요소와 버튼, 박스, 메뉴(feel)와 같은 동적 요소의 행위를 포함한다.

ONBIS-X that is a copy of Indy Ref Agent customized for ONBIS issuer is stored in Ontario’s ongov repo (TBC: include a link)

ONBIS 발급자에 맞게 사용자가 지정된 Indy Ref Agent의 사본 인 ONBIS-X는 온타리오의 Ongov Repo (TBC : 링크 포함)에 저장된다.

Ontario’s TheOrgBook Architecture (온타리오 주의 TheOrgBook 아키텍처)

There are two main components developed within the Ontario’s VON Project:

온타리오의 VON 프로젝트에서 개발된 주요한 두 가지 주요 구성 요소:

TheOrgBook which implements a microservices architecture approach and consists of multiple sub-components, each having a specific function and running as a separate Docker container.

  1. MicroServices 아키텍처 접근 방식을 구현하고 각각 특정 기능을 가지며 별도의 Docker 컨테이너로 실행되는 여러 하위 구성 요소로 구성된 OrganBook이다.
  • API — tob-api directory in TheOrgBook’s repo — the API components implements RESTful endpoints for system-to-system communication — within TheOrgBook and with external applications. Only read-only endpoints are open for public use. The write endpoints require authentication. Implemented using Django 1.11 and Python 3.
  • TheOrgBook 저장소의 API tob-api 디렉토리-API 구성 요소는 TheOrgBook 및 외부 애플리케이션과의 시스템 간 통신을위한 RESTful 엔드 포인트를 구현한다. 읽기 전용 엔드 포인트 만 공개적으로 사용할 수 있으며 Write 엔드 포인트에는 인증이 필요하다. Django 1.11 및 Python 3을 사용하여 구현되었다.
  • Web UI — tob-web directory in TheOrgBook’s repo — built using Angular and uses templates to allow customizations to be applied to UI. The choice of templates and design elements is driven by the value of TOB_THEME environmental variable. Read more about our approach to theme development here and accessibility compliance here.
  • TheOrgBook의 repo-에있는 웹 UI tob-web 디렉토리는 Angular를 사용하여 구축되었으며 템플릿을 사용하여 사용자 정의를 UI에 적용 할 수 있다. 템플릿 및 디자인 요소의 선택은 TOB_THEME 환경 변수의 값에 의해 결정되며, 테마 개발에 대한 접근 방식 및 접근성 준수에 대한 자세한 내용은 여기를 참조하십시오.
  • Database — tob-db directory in TheOrgBook’s repo — this is a searchable database implemented using PostgreSQL 10 and contains business information that is searchable via the web UI.
  • TheOrgBook의 저장소에 있는 데이터베이스 — to-tob-db 디렉토리는 PostgreSQL 10을 사용하여 구현된 검색 가능한 데이터베이스이며 웹 UI를 통해 검색 할 수 있는 기업 정보를 포함한다.
  • Search Engine configiration — tob-solr directory in TheOrgBook’s repo — TheOrgBook uses Solr search engine to deliver real time indexing for records in the database and the autocomplete capability. This sub-component contains a custom configuration for Solr.
  • TheOrgBook의 저장소에 있는 검색 엔진 구성 — to-tob-solr 디렉토리 — OrgBook은 Solr 검색 엔진을 사용하여 데이터베이스의 레코드 및 자동 완성 기능에 대한 실시간 색인을 제공한다. 이 하위 구성 요소에는 Solr에 대한 사용자 정의 구성이 있다.
  • Enterprise Wallet — tob-wallet directory in TheOrgBook’s repo — a configuration for Hyperledger Indy Enterprise wallet. The wallet component itself is included as a part of the von-image Docker image file.
  • 엔터프라이즈 월렛 — TheOrgBook 저장소의 -tob-wallet 디렉토리 — Hyperledger Indy Enterprise 지갑 구성. 월렛 구성 요소 자체는 von-image Docker 이미지 파일의 일부로 포함된다.

2. ONBIS-X — is built on top of Indy Ref Agent software and includes Indy SDK, Indy Enterprise Wallet, DIDAuth, configuration, schemas and schema definition for issuing 3 types of credentials — business registations, business relationships, business addresses — based on the data in Ontario’s Business Registry — ONBIS.

ONBIS-X-는 Indy Ref Agent 소프트웨어를 기반으로 하며 온타리오 주 기업 등록 정보에 근거하여 3가지 유형의 VC를 발급하기 위한 Indy SDK, Indy Enterprise Wallet, DIDAuth, 구성, 스키마 및 스키마 정의를 포함한다.

Ontario’s TheOrgBook Source Code Dependency Diagram (온타리오 주 TheOrgBook 소스 코드 다이어그램)

출처: VON Website

Ontario’s TheOrgBook Network Architecture Diagram(온타리오 주 TheOrgBook 네트워크 아키텍처 다이어그램)

TheOrgBook’s components (Web UI, API, Database, Search Engine configuration) and ONBIS-X components (VON-X config, Wallet, DidAuth) are deployed in Government of BC’s PathFinder OpenShift platform and hosted in the Kamloops data center. ONBIS application that plays the role of the Verifiable Claims Issuer is hoted within Ontario’s domain.

OrganBook의 구성 요소 (웹 UI, API, 데이터베이스, 검색 엔진 구성) 및 ONBIS-X 구성 요소 (VON-X 구성, 월렛, DidAuth)는 BC 정부의 PathFinder OpenShift 플랫폼에 배포되고 Kamloops 데이터 센터에서 호스팅된다. VC 발급자의 역할을하는 ONBIS 응용 프로그램은 온타리오 도메인 내에서 사용된다.

출처: VON Website

크를 클릭해서 들어오시면 ‘공지사항’, ‘문의’,’정보공유및토론’의 채널에 들어오시면 됩니다.

https://app.slack.com/client/TLX101GU8/DM8GABM8U/details/members

또한 페이스북에도 채널을 구성해두었으니 참고하여 주세요

https://www.facebook.com/KDIDC1/

--

--

** SSIfluence ** Sovrin, W3C CCG 및 ToIP 멤버. 다수의 블록체인 프로젝트 수행/어드바이저 담당. GDG, GIST 등에서 강의 진행. 마스터링 자기주권신원 한글판 번역 및 마스터링 이더리움의 한글판 베타리딩에 참여. 공공기관의 사업평가위원 및 EBRD 자문