All roads lead to git.
목차
개요
Proof of Works
Blockchain without Mining
SpaceWeb & Openhash
대칭의 반복
씨줄과 날줄
씨줄
날줄
CAPTCHA
거래(Transaction)
나무
수풀
한수풀
지슬
오직 하나의 장부
재무제표
결합 제무제표
융합 제무제표
데이터 보호
거짓이 기록될 수 없는 이유
기록이 위변조될 수 없는 이유
시간 정보와 공간 정보
IFS(Integrated Financial Statement)
재무제표란?
단 하나의 문서
Openhash vs. Blockchains
두 기술의 공통 분모
두 기술의 다른 점
전자 여권(PASS)과 1%
참고 자료
Openhash는 국가를 운영 주체로 상정한 Git 기반의 Blockchain 기술입니다. 종래의 Blockchain과 비교하면, (1) Mining을 시장 참가자의 거래 데이터로 대체하고, (2) Block을 Gitlab Instance로 대체합니다.
세계 전역의 읍면동 단위에 하나의 Gitlab Instance(이하, Instance)를 할당합니다.
개별 Instance는 관할 구역 내에서 발생하는 모든 사건(Event)을 기록하며, 이벤트는 상거래를 포함합니다.
하나의 Instance가 하나의 Block이며, 세계 전역에 산재한 Instance들이 Chain을 형성합니다. 블록체인의 블록이 시간적 블록인 반면, Openhash의 블록은 공간적입니다.
Openhash는 Instance들 상호 간에 Hash를 공유하고 융합하는 하나의 방법론입니다.
Openhash에 의해, Gitlab Instance에 기록된 데이터는 위변조 또는 삭제될 수 없습니다.
Mining 과정이 없으므로, 비트코인 채굴과 같은 막대한 전력 소비가 없습니다.
전력 소비가 없으므로, 암호화폐의 거래 수수료가 없습니다.
기술적 상세는 Openhash 페이지를 방문하십시오.
종래의 블록체인과 Openhash는 둘 다 Proof of Works 알고리즘이며, 블록체인은 컴퓨터/서버가 땀흘려 일하고, Openhash는 사람이 땀흘려 일하는 점이 다릅니다. 달리 표현하면, 기존 원자력 발전이 핵분열로 에너지를 얻는 반면, 핵융합은 그 반대 과정으로 에너지를 획득합니다. 기존의 블록체인이 에너지를 소비함으로써 Proof of Work를 이루는 반면, Openhash는 에너지를 생산함으로써 같은 효과를 이룹니다.
블록체인과 Openhash는 둘 다 Proof of Work 알고리즘에 기초한 데이터 보호 장치입니다.
블록체인은 기계가 일하고, Openhash는 사람이 일합니다.
블록체인은 에너지를 소비하고, Openhash는 에너지를 생산합니다.
Openhash가 생산하는 에너지는 지식과 기술, 그리고 도덕성을 갖춘 미래의 성장 동력입니다.
ABC는 Openhash 기반의 암호 화폐입니다.
ABC(이하, 표준 화폐)의 가치는 팀 주피터가 주관하는 일련의 프로젝트들에 의해 보장되며, 그 중 하나는 ABC Project(이하, 표준은행)입니다.
Blockchain vs. Openhash
비트코인의 블록체인과 Openhash는 둘 다 Git 기반이며, Proof of Works 알고리즘으로 동작합니다. 그러나, 둘의 메커니즘은 매우 다릅니다.
비트코인은 채굴(Mining)을 보상하고, Openhash는 GCC의 학습(Learning)과 시장의 거래(Transaction)를 보상합니다.
채굴을 머신이 하고, 학습과 거래은 사람이 합니다.
채굴은 1등에게 보상하고, 학습과 거래는 모든 이를 보상합니다.
채굴은 에너지를 소비하고, 학습과 거래는 미래의 성장 동력을 생산합니다.
비트코인이나 이더리움 등 암호증표는 마이닝(Mining)으로 데이터의 신뢰성을 보장하지만, 마이닝 과정은 막대한 에너지를 소모하며, 그 비용을 충당할 거래 수수료(Transaction Fee)가 불가피합니다. 종래의 암호 화폐가 거래의 매개 수단으로써 국적 화폐를 대체할 수 없는 근본적 이유입니다.
그에 반해, Openhash는 마이닝(mining)이 아니라, 전체가 부분의 신뢰성을 보장합니다.
예로써, 제각기 자신의 일상을 Cloud의 Git Repository에 기록하는 10명을 상정합시다.
10명 각각의 Branch를 만든 뒤 (이하, Origin), 제각기 각자의 Branch를 Fork합니다(이하, Clone).
각자의 일상을 기록한 Clone을 각자의 Origin Branch에 Merge합니다.
Origin은 10개의 Origin Branch 각각을 순차적으로 Origin Main에 Merge하며, 이 과정을 영구히 반복합니다.
전술한 과정을 세계 10억 인구로 확대하고, 일상의 기록에 Transaction을 포함합니다.
수많은 일상 데이터의 Hash가 종횡으로 얽혀 있으므로(Chain), 그 속의 어떤 데이터도 위변조되거나 제거될 수 없습니다(Weaved Hash Chain).
종(Vertical)으로 묶고, 횡(Horizontal)으로 묶습니다. 전자는 Commit, 후자는 Merge/Rebase입니다.
Openhash는 이 과정을 표현한 하나의 패턴(Pattern)입니다.
ABC, MIT, MART 등 여러 Extension들의 모함(母艦)인 전자여권의 토대는 공간웹(Spaceweb)과 Openhash입니다. 그러므로, ABC의 작동 메커니즘을 이해하려면, 먼저 이 두 알고리즘을 이해해야 합니다.
이 둘의 용도는 비슷하면서도, 약간은 다릅니다.
SapceWeb(공간웹 ) = 사실이 아니면 기록될 수 없고,
Openhash = 기록된 것은 변할 수 없다.
두 알고리즘의 가장 큰 장점은 Git에 기초한 단순성입니다. 이하, 이 페이지의 독자는 Git과 Functional Programming, 그리고 블록체인 알고리즘을 이해하고 있다고 상정합니다. 팀 주피터의 아래 강좌를 참고하십시오.
Computer Science with Git and Python - Both OOP and Functional Programming[GitLab 링크]
Blockchain - From Bitcoin to Openhash[GitLab 링크]
이 페이지는 Openhash의 작동 메커니즘을 GCC(Global Cyber Campus) 학습자와 MART의 시장 참여자에 적용한 예시입니다.
GCC(Global Cyber Campus) - 글로벌 교육 인프라입니다. 구체적으로, 세계 전역의 학습자들이 기초 과학(수학, 물리, 화학, 생물), 컴퓨터 과학 그리고 각종 기술을 배우는 사이버 공간입니다.
ABC(AI Bank Cryptocurrency) - 글로벌 금융 인프라입니다. 구체적으로, 은행 기능을 겸한(Bank Included) 암화 화폐이며, 화폐 단위는 BIC 또는 B(대문자)입니다. B의 1/1,000이 c(소문자)입니다.
MART - 글로벌 시장 인프라입니다. 구체적으로, 온라인과 오프라인을 통합한 상품과 서비스 거래 인프라입니다.
Openhash는 팀 주피터의 모든 프로젝트들이 딛고 서는 주춧돌입니다. 이 기술의 논리 구조는 매우 단순합니다.
A가 B와 연동된다면, B의 변화는 A의 변화로, 혹은 그 역으로 연결된다.
A와 B가 연동된 상태에서, B가 변화할 수 없다면, A도 변화할 수 없다.
A가 변화하지 않기를 바라지만, 그 비용이 상당하다면, B의 변화를 차단하는 방법으로 A의 변화를 차단할 수 있다.
A에 화폐를, B에 상품을 대입할 수 있습니다. 혹은, A에 증명서를, B에 근거 자료를 대입할 수도 있습니다.
Openhash는 서로 다른 둘 사이에 대칭을 조직하는 방법으로, 둘의 변화를 제어하는 기술입니다.
Openhash의 용도는 한 번 기록된 내용이 결코 위변조될 수 없게 할 방법이며, 그 방법은 Git에 기초한 씨줄과 날줄, 그리고 수풀입니다.
씨줄은 종으로 나열된 가닥들이며, Git Repository의 Commit History로 구현합니다.
날줄은 씨줄을 횡으로 엮는 가닥들이며, 세계 전역에 산재한 GitLab Instance들 간의 Merge로 구현입니다.
직물(Git Database)은 씨줄과 날줄이 교차된 상태이며, 교차하는 동작을 직조(Weaving)라 합니다. Openhash는 수많은 시장 참여자들이 생산하는 Commit들을 효율적으로 Merge하여, 직물(Git Database)을 생산할 하나의 방법론입니다.
새끼줄을 꼬는 것과 같습니다.
먼저, 몇 가닥의의 짚을 왼손에 쥡니다.
다른 몇 가닥의 짚을 오른 손에 쥡니다.
두 손바닥을 문지르면서 두 묶음의 짚을 꼬아 나갑니다.
왼손 혹은 오른손에 쥔 묶음의 끝에 이르면, 새로운 몇 가닥의 짚을 이어 붙입니다.
이 과정을 반복합니다.
씨줄 = Hash Chain = Git Commit History
Openhash의 씨줄은 Git의 Commit History와 같습니다. 다만, Commit의 주체가 개발자가 아니라, 시장에 참여하는 시장 참여자 또는 경제 단위(Entity)입니다. 경제 단위는 경제적 활동의 주체가 되는 사람이나 기업, 기관, 단체, 지역, 자율주행 차량 등입니다. 이를 Entity라 부릅니다.
홍길동의 Entity를 예로써, 씨줄을 엮어 가는 과정을 보면,
마치 탈곡기가 짚단을 내 놓듯, 홍길동이 참여한 어느 한 거래(txn)의 상세 내역은 Hash를 내 놓습니다. 이를 Incoming Hash 1라 지칭합니다.
그 Hash를 오른 손에 쥡니다. 오른 손에 쥔 Hash를 Current Hash 1이라 합니다.
홍길동의 다음 번 거래 내역으로 새로운 Hash를 만듭니다. 이 Hash는 새로운 Incoming Hash 2가 됩니다.
오른 손에 쥐고 있던 이전의 Hash를 왼손으로 옮겨 쥡니다. 이를 Previous Hash라 합니다.
왼 손의 Previous Hash와 오른 손의 Incoming Hash 2를 합친 데이터로부터 새로운 Hash를 만듭니다. 마치두 손바닥을 마주비벼, 새끼를 꼬는 것과 같습니다.
그 Hash를 오른 손에 쥡니다. 오른 손에 쥔 Hash를 Current Hash 2라 합니다.
새로운 거래로부터 새로운 Hash가 만들어지는 과정을 반복합니다.
이제 홍길동은 자신의 거래 기록을 수정하거나, 삭제할 수 없습니다. Hash Chain이 망가지기 때문입니다. 모든 경제 단위가 제각기 Hash Chain을 만들어 나간다면, 아무도 자신의 거래 기록 중 어느 하나의 기록만 바꿀 수는 없습니다.
그러나, 한 가지 문제가 있습니다. 가령, 홍길동이 자신의 거래 기록들 중 어느 하나만 바꾸는 게 아니라, 자신의 모든 거래 기록들을 통채로 바꿔치기할 수 있지 않을까요?
씨줄은 어느 한 학습자 또는 경제 단위의 경제 활동들(Transactions)을 연대 순(Timely Order)으로 기록하며, 기록 내에서 어느 한 꼭지(Commit)의 변경을 막습니다. 하지만, 특정 경제 단위의 기록 전체를 통채로 바꾸는 건 막을 수 없습니다.
그걸 막는 게 날줄입니다.
(1) 나무(Tree) = A GitLab Instance
예로써, GCC 학습자 100명이 "중학교 1학년 수학" 과정(Origin Repo)을 학습하는 경우를 상정합시다.
100명이 만든 100개의 Forked Repo는 GCC의 "중학교 1학년 수학" Repo를 복제하고, 지속적으로 갱신합니다. 따라서, 어느 한 명의 학습 데이터(Forked Repo)가 다른 99명의 Repo와 다를 수는 없습니다.
만약, GCC의 "중학교 1학년 수학" 과정(Origin Repo)이 훼손되면, 100개의 Forked Repo 중 하나로 대체할 수 있습니다.
그러나, Origin Repo와 Forked Repo들이 모두 훼손되면 복구할 방법이 없습니다.
한 편, "중학교 1학년 수학" Repo를 복제한 학습자가 1만 명이라면, 이 방식은 다소 비효율적입니다. 학습자가 100만 명이면, 더욱 비효율적입니다.
(2) 수풀(Supul) = A Group of GI Trees
전술한 문제를 Openhash가 해결하는 방법입니다.
1백만 명을 1만 명씩 100개로 나누고, 다시 1백 명씩 100개로 나눈뒤, GitLab Instance(이하, 나무)를 하나씩 할당합니다. 따라서, GI 하나가 학습자 100명의 학습 과정을 모니터링하고, 기록합니다.
나무 100개를 관할할 GI(이하, 수풀) 하나를 새로 만듭니다. 수풀은 100개의 가지(Branches)를 가지며, Branch 하나가 나무 하나입니다.
따라서, 어느 한 나무가 훼손되면, 수풀이 이를 복구할 수 있습니다.
그런데, 나무와 수풀마저 훼손되면, 복구할 방법이 없습니다.
(3) 한수풀(HanSupul) = A Network of GI Supuls
재차, 전술한 문제를 Openhash가 해결하는 방법입니다.
GI 수풀 100개를 Branch로 갖는 하나의 GI를 만든 뒤, 셋으로 Fork합니다. 이 셋을 한수풀이라 부릅니다.
이제 어느 한 GI, 어느 한 Supul, 혹은 어느 한 HanSupul이 훼손된 경우, 즉시 이를 복구할 수 있습니다.
(4) A.I. 또는 Machine Learning
어느 한 과정의 학습자(A)가 스스로 공부하지 않고, 다른 학습자(B)의 Exercise Solution을 복사해서, Merge Request를 던져도, 보상해야 할까요? 가능하지만, 현실적이지 않습니다.
GCC에 탑재된 ML 모듈은 어느 한 학습자의 비정상적 행위를 감지할 수 있습니다(Abnormalty Detection). 가령, 초등 1학년 학습자가 고교 3학년 미적분 Exercise의 Solution을 Merge Request하는 것은 비정상입니다.
역으로, 고교 3학년 학습자가 초등 1학년 산수 Exercise의 Solution을 제시하는 것도 비정상입니다.
어느 한 학습자가 하룻 만에 책 한권의 Exercise를 모두 제시하는 것도 정상이 아닙니다.
GCC가 비정상적인 학습 패턴을 발견하면, 상응하는 조치를 취하며, 그 중에는 이미 지급된 ABC 보상을 몰수하는 것도 포함됩니다.
Openhash는 완전 수동 블록체인이며, 머신의 땀이 아니라, 사람의 땀이 투입되어야 합니다(Proof of Work). 따라서, 블록체인을 만드는 게 머신이 아닌, 사람의 손이라는 것을 증명할 방법이 필요합니다. 우리는 이 목적을 위해, CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart)를 이용합니다.
사람을 포함한 각 경제 단위의 활동은 사건(Event)이며, Transaction으로 표현합니다. Transaction은 비단 돈이 오가는 상거래 뿐 아니라, 모임과 이벤트 등 사회적 활동을 통칭합니다. Transaction을 DB에 저장하면, DB 필드(Field)는 다음을 포함합니다.
거래 당사자
거래 품목
거래 일시
거래 장소
거래 장부
일반적인 거래 정보 데이터와 달리, 후술하는 공간웹(SpaceWeb)은 거래 장소와 거래 장부를 반드시 명기합니다.
홍길동과 임꺽정이 물건을 사고 파는 경우를 상정합시다.
나무는 일정한 지역을 관할하는 GitLab Instance이며, 해당 지역에 소재한 경제 참여자 각각의 IFS를 저장한 Git-based database입니다.
거래에 앞서, 홍과 임 모두 나무의 IFS Repository(Origin)를 Fork합니다.
Origin은 홍과 임 각각의 Branch를 생성합니다.
홍길동과 임꺽정은 함께 Transaction Report를 작성한 뒤, 각자의 Repo에 Commit합니다.
홍길동과 임꺽정은 나무에 Pull Request를 전달합니다.
나무는 (1) 두 Commit에 포함된 거래 데이터가 일치하는 지 여부, 그리고 (2) 두 서명의 진위 여부를 판단한 뒤, Origin에 포함된 각각의 Branch를 업데이트합니다.
나무는 두 Branch를 Main과 Merge합니다. 따라서, 나무가 관할하는 지역의 시장 참가자들의 거래 정보 및 IFS는 나무의 Main 브렌치로 모이고, 결합 재무제표(Consolidated Financial Statement)를 구성합니다.
그러나, 홍길동과 임꺽정이 서로 다른 나무에 속하면, 이 메커니즘은 동작하지 않습니다. 이제, 수풀이 등장합니다.
홍길동과 임꺽정이 서로 다른 지역에 거주하면, 홍길동이 Pull Request를 전달한 나무(A)는 임꺽정을 찾을 수 없고, 임꺽정의 나무(B)도 마찬가지입니다. 이 때, 나무A와 B는 각기 홍길동과 임꺽정의 Pull Request를 수풀로 전달합니다.
수풀은 나무A와 나무B에 대응하는 두 Branch(Branch A, Branch B)를 생성한 뒤, 나무A와 B의 Main Branch를 Pull하여, 각기 Branch A와 Branch B에 Merge합니다.
수풀은 (1) 두 Commit에 포함된 거래 데이터가 일치하는 지 여부, 그리고 (2) 두 서명의 진위 여부를 판단한 뒤, Origin에 포함된 각각의 Branch를 업데이트합니다.
수풀은 나무 A와 B에게 Pull Request를 전달하고, 두 나무는 각자의 Main Branch를 갱신합니다.
또한, 수풀은 두 Branch를 Main과 Merge합니다. 따라서, 수풀이 관할하는 지역에 속한 나무들 간의 거래 정보 및 IFS는 수풀의 Main 브렌치로 모이고, 더 큰 규모의 결합 재무제표(Consolidated Financial Statement)를 구성합니다.
그러나, 홍과 임이 서로 다른 수풀에 속한다면, 이상의 과정은 적용될 수 없습니다. 이제, 한수풀이 등장합니다.
홍길동과 임꺽정의 거래를 기록할 최종 단위입니다.
지슬(zsl)은 홍길동, 임꺽정 등 시장 참가자입니다. 지슬은 각자의 거래 이력을 자신의 Git Repo에 기록합니다.
나무(Tree)는 일정한 지역을 관할하는 Git Repo입니다. 해당 지역에 소속된 지슬들 간의 거래는 나무에 기록됩니다. 한국의 읍면동이 나무입니다.
수풀(Supul)은 보다 넓은 지역을 관할하는 Git Repo입니다. 나무가 다르고, 수풀이 같은 지슬들 간의 거래는 수풀에 기록됩니다. 한국의 시군구가 수풀입니다.
한수풀(HanSupul)은 국가를 관할하는 Git Repo입니다. 소속 수풀이 다른 지슬들 간의 거래를 기록합니다. 한국이 한수풀입니다.
Openhash는 수풀을 계층적으로 조직하여, 전술한 문제를 해결합니다.
단위 수풀은 경제 인구(Entity) 1천 명 ~ 1만 명(한국의 읍면동)이 공유하는 씨줄입니다.
광역 수풀은 여러 수풀을 하나로 묶은 것입니다. 수 개 ~ 수십 개의 단위 수풀을 한 개의 광역 수풀로 그룹화합니다. 어느 한 광역 수풀과 소속 수풀들 간의 관계는 어느 한 단위 수풀과 소속 Entity들 간의 관계와 같습니다.
한수풀은 여러 광역 수풀을 하나로 묶은 것입니다. 어느 한 국가 수풀과 소속 광역 수풀들 간의 관계는 어느 한 광역 수풀과 소속 단위 수풀들 간의 관계와 같습니다.
글로벌 수풀은 모든 국가 수풀을 하나로 묶은 것입니다. 수 백 개의 국가 수풀들을 하나의 글로벌 수풀로 그룹화합니다.
그러므로, 어느 한 Entity가 자신의 계좌 잔고를 위변조하려면, 세계 인구 모두의 계좌 잔고를 함께 위변조해야 합니다.
전술하였듯이, Openhash는 한 번 기록된 데이터는 영구히 수정이나 삭제될 수 없게합니다. 그런데, 문제가 있습니다. 처음부터 거짓 데이터가 기록되었다면, 그런 거짓 데이터의 위변조를 막는 것은 아무 의미가 없지 않을까요?
공간웹은 거짓된 데이터가 기록될 가능성을 차단합니다.
모든 시장 참가자(지슬, Entity)는 제각기 자신의 소속 나무를 하나씩 가집니다.
모든 나무는 제각기 자신의 소속 수풀을 하나씩 가집니다.
모든 수풀은 제각기 자신의 소속 한수풀을 하나씩 가집니다.
각 나무와 수풀은 소속 Entity들의 재무제표를 결합한 하나의 결합 재무제표를 갖습니다.
만약, 두 거래 당사자(지슬)들이 같은 나무에 속하면, 해당 나무가 해당 지슬들의 재무제표를 갱신합니다. 이 나무의 결합 재무제표의 수입과 비용 합계는 반드시 그리고 항상 제로(0)입니다.
어느 한 수풀은 구매자와 판매자, 혹은 Transaction에 참여자들이 모두 자신을 소속 수풀로 하는 경우에만, 해당 지슬들의 재무제표를 갱신합니다. 이 결합 재무제표의 수입과 비용 합계는 반드시 그리고 항상 제로(0)입니다.
만약, 두 거래 당사자들이 소속 수풀이 다르고, 그 수풀들이 소속된 한수풀이 같다면, 해당 한수풀이 해당 Entity들의 재무제표를 갱신합니다. 이 한수풀의 결합 재무제표의 수입과 비용 합계는 반드시 그리고 항상 제로(0)입니다.
만약, 두 거래 당사자들이 소속 나무, 수풀 및 한수풀이 다르면, 글로벌 수풀이 해당 Entity들의 재무제표를 갱신합니다. 글로벌 수풀의 결합 재무제표의 수입과 비용 합계는 반드시 그리고 항상 제로(0)입니다.
블록체인은 참과 거짓이 섞인 불특정 다수의 장부들 가운데 참(True)인 장부 하나를 고르는 메커니즘입니다. 그에 반해, Openhash와 후술하는 공간웹은 오직 하나의 장부만 유지 관리하며, 그 장부에 기록된 데이터는 거짓일 수 없고, 변할 수도 없습니다.
재무제표(Financial Statements)는 각각의 Entity가 자신의 Transaction을 기록하는 공간입니다. 모든 거래는 하나의 표준 양식에 맞춰 기록되어야 합니다. 그 양식은 국제 표준 회계기준(International Standard Accounting Principles)이며, 그렇게 기록된 각각의 Transaction을 Accounting Entry라 지칭합니다. 모든 경제 활동 단위(Entity)는 반드시 하나의, 꼭 하나의 재무제표를 작성하고, 자신이 참여하는 매 거래를 Accounting Entry의 형식으로 기록합니다.
손익계산서는 일정 기간 동안 사고 팔거나, 소비한 자산의 양을 화폐 단위로 기록합니다.
대차대조표는 시점 별로 변화하는 자산의 양을 기록합니다.
현금흐름표는 여러 자산들 중 현금이 오간 양을 기록합니다.
하나의 사실(Fact or Transaction)은 해당 사실에 참여한 경제 단위들의 재무제표에 기록됩니다.
거래 장부를 통해
구매자가 있으면, 반드시 판매자가 있으며, 이 둘의 거래 금액은 같습니다
누군가가 산 물건이 있으면, 반드시 누군가가 판매한 물건이 있으며, 이 둘은 같습니다.
그러나, 재무제표에 사실을 기록할 수는 있지만, 거짓의 기록을 막을 수는 없습니다. 가령, 두 거래 당사자가 함께 각자의 장부를 위조한다면, 그 사실을 어떻게 파악할 수 있을까요? 가령, 어느 한 거래의 구매자와 판매자 각각의 장부를 동시에 볼 수 있다해도, 구매자는 자신의 장부에 사지 않은 물건을 샀다고 기록하고, 판매자는 팔지 않은 물건을 팔았다고 기록할 수 있습니다.
이 문제의 해법은 결합 재무제표입니다.
둘 이상의 손익계산서, 대차대조표, 현금흐름표를 합친 것입니다.
세계 인구 75억 명의 재무제표를 하나로 합친다면, 그 재무제표의 매출과 매입의 합계는 항상 제로(0)입니다.
어떤 거래가 발생하던 해당 거래로 인한 어느 일방의 수입과 상대방의 비용은 반드시 같고, 그 합계는 제로입니다.
그러므로, 허위 매입이나 매출은 거래 당사자 각각의 장부를 들여다 볼 필요도 없이, 75억 인구의 결합 재무제표에 의해 즉각 파악됩니다.
기록 후에 파악하는 것이 아니라, 기록 전에 파악할 수도 있습니다. 기록 업무를 제 3자로 맡김으로써, 매칭되는 상대방이 없는 거래는 아예 기록조차 않는 것입니다. 이 3자를 S라 합시다.
이제 S는 75억 인구의 재무제표를 하나로 합쳐서 기록합니다. 그런데, Openhash의 경우와 마찬가지로, 거래의 기록 책임을 맡은 S는 컴퓨터 자원과 통신 자원의 한계에 봉착합니다. 75억 인구가 초당 수십 만 건의 거래 정보를 전송해도, 통신 자원의 한계로 인해, S는 거래들 간의 시간적 순서를 결정할 수 없습니다.
그 해법은 이전과 동일합니다. 수풀입니다.
융합(Integrated) 재무제표는 종래의 재무제표(대차대조표, 손익계산서, 현금흐름표, 지분표, 이익잉여금처분계산서 등)을 하나의 문서로 융합한 것입니다.
개인과 단체 등 모든 시장 참가자(지슬)은 하나의 IFS를 갖습니다.
IFS의 변경은 Git Commit에 의합니다.
나무는 지슬들의 결합 IFS를 생성하고, 갱신합니다.
수풀은 나무들의 결합 IFS를 생성하고, 갱신합니다.
한수풀은 수풀들의 결합 IFS를 생성하고, 갱신합니다.
Openhash는 80억 인구와 각종 단체 각각에게 할당된 IFS, 그리고 나무와 수풀과 한수풀의 IFS를 생성하고, 갱신하는 메커니즘입니다.
IFS의 상세는 이 페이지 하단의 6. IFS(Integrated Financial Statement) 항목을 참고하십시오.
종래의 블록체인이 여러 기록들 가운데 참인 기록 하나를 선별하는 기술인데 반해, Openhash는 거짓은 기록될 수 없고, 기록은 위변조될 수 없는 기술입니다.
재무제표가 엮어가는 씨줄(Git Commits)로 인해, 지금의 재무제표 상태(State)는 이전의 모든 상태와 연결됩니다. 가령, 홍길동 Entity의 재무제표에 차량 한 대가 ₩30,000,000으로 기재되어 있다면, 그 자동차가 현재의 재무제표에 등장하기까지 이전 재무제표의 상태, 이를테면, 홍길동이 차량을 구매하기 위해 적금을 부어온 과정이라던가, 혹은 ₩50,000,000짜리 자동차가 현재 가치로 감가 상각되어온 과정이 Log Data로 기록되어 있습니다. 그러므로, 하늘에서 뚝 떨어지듯 뭔가가 장부에 기록될 수는 없습니다.
모든 Entity들의 장부를 기록하는 서기로 역할하는 수풀은 수입과 비용의 합이 제로(0)인지 확인합니다. 누군가의 수입과 누군가의 비용이 항상 매칭(Matching)되어야 하므로, 없는 상품을 팔거나, 사지 않은 상품을 장부에 기록할 수 없습니다.
모든 Entity의 모든 거래는 씨줄과 날줄로 서로 엮여 있습니다. 80억 인구 중에 단 한 명의 거래 기록을 위변조하려면, 그 한 명의 Hash Chain을 새로 작성해야할 뿐 아니라, 나머지 인구 전부의 Hash Chain도 새로 작성해야 합니다. 달리, 세계 인구가 전부 합심하여, 특정 개인의 위변조 내용에 부합하도록 자신의 장부도 위변조해야 합니다. 이는 물리적으로 불가능합니다.
Git Commit으로시간을 기록하는 한 편, 공간웹으로 거래가 발생한 공간에 관한 정보를 기록합니다. 공간은 통상의 주소 체계 뿐 아니라, 위도, 경도, 고도로 표현합니다.
국가마다 주소 체계가 다르므로, 세계 전역의 공간 정보를 표시할 통일된 주소 체계가 없습니다.
유형의 상품을 사고 판다면, 반드시 해당 상품을 생산한 장소 혹은 소재한 장소와 인도한 장소가 있어야 합니다.
여러 종의 원료나 원자재를 조합하여 새로운 상품을 구성한다면, 해당 상품의 소재가 되는 각 원소의 공간 정보가 사전에 존재해야 합니다.
가령, 수산 시장에 갈치를 한 마리 구매한 소비자는 해당 갈치가 잡힌 장소, 저장되었던 장소, 저장 기간 등에 관한 모든 정보를 획득할 수 있고, 국가는 갈치의 어획과 유통, 및 소비에 관한 모든 정보를 획득할 수 있습니다. 달리 표현하면, 잡힌 적이 없는 갈치를 판매할 수는 없습니다.
공간웹을 참고하십시오.
IFS는 국제 회계 기준(IAS - International Accounting Standard)에 따라 작성되며, T1, T2, T3, 및 Knowledge Asset 계정이 추가된 Financial Statement입니다. IFS의 디폴트 통화는 T(가칭, "표준화폐")입니다.
Openhash는 모든 시장 참여자(지슬)에게 하나의 IFS를 할당하며, 그 방법은 ABC Repository입니다.
Openhash는 모든 시장 참여자(지슬)의 거래를 그 각각의 IFS에 반영하며, 그 방법은 나무, 수풀, 그리고, 한수풀입니다.
IFS의 서식은 YAML이며, 저장 장소는 GitLab Repository입니다.
ABC는 세계 80억 시장 참가자가 공유하는 하나의 Git Repository이므로, 기록되는 모든 거래는 오직 참(True)이며, 분식이 불가능합니다.
재무제표(Financial Statements)는 어느 한 시장 참가자가 보유한 가치의 변동을 화폐 단위로 환산하여 시간 순으로 기록한 문서(Time Series Documents)입니다. ABC는 이 문서에 Knowledge 항목을 추가한 Git Repository입니다.
실시간(Real Time) - 시장 참가자가 거래를 수행할 때마다, 그/그녀의 IFS를 실시간으로 갱신합니다.
하나의 데이터 뭉치 - 대차대조표, 손익계산서, 현금흐름표, 지분표, 이익잉여금처분계산서, 재고회전율보고서, 영업이익 보고서 등 각종 재무 제표는 IFS라는 하나의 데이터 뭉치에서 실시간으로 생성됩니다.
종래의 재무제표(Financial Statements)는 사람이 주기적(Periodic)으로 시산표(Trial Balance) => 손익 계산서(Income Statement) => 대차대조표(Balance Sheet) => 지분표(Retained Earning Statement) 순으로 기록하거나, 장부를 취합하며, 그 주기는 분기, 반기, 년 등입니다. ABC는 이 과정을 대차대조표(Balance Sheet) 하나로 통합합니다.
사람이 아니라, 머신(Machine)이 Openhash 메커니즘으로 기록하며, 오류가 발생할 수 없습니다.
주기적(Periodic)이 아니라, 실시간(Real Time)으로 기록합니다.
손익계산서는 Git Commit History로 대체합니다.
우리는 이 문서를 Integrated Financial Statement 또는 IFS라 부릅니다.
(1) 대차대조표( Balance Sheet) 항목
현금성 자산에 T1~T3를 추가하고, 고정 자산에 지식과 기술(Knowledge and Skills)을 추가합니다. 아래 항목 각각의 YAML 파일을 생성합니다.
T1
T2
T3
Knowledge and Skills(Fixed Asset)
Cash and Equivalents (Current Assets)
Marketable Securities (Current Assets)
Account Receivables (Current Assets)
Inventories (Current Assets)
Prepaid Expense (Current Assets)
Property, Plant, and Equipment (Fixed Assets)
Intangible Assets (Fixed Assets)
Account Payable (Current Liabilities)
Unearned Revenue (Current Liabilities)
Short Term Debt (Current Liabilities)
Current Portion of Long-term Debt (Current Liabilities)
Other Accrued Expenses and Liabilities (Current Liabilities)
Long term Debt (Long Term Liabilities)
Paid-in Capital (Shareholders Equity)
Retained Earnings (Shareholders Equity)
아래 항목 각각의 YAML 파일을 생성합니다.
Revenue.
Sales discounts.
Cost of goods sold.
Compensation expense.
Depreciation and amortization expense.
Employee benefits.
Insurance expense.
Marketing expenses.
Office supplies expense.
Payroll taxes.
Professional fees.
Rent expense.
Repair and maintenance expense.
Taxes.
Travel and entertainment expense.
Utilities expense.
Income taxes.
아래 항목 각각의 YAML 파일을 생성합니다.
Cash flow resulting from operating activities
Cash flow resulting from investing activities
Cash flow resulting from financing activities.
A disclosure of non-cash financing activities.
아래 항목 각각의 YAML 파일을 생성합니다.
beginning retained earnings
net income or loss
dividends paid
아래 항목 각각의 YAML 파일을 생성합니다.
Revenue growth (revenue this period - revenue last period) ÷ revenue last period.
Revenue concentration (revenue from client ÷ total revenue)
Revenue per employee (revenue ÷ average number of employees).
Gross profit margin (revenues – cost of goods sold) ÷ revenues
Operating profit margin (revenues – cost of goods sold – operating expenses) ÷ revenues
Net profit margin (revenues – cost of goods sold – operating expenses – all other expenses) ÷ revenues
Accounts receivables turnover (net credit sales ÷ average accounts receivable)
Inventory turnover (cost of goods sold ÷ average inventory)
Return on equity (net income ÷ shareholder’s equity)
Debt to equity (debt ÷ equity)
Current ratio (current assets ÷ current liabilities)
Interest coverage (earnings before interest and taxes ÷ interest expense)
(6) 지식 자산(Knowledge Asset) 계정
IFS는 지식을 자산으로 간주합니다.
GCC(Global Cyber Campus)에 등록한 어느 한 개인이 이수한 모든 과목(Subject)과 과정(Course)은 상각(Amortization)없는 영구적 자산(Permanent Asset)으로 기록됩니다.
학습자가 GCC에 지불한 수강료는 지식 자산의 구매 비용으로 기록됩니다.
특정 과목과 과정을 이수한 학습자에게 ABC로부터 지급받은 T1은 T1 계정의 수입으로 기록됩니다.
(8) 디폴트 통화 T
시장 참가자의 국적과 업종에 상관없이 IFS의 디폴트 통화는 T입니다. 그러나, 사용자가 원하는 국적 화폐로 표현할 수 있습니다. 가령, 홍길동의 사업체 "길동 레스토랑"의 IFS는 T으로 기록하지만, T과 KRW 간의 환율에 기초하여, 한국 원화(KRW)로 전환하여 표시할 수 있습니다.
Openhash의 목표는 단순 명료하며, 그 기술적 구성 역시 그러합니다.
그 목표는 종래의 Blockchain에 필수적인 Transaction Fee를 제거하는 것입니다.
그 기술은 인간의 모든 경제적 활동을 Data로 표명하고, 모든 Data를 Hash로 상호 연동하는 것입니다.
Openhash는 Data 그 자체로 Data를 보호하므로, 방대한 규모의 데이터 수집이 불가피합니다. 세계 인구의 1% 이상이 그들의 경제적 활동을 Openhash로 기록할 때, 그 1%에 속하는 개인의 데이터는 다른 모두의 데이터에 의해 보호될 수 있을 것입니다.
Blockchain 기술과 마찬가지로 Openhash의 기반도 (1) Git 기술과 (2) Digital Signature입니다. 물론, Digital Signature의 기반 기술은 Cryptography입니다.
거래의 증명은 둘 다 Digital Signature, Private/Public Keys에 의합니다.
둘 다 참(True)인 정보를 가려내는 기술입니다.
장부(Ledger)를 기록하는 메커니즘입니다.
블록체인은 다수의 Miner들이 기록한 다수의 장부들 가운데 참(True)인 하나의 장부를 Mining 과정을 통해 결정(Voting)합니다.
Openhash는 하나의 기록자가 하나의 장부를 기록하며, 구조적으로 거짓을 기록할 수 없습니다.
블록체인은 채굴(Mining)로 신규 코인을 발행하며, Openhash는 ABC Project를 통해, 일괄 발행합니다(2천만 T).
비트코인 등은 그 가치를 담보할 기저 자산(Backing Assets)이 없지만, Openhash의 가치는 ABC Projects의 가치에 의해 담보됩니다.
마치 비트코인이 블록체인 기술의 확산을 야기한 강력한 매개체듯, 전자 여권 또는 표준 여권은 Openhash 기술을 전파할 매우 강력한 수단입니다.
전자 여권은 단순히 종이 여권의 대체물이 아닙니다.
인프라: 전자여권은 사회 또는 산업의 제반 인프라를 담는 그릇입니다. 가령, 어느 한 국가의 금융 인프라는 표준은행과 표준화폐로 담겨 있습니다. 교통물류, 보건의료, 교육 등 그 어떤 인프라도 예외가 아닙니다.
조직/기관 자동화: 전자 여권은 이상적인 전자 정부 기능을 제공할 것입니다. 종래의 전자 정부가 업무 자동화에 방점을 두었다면, 전자 여권의 그것은 조직/기관 자동화입니다.
COVID 19는 세계 역사의 진화 단계를 구분하는 하나의 기준선이 될 것입니다. 어쩌면, 전자 여권도 그러한 기준선 중 하나가 될 것입니다.
In OP, every 지슬(jisel) itself is auth itself regardless of human, thing or concept.
This section describes how to setup more than 10,000,000 Supul servers all over the world.
The standard currency 닙 nip is quite different from crypto tokens such as bitcoins or ethereums.
*Disclaim: I’m a member of Team Jupeter who developed the Openhash Platform.*
All blockchain technologies talk about consensus or vote.
Introduction to a 4th generation of blockchain technology — the Openhash Platform(OP).