KR102450412B1 - SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things - Google Patents

SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things Download PDF

Info

Publication number
KR102450412B1
KR102450412B1 KR1020200003922A KR20200003922A KR102450412B1 KR 102450412 B1 KR102450412 B1 KR 102450412B1 KR 1020200003922 A KR1020200003922 A KR 1020200003922A KR 20200003922 A KR20200003922 A KR 20200003922A KR 102450412 B1 KR102450412 B1 KR 102450412B1
Authority
KR
South Korea
Prior art keywords
service
smart contract
contract
transaction
sla
Prior art date
Application number
KR1020200003922A
Other languages
Korean (ko)
Other versions
KR20210090519A (en
Inventor
김도현
Original Assignee
제주대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 제주대학교 산학협력단 filed Critical 제주대학교 산학협력단
Priority to KR1020200003922A priority Critical patent/KR102450412B1/en
Publication of KR20210090519A publication Critical patent/KR20210090519A/en
Application granted granted Critical
Publication of KR102450412B1 publication Critical patent/KR102450412B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Abstract

본 발명은 서비스를 문서화하고 제공자가 충족해야 할 서비스 표준을 정의하는 SLA(서비스 수준 협약;the service level agreement)를 이용한 강화된 분산형 공유 경제 서비스에 대한 것으로, 참가자, 자산, 블록체인 네트워크, 오프 체인 데이터 베이스의 기본 구성을 바탕으로, 공유경제체제의 자기지배구조를 구축하기 위해 SLA(서비스 수준 협약)의 개념을 적용하고, SLA 사양을 스마트 계약으로 정의하여 SLA 관리를 위한 모든 규칙 이후 SLA 라이프사이클을 자동화하고 서비스 프로비저닝에 투명성을 부여하는 시스템을 제공할 수 있다.The present invention relates to an enhanced decentralized sharing economy service using the service level agreement (SLA) that documents the service and defines the service standards that providers must meet, including participants, assets, blockchain networks, Based on the basic configuration of the chain database, the concept of SLA (Service Level Agreement) is applied to build the self-governing structure of the sharing economy system, and the SLA specification is defined as a smart contract to define the SLA life after all rules for SLA management It can provide a system that automates the cycle and gives transparency to service provisioning.

Description

사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법{SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things}SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things

본 발명은 서비스를 문서화하고 제공자가 충족해야 할 서비스 표준을 정의하는 SLA(서비스 수준 협약; the service level agreement)를 이용한 강화된 분산형 공유 경제 서비스에 대한 것이다.The present invention relates to enhanced decentralized sharing economy services using the service level agreement (SLA) that documents the services and defines the service standards that providers must meet.

P2P(Peer-to-Peer) 플랫폼의 인기로 인해, 대규모의 민간 개인간의 거래는 점점 빈번해지고 있다. 공유 경제(sharing economy)는 지역사회 기반 온라인 플랫폼에 의해 종종 촉진되는 재화와 서비스에 대한 접근을 제공하는 P2P 기반 경제 모델이다. 이 새로운 인터넷 기반 임대 시장은 개인들이 사용하지 않는 상품과 서비스를 다른 사람들에게 임대함으로써 추가적인 이득을 얻을 수 있게 해준다. 예를 들어, Mobike는 완전 스테이션리스 자전거 공유 시스템으로, 소비자들은 언제든지 또는 주차 구역에서 자전거를 타고 떠날 수 있다.Due to the popularity of peer-to-peer (P2P) platforms, large-scale private-to-person transactions are becoming increasingly frequent. The sharing economy is a peer-to-peer economic model that provides access to goods and services often facilitated by community-based online platforms. This new Internet-based rental marketplace allows individuals to gain additional benefits by renting out goods and services they do not use to others. Mobike, for example, is a fully stationless bike-sharing system, allowing consumers to ride their bikes away at any time or in a parking area.

또 다른 대표적인 예로 Airbnb가 있는데, 이 경우 개인들은 그들의 여분의 방, 아파트 또는 전체 집을 임대할 수 있다. 공유 경제는 지난 10년간 급속하게 폭발적으로 성장했으며, 잠재 시장 규모는 2014년 140억 달러에서 2025년 3350억 달러로 성장할 것으로 예상된다. 정보 기술과 데이터 분석 기능의 발전은 임대 회사가 수요와 공급을 효율적으로 일치시킬 수 있는 길을 열어준다. 상호신뢰는 공유경제에서 그러한 상호작용이 일어나기 위한 가장 기본적인 전제조건 중 하나이다. 예를 들어, 부서의 주최자는 잠재적인 손님들이 공손하게 행동할 수 있도록 믿을 뿐만 아니라 예약과 지불 절차에 대한 에어비앤비의 능력을 믿을 필요가 있다.Another prime example is Airbnb, where individuals can rent their extra rooms, apartments, or entire homes. The sharing economy has exploded rapidly over the past decade, and the potential market size is expected to grow from $14 billion in 2014 to $335 billion in 2025. Advances in information technology and data analytics capabilities pave the way for rental companies to efficiently match supply and demand. Mutual trust is one of the most basic prerequisites for such interactions to occur in the sharing economy. For example, department organizers need to trust not only potential guests to be courteous, but also trust Airbnb's ability to process reservations and payments.

그러나 공유 경제의 다른 공통 공유 플랫폼에 비해 사회적 유대가 감소함에 따라, 제공자 및 소비자들은 일반적으로 전통적인 교환에서 보다 서로에 대한 정보가 적으며, 그 결과, 많은 공유 경제 플랫폼은 플랫폼 조정 비용을 회원에게 분배하기 위해 등급 시스템을 도입하였다. 그러나 이러한 등급시스템은 비록 사용자 등급에 표시된 신뢰가 유의할 수 있지만, 개별 참여자들은 불균형적으로 위험을 부담하게 되는 문제가 발생한다.However, as social ties diminish compared to other common sharing platforms in the sharing economy, providers and consumers generally have less information about each other than in traditional exchanges, and as a result, many sharing economy platforms distribute the cost of coordinating the platform to members. In order to do this, a rating system was introduced. However, in such a rating system, although the trust indicated in the user rating can be significant, individual participants take risks disproportionately.

최근 블록체인(blockchain)으로 대표되는 분권형 기술이 일부 연구자들에 의해 새로운 패러다임으로 도입되었다. 개념적으로, 블록체인(blockchain)은 다수의 피어로 구성된 분산형 원장으로, 다양한 엔티티에서 트랜잭션을 실행, 추적, 검증 및 기록할 수 있다. 원장의 모든 블록은 모체의 해시를 저장하여 이전 블록과 논리적으로 연결된다. 결과적으로, 블록체인의 사용자는 단 한 비트의 원장을 조작했더라도 쉽게 그 불일치를 탐지할 수 있다. 이는 어떤 당사자도 블록체인 상의 데이터를 조작하는 것을 불가능하게 만든다. 블록체인 기술을 기반으로 구축된 경제공유시스템은 거래신탁을 받지 않게 하여 공유서비스의 효율을 높이고 운영비를 절감한다.Recently, decentralized technology represented by blockchain has been introduced as a new paradigm by some researchers. Conceptually, a blockchain is a distributed ledger made up of multiple peers that can execute, track, verify, and record transactions across multiple entities. Every block in the ledger is logically linked to the previous block by storing the hash of the parent. As a result, users of the blockchain can easily detect inconsistencies even if they manipulated a single bit of the ledger. This makes it impossible for any party to manipulate data on the blockchain. The sharing economy system built based on blockchain technology improves the efficiency of shared services and reduces operating costs by not accepting transaction trusts.

블록체인(Blockchain)은 비트코인의 핵심 기술로 시작되었지만, 그 활용 사례는 이미 헬스케어, 지능형 교통수단, 사물인터넷(IoT) 등 다양한 분야로 확대되었다. 블록체인 기술 이론을 공유경제에 적용하려는 많은 연구자들의 큰 노력에도 불구하고, 블록체인 기반의 공유경제체제의 현존하는 결함을 나타내고 있다. 그 한계는 다음과 같은 점으로 요약할 수 있다. Blockchain started as a core technology of Bitcoin, but its use cases have already expanded to various fields such as healthcare, intelligent transportation, and the Internet of Things (IoT). Despite the great efforts of many researchers to apply the blockchain technology theory to the sharing economy, it shows existing flaws in the blockchain-based sharing economy system. Its limitations can be summarized in the following points.

첫째, 대부분의 시스템은 주로 온라인 거래와 거래 투명성에 초점을 맞춘다. 더욱이 암호해독(예: 비트코인이나 에테르)을 이용하여 재산의 소유권을 이전하는 것과 같은 간단한 서비스만 제공한다. 지금까지 블록체인과의 실제 연계를 고려한 문학작품은 거의 없다. 무엇보다도 중요한 문제는 소비자가 사내 서비스에 비해 제공자가 제공하는 실제 서비스 수준에 대한 통제력이 떨어지기 때문에 운영 거버넌스 제어가 축소되는 문제가 있다. 일반적으로 임대 서비스를 제공하는 기업은 항상 연방, 주 또는 지방 당국에 의해 규제된다. 그러나 공유경제에서 임대 서비스를 제공하는 무면허 개인은 이러한 규정을 따르지 않을 수 있다. 예를 들어, 모비크 소유주들이 제공한 자전거가 보상받을 기회가 거의 없어, 이용자들의 손해로 귀결되는 문제가 빈번하다.First, most systems focus primarily on online transactions and transaction transparency. Moreover, it provides only simple services such as transferring ownership of property using cryptocurrency (e.g. Bitcoin or Ether). So far, there are few literature works that consider actual connection with blockchain. Most importantly, there is a problem of reduced operational governance control because consumers have less control over the actual service level provided by providers compared to in-house services. In general, businesses that provide rental services are always regulated by federal, state or local authorities. However, unlicensed individuals providing rental services in the sharing economy may not comply with these regulations. For example, bikes provided by Mobiq owners have little chance of being compensated, often resulting in users' losses.

즉, 블록체인을 적용하는 공유경제시스템에서도, 제3자 자원, 특히 아웃소싱 비즈니스 프로세스에 대한 보증을 요구하는 비즈니스 자원 계약 시 서비스 소비자에 대한 QoS(Quality of Service)에 미치지 못한다. 예를 들어, 이러한 작업의 대부분은 지급 관리에 초점을 맞출 뿐 채무불이행 발생 시 보상 절차가 부족하다는 문제가 발생한다.In other words, even in a sharing economy system that applies block chains, it does not reach QoS (Quality of Service) for service consumers when contracting business resources that require guarantees for third-party resources, especially outsourced business processes. For example, most of these tasks focus on payment management, but lack of compensation procedures in case of default arises.

한국등록특허 제10-2019-0091995호Korean Patent Registration No. 10-2019-0091995

'공유경제 인프라를 구현하는 블록체인 스타트업, Slock.it', Vertical Platform(2018.01.29.게재) 'Blockchain Startup Realizing Sharing Economy Infrastructure, Slock.it', Vertical Platform (published on January 29, 2018)

본 발명은 상술한 문제를 해결하기 위하여 안출된 것으로, 본 발명의 목적은 참가자, 자산, 블록체인 네트워크, 오프 체인 데이터 베이스의 기본 구성을 바탕으로, 공유경제체제의 자기지배구조를 구축하기 위해 SLA(서비스 수준 협약)의 개념을 적용하고, SLA 사양을 스마트 계약으로 정의하여 SLA(서비스 수준 협약) 관리를 위한 모든 규칙 이후 SLA 라이프사이클을 자동화하고 서비스 프로비저닝에 투명성을 부여하는 시스템을 제공하는 데 있다.The present invention has been devised to solve the above problems, and the object of the present invention is to build a self-governing structure of a sharing economy system based on the basic configuration of participants, assets, blockchain networks, and off-chain databases. Apply the concept of (Service Level Agreement) and define the SLA specification as a smart contract to provide a system that automates the SLA lifecycle after all rules for SLA (Service Level Agreement) management and gives transparency to service provisioning. .

또한, SLA(서비스 수준 협약)을 체결함에 있어서, 계약당사자(사용자)의 요구 수준에 부합하는 서비스의 수준 협약에 따라, 협약의 등급(VIP-다이아몬드-플래티넘 등)을 구분하여 사물 공유의 서비스 제공의 정도(비밀유지도, 데이터 보안, 신뢰성 등)를 맞춤형으로 제공할 수 있도록 하는 공유경제 시스템을 제공하는데, 본 발명의 또 다른 목적이 있다.In addition, in concluding the SLA (service level agreement), according to the service level agreement that meets the demand level of the contracting party (user), the class of the agreement (VIP-Diamond-Platinum, etc.) is divided to provide the service of sharing things It is another object of the present invention to provide a sharing economy system that can provide a customized degree of (secrecy level, data security, reliability, etc.).

상술한 과제를 해결하기 위한 수단으로서, 본 발명의 실시예에서는, 유무선 통신 하에 공유자산에 대한 이용 서비스 계약을 수행하고, 상기 서비스 계약 정보가 등록되는 블록체인네트워크 상에 접속하여 자산공유를 실행하는 공유경제서비스 제공방법에 있어서,As a means for solving the above problems, in an embodiment of the present invention, a service contract for using shared assets is performed under wired/wireless communication, and asset sharing is executed by accessing a blockchain network in which the service contract information is registered. In the method of providing a sharing economy service,

관리자모듈이 블록체인 네트워크 상에 공유경제 서비스의 참가자를 정의하고 등록하는 1단계; 노트북을 포함하는 공유 자산을 제공자모듈이 블록체인 네트워크에 공유자산의 기본 정보를 등록하는 2단계; 상기 제공자 모듈이 등록한 공유 자산과 관련한 스마트 계약을 생성하고 정의하는 3단계; 검증자모듈이 상기 스마트 계약을 검증하는 4단계; 발행자모듈이 소비자모듈에 토큰을 발행하는 5단계; 상기 소비자모듈이 상기 스마트 계약을 체결하고, 상기 제공자모듈에게 토큰을 이전하는 6단계; 상기 소비자모듈이 상기 공유자산에 대한 사용인증 암호를 통해 접속하여 이용하는 7단계;를 포함하는, 스마트계약기반 공유경제 서비스의 제공방법을 제공할 수 있도록 한다.Step 1 in which the manager module defines and registers participants of the sharing economy service on the blockchain network; A second step in which the shared asset provider module including the laptop registers basic information of the shared asset in the block chain network; Step 3 of creating and defining a smart contract related to the shared asset registered by the provider module; Step 4 in which the validator module verifies the smart contract; Step 5 in which the issuer module issues a token to the consumer module; a sixth step in which the consumer module concludes the smart contract and transfers a token to the provider module; A method of providing a smart contract-based sharing economy service, including a; step 7, wherein the consumer module accesses and uses the shared asset through the use authentication password for the shared asset.

본 발명의 실시예에 따르면, 제공자가 제공할 서비스를 문서화하고 제공자가 충족해야 할 서비스 표준을 정의하는 SLA(서비스 수준 협약)를 이용한 강화된 분산형 공유 경제 서비스를 제공할 수 있다.According to an embodiment of the present invention, it is possible to provide an enhanced decentralized sharing economy service using a service level agreement (SLA) that documents the service to be provided by the provider and defines the service standard that the provider must meet.

특히, 참가자, 자산, 블록체인 네트워크, 오프 체인 데이터 베이스의 기본 구성을 바탕으로, 공유경제체제의 자기지배구조를 구축하기 위해 SLA(서비스 수준 협약)의 개념을 적용하고, SLA 사양을 스마트 계약으로 정의하여 SLA 관리를 위한 모든 규칙 이후 SLA 라이프사이클을 자동화하고 서비스 프로비저닝에 투명성을 부여하는 시스템을 제공할 수 있다.In particular, based on the basic composition of participants, assets, blockchain networks, and off-chain databases, the concept of SLA (Service Level Agreement) is applied to build a self-governing structure of the sharing economy system, and the SLA specification is converted into a smart contract. By defining it, you can provide a system that automates the SLA lifecycle after all rules for managing SLAs and gives transparency to service provisioning.

나아가, 공유경제체제에서 제공하는 자산에 대한 서비스 품질 보증 및 서비스 제어 자동화를 위한 효율적인 자동접근방식을 제공할 수 있다. 특히, 본 발명의 실시예에서는, SLA(서비스 수준 협약)을 체결함에 있어서, 계약당사자(사용자)의 요구 수준에 부합하는 서비스의 수준 협약에 따라, 협약의 등급(VIP-다이아몬드-플래티넘 등)을 구분하여 사물 공유의 서비스 제공의 정도(비밀유지도, 데이터 보안, 신뢰성 등)를 맞춤형으로 제공할 수 있도록 하는 공유경제 시스템을 제공할 수 있도록 한다.Furthermore, it is possible to provide an efficient and automatic approach for service quality assurance and service control automation for the assets provided by the sharing economy system. In particular, in the embodiment of the present invention, in concluding the SLA (service level agreement), according to the service level agreement that meets the level of demand of the contracting party (user), the level of the agreement (VIP-Diamond-Platinum, etc.) By classifying it, it is possible to provide a sharing economy system that can customize the degree of service provision (secrecy maintenance, data security, reliability, etc.) of sharing things.

도 1은 본 발명의 실시예에 따른 스마트 계약기반 공유경제 서비스 제공 시스템의 구현 구성 블록도이다.
도 2는 도 1에서의 블록체인 네트워크의 구성 블록도를 도시한 것이다.
도 3은 본 발명에 따른 스마트 계약을 통한 SLA(Service Level Agreement) 기반 공유 경제 서비스의 개념도를 도시한 것이며, 도 4는 본 발명에 따른 공유경제 서비스의 상호 작용을 도시한 개념도이다. 도 5는 본 발명에 따른 SLA(Service Level Agreement) 사양과 참가자 및 스마트 계약간의 관계를 도시한 블록도이다. 도 6은 도 1 및 도 2에서 상술한 블록체인 네트워크의 개념도이다.
도 7 및 도 8은 인증관련 기술 수단을 설명하기 위한 개념도이다.
도 9는, 본 발명에 따른 블록체인 네트워크의 트랜잭션 운영프로세스를 도시한 것이다.
도 10은, 본 실시예에서의 노트북 공유 적용에 명시된 SLA 사양을 상세히 기술한다.
도 11은 스마트 계약에 정의된 거래의 논리적 운용방식을 예시한 것이다.
도 12는 블록체인 및 오프 체인 데이터 베이스 사이의 상호작용을 나타낸다.
도 13은 본 발명의 실시예를 적용한 노트북 공유 사례 연구의 간소화된 워크플로우를 도시한 것이다.
도 14은 클라이언트는 OAuth2.0 체계에 의해 보호되는 인증 개요도이다.
도 15는 X.509를 사용하여 Fabric-CA에서 발급된 샘플 참가자 인증서를 예시한 것이다.
도 16은 상술한 노트북 공유사례에 결과를 도시한 이미지이다.
도 17은 생성된 REST API를 검사하고 테스트하는 데 사용되는 Composer REST Server 탐색기를 나타낸다.
도 18은 상술한 놀이터 지갑(the playground wallet) API의 이미지를 도시한 것이다.
도 19는 Composer REST Server의 트랜잭션 테스트를 도시한 것이다.
도 20은 스마트 계약에 정의된 제공자 프로필의 예시이다.
도 21은 날짜, 입력 유형 및 참가자를 포함하여 Composer 놀이터의 트랜잭션 기록의 스냅샷을 나타낸다.
도 22 내지 도 25는 본 발명에 따른 시스템의 성능평가와 관련한 데이터 이미지이다.
1 is a block diagram of the implementation of a smart contract-based sharing economy service providing system according to an embodiment of the present invention.
FIG. 2 shows a block diagram of the block chain network in FIG. 1 .
3 is a conceptual diagram illustrating a service level agreement (SLA)-based sharing economy service through a smart contract according to the present invention, and FIG. 4 is a conceptual diagram illustrating the interaction of the sharing economy service according to the present invention. 5 is a block diagram illustrating a relationship between a Service Level Agreement (SLA) specification and a participant and a smart contract according to the present invention. 6 is a conceptual diagram of the blockchain network described above in FIGS. 1 and 2 .
7 and 8 are conceptual diagrams for explaining authentication-related technical means.
9 shows a transaction operation process of a blockchain network according to the present invention.
Fig. 10 details the SLA specification specified in the notebook sharing application in this embodiment.
11 illustrates a logical operation method of a transaction defined in a smart contract.
12 shows the interaction between the blockchain and the off-chain database.
13 shows a simplified workflow of a notebook sharing case study to which an embodiment of the present invention is applied.
14 is an authentication schematic diagram in which the client is protected by the OAuth2.0 scheme.
15 illustrates a sample participant certificate issued by Fabric-CA using X.509.
16 is an image showing the results of the notebook sharing case described above.
Figure 17 shows the Composer REST Server Explorer used to inspect and test the generated REST API.
18 shows an image of the playground wallet API described above.
19 shows a transaction test of Composer REST Server.
20 is an example of a provider profile defined in a smart contract.
21 shows a snapshot of the transaction record of the Composer Playground, including date, input type and participant.
22 to 25 are data images related to performance evaluation of the system according to the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시예를 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예로 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이다.Advantages and features of the present invention, and methods of achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms.

본 명세서에서 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 그리고 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 따라서, 몇몇 실시예에서, 잘 알려진 구성 요소, 잘 알려진 동작 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다.In the present specification, the present embodiment is provided to complete the disclosure of the present invention, and to completely inform those of ordinary skill in the art to which the present invention pertains to the scope of the present invention. And the invention is only defined by the scope of the claims. Thus, in some embodiments, well-known components, well-known operations, and well-known techniques have not been specifically described to avoid obscuring the present invention.

도 1은 본 발명의 실시예에 따른 스마트 계약기반 공유경제 서비스 제공 시스템(이하, '본 발명'이라 한다.)의 구현 구성 블록도이다. 도 2는 도 1에서의 블록체인 네트워크의 구성 블록도를 도시한 것이다.1 is a block diagram of an implementation of a smart contract-based sharing economy service providing system (hereinafter referred to as 'the present invention') according to an embodiment of the present invention. FIG. 2 shows a block diagram of the block chain network in FIG. 1 .

도 1 및 도 2를 참조하면, 본 발명은 유무선 통신하에 공유자산에 대한 이용 서비스 계약을 수행하고, 상기 서비스 계약 정보가 등록되는 블록체인네트워크 상에 접속하여 자산공유를 실행하는 공유경제시스템을 제공한다.1 and 2, the present invention provides a sharing economy system that performs a use service contract for shared assets under wired/wireless communication and executes asset sharing by accessing a blockchain network in which the service contract information is registered. do.

이를 위해, 공유자산으로 분류되는 정보에 대한 데이터베이스(300)이나 별도로 참여자가 구비한 자산 정보를 바탕으로, 참가자는 유무선 통신이 가능한 단말을 통해 블록체인네트워크(200)에 접속하여 자산공유를 위한 서비스 계약을 수행하고, 공유된 자산을 이용하는 과정을 구현할 수 있게 된다.To this end, based on the database 300 for information classified as shared assets or the asset information separately provided by the participant, the participant accesses the blockchain network 200 through a terminal capable of wired/wireless communication and provides a service for asset sharing It will be possible to implement the process of executing contracts and using shared assets.

본 발명에서 "~모듈"의 경우, 본 시스템을 이용 및 운용하는 참가자인 각주체가 블록체인 네트워크에 접속하는 사용자 단말을 포함하는 개념으로 정의한다.In the present invention, "~ module" is defined as a concept including a user terminal in which each subject, a participant who uses and operates the system, accesses the block chain network.

본 발명에서 공유경제시스템을 구성하는 주체는, 상기 공유경제시스템은 다수의 참가자모듈(100)을 포함하며, 상기 참가자모듈은, 서비스 수준 협약 템플릿을 기반으로 필요한 솔루션이나 서비스 자산을 제공하는 제공자모듈(110), 블록체인 네트워크 상에 상기 제공자가 등록한 서비스수준 계약 템플릿에 기반한 스마트계약 관련유효성을 검증하는 검증자모듈(120), 상기 스마트계약에 따른 공유자산을 이용하기 위해 상기 스마트계약 관련 유효성 검사 결과를 확인하고, 공유자산의 이용계약을 체결하는 소비자모듈(130), 상기 스마트계약에 포함된 계약기준의 준수 여부를 모니터링하고, 서비스 이용에 대한 보증 준수여부를 검사하여 위반시 보상조치를 수행하는 모니터모듈(140), 상기 스마트계약에 관련한 서비스 자산에 대한 가치를 토큰화하여 발생하는 발행자모듈(150)을 포함하여 구성될 수 있다.The subject constituting the sharing economy system in the present invention, the sharing economy system includes a plurality of participant modules 100, wherein the participant module is a provider module that provides a necessary solution or service asset based on a service level agreement template (110), a validator module 120 that verifies the validity of the smart contract based on the service level contract template registered by the provider on the blockchain network, and the validation of the smart contract to use the shared asset according to the smart contract The consumer module 130 that confirms the result, concludes a contract for using shared assets, monitors compliance with the contract standards included in the smart contract, and inspects whether the guarantee for service use is complied with, and performs compensation in case of violation. It may be configured to include a monitor module 140, and an issuer module 150 that is generated by tokenizing the value of the service asset related to the smart contract.

구체적으로, 본 발명에 따른 공유 경제 서비스 제공시스템은 참가자모듈(100)을 통해 참여하는 참가자, 공유자산 DB(300)에 저장되는 자산, 블록체인 네트워크(200), 오프 체인 데이터 베이스(400)의 4가지 요소로 구성된다. 참가자와 자산은 공유 사업 모델의 기본이다. 참가자는 독특한 역할을 하는 행위자인데, 예를 들어 특정 조건에 따라 자동으로 자산을 검색하고 임대하고자 하는 사용자나 자산의 제공자가 될 수 있다. Specifically, the sharing economy service providing system according to the present invention includes the participants participating through the participant module 100, the assets stored in the shared asset DB 300, the blockchain network 200, and the off-chain database 400. It consists of four elements. Participants and assets are fundamental to the shared business model. Participants are actors with unique roles, for example users or providers of assets who want to automatically discover and rent assets based on certain conditions.

자산은 전자제품 잠금장치 또는 접근 제어 시스템에 의해 제어될 수 있는 재화, 서비스 또는 재산이다. 자산은 예를 들어 빈집이나 유휴 데스크톱과 같은 비즈니스 네트워크에서 거의 모든 것을 나타낼 수 있다. 본 발명에서는, 이들 자산의 상태를 모니터링하기 위해 자산에 부착된 센서로부터 다양한 센서 데이터를 수집할 수 있다. An asset is a good, service, or property that can be controlled by an electronic lock or access control system. An asset can represent almost anything in a business network, for example an empty house or an idle desktop. In the present invention, various sensor data can be collected from sensors attached to assets to monitor the status of these assets.

참가자는 예를 들어 새로운 자산을 만들거나 다른 참여자와 자산을 교환하는 등 블록체인에서 작업을 수행할 수 있다. 참가자와 블록체인 사이의 모든 상호작용은 디지털 서명으로 암호화되어 데이터 전송의 보안과 참가자의 신원의 신뢰성을 보장한다. Participants can perform operations on the blockchain, for example creating new assets or exchanging assets with other participants. All interactions between participants and the blockchain are encrypted with digital signatures to ensure the security of data transmission and the authenticity of the participant's identity.

블록체인 네트워크(200)는 네트워크 내의 데이터 일관성을 유지하기 위해 스마트 계약과 네트워크 원장의 사본을 보유하는 다양한 신뢰할 수 있는 피어로 구성된다. The blockchain network 200 consists of various trusted peers that hold copies of smart contracts and network ledgers to maintain data consistency within the network.

스마트 계약은 블록체인에서 실행되는 비즈니스 로직을 수행하는 신뢰할 수 있는 분산 애플리케이션으로 작용한다. 상기 스마트 계약은 데이터 업데이트와 같은 간단한 작업이나, 부속 조건이 필요한 복잡한 작업을 수행할 수 있다. 블록체인은 특정 자산의 라이프사이클을 따르는 모든 거래의 데이터 이력을 보존한다. 오프 체인 데이터 베이스는 독립 데이터 저장소로 참여자와 자산의 현재 가치를 보유하고 있으며, 추후 변동되는 정보를 저장하고, 이를 블록체인 네트워크로 제공하게 된다.Smart contracts act as trusted decentralized applications that perform business logic running on the blockchain. The smart contract can perform simple tasks, such as updating data, or complex tasks that require sub-conditions. Blockchain preserves a data history of all transactions along the lifecycle of a particular asset. The off-chain database is an independent data storage that holds the current values of participants and assets, stores information that changes later, and provides it to the blockchain network.

상기 블록체인 네트워크(200)는, 상기 제공자모듈과 상기 소비자모듈 간에 체결된 스마트 계약이 승인된 정보가 상기 블록체인 네트워크 상에 등록하는 스마트 계약등록부(210), 상기 스마트 계약관련 정보를 블록화하며 네트워크상의 이용주체들에 공유되도록 분산 원장을 구현하는 분산원장 생성부(220), 상기 분산원장에 접근하는 주체들의 접근 권한을 인증하는 ID인증부(230), 상기 스마트계약의 유효성을 상기 검증자모듈을 통해 검증하는 검증부(240), 상기 분산원장에 새로운 블록이 추가되는 경우, 클라이언트에 이벤트를 생성하거나, 트랜잭션이 스마트 계약에서 정의된 조건을 트리거하는 이벤트허브부(250), 불록체인 네트워크가 제공하는 서비스를 클라이언트 애플리케이션이 스마트계약과 상호작용할 수 있는 개방형 API 체계로 공개하는 API인터페이스부(260), 분산원장에 기입되는 정보의 유효성을 바이잔틴 내결함성(PBFT) 알고리즘을 통해 검증하는 결함수정부(270)를 포함하여 구성될 수 있다. 이러한 블록체인 네트워크의 기능구성은 도 4 및 도 6에서 도시된 것과 같이 구체화할 수 있다.The block chain network 200 includes a smart contract registration unit 210 in which the smart contract approved information concluded between the provider module and the consumer module is registered on the block chain network, and blocks the smart contract related information. Distributed ledger generation unit 220 that implements a distributed ledger to be shared with users on the system, ID authentication unit 230 that authenticates access rights of subjects accessing the distributed ledger, and the validator module for validating the smart contract The verification unit 240 that verifies through The API interface unit 260, which discloses the provided service as an open API system that allows client applications to interact with smart contracts, and a defect correction unit that verifies the validity of information written in the distributed ledger through the Byzantine Fault Tolerance (PBFT) algorithm. 270 may be included. The functional configuration of such a block chain network can be embodied as shown in FIGS. 4 and 6 .

도 3은 본 발명에 따른 스마트 계약을 통한 SLA(Service Level Agreement) 기반 공유 경제 서비스의 개념도를 도시한 것이며, 도 4는 본 발명에 따른 공유경제 서비스의 상호 작용을 도시한 개념도이다. 도 5는 본 발명에 따른 SLA(Service Level Agreement) 사양과 참가자 및 스마트 계약간의 관계를 도시한 블록도이다. 도 6은 도 1 및 도 2에서 상술한 블록체인 네트워크의 개념도이다.3 is a conceptual diagram illustrating a service level agreement (SLA)-based sharing economy service through a smart contract according to the present invention, and FIG. 4 is a conceptual diagram illustrating the interaction of the sharing economy service according to the present invention. 5 is a block diagram illustrating a relationship between a Service Level Agreement (SLA) specification and a participant and a smart contract according to the present invention. 6 is a conceptual diagram of the blockchain network described above in FIGS. 1 and 2 .

도 3 및 도 4을 참조하여, 참가자모듈을 통해 블록체인 네트워크에 접속하는 과정을 설명하면 다음과 같다.The process of accessing the blockchain network through the participant module will be described with reference to FIGS. 3 and 4 .

도 3 및 도 4에 도시된 것과 같이, 참가자모듈(100)을 통해 각 참가자는 클라이언트를 제출하고, 제출 클라이언트(submitting client)를 블록체인 네트워크로부터 격리한다. 제출 클라이언트는 단지 블록체인 네트워크가 원장의 새로운 거래를 포함할 때마다 스마트 계약을 호출하고 통지를 받는 데 사용된다. 3 and 4, each participant submits a client through the participant module 100, and isolates the submitting client from the blockchain network. The submitting client is just used to invoke the smart contract and be notified whenever the blockchain network contains a new transaction on the ledger.

참가자는 자산을 소유하고 거래를 제출할 수 있는 능력을 갖춘 비즈니스 네트워크의 구성원이다. Participants are members of a business network with the ability to own assets and submit transactions.

또한, 자산은 수집된 감지 데이터를 전송하는 경우 스마트 계약을 호출할 수 있다. 이러한 데이터는 원격 고장 진단 및 유지 보수와 같은 서비스를 위한 다양한 방법을 만드는 데 사용된다. In addition, assets can invoke smart contracts when sending collected sensing data. This data is used to create various methods for services such as remote troubleshooting and maintenance.

블록체인 네트워크(200)에서의 참가자 등록(Participant Registry)은 생성된 참여자의 인스턴스를 보유하는 반면 자산 등록은 자산 인스턴스를 보유한다. 이 작품에서는 등록 인증서를 참가자에 대한 ID 매핑으로 사용하고, 이러한 인증서는 ID 레지스트리에 유지된다. 관리자가 참가자에게 ID를 제한할 때마다 블록체인 네트워크는 ID 레지스트리에 대한 새로운 매핑을 생성한다.Participant Registry in the blockchain network 200 holds instances of created participants, whereas asset registration holds asset instances. In this work, enrollment certificates are used as identity mappings for participants, and these certificates are maintained in an identity registry. Whenever an administrator restricts an identity to a participant, the blockchain network creates a new mapping to the identity registry.

결과적으로, 네트워크는 참가자가 거래를 제출할 때 ID 레지스트리에서 ID를 확인할 수 있다. 신원 확인 후, 참가자는 거래를 제출할 수 있는 현재 참가자가 된다. 스마트 계약의 액세스 제어는 정책을 연결하여 리소스에 대한 액세스를 관리한다. 블록체인 네트워크의 이러한 규칙은 액세스 제어 요건에 따라 자원에 대해 승인된 작업을 수행하는 현재 참가자에게 적용된다.As a result, the network can verify the identity in the identity registry when a participant submits a transaction. After identification, the participant becomes the current participant who can submit transactions. Access control in smart contracts manages access to resources by associating policies. These rules of the blockchain network apply to current participants performing authorized actions on resources in accordance with access control requirements.

본 발명은, 스마트 계약에 근거하여 SLA(서비스 수준 협약;the service level agreement)의 구성요소를 명시하는 메커니즘을 제공한다. SLA(서비스 수준 협약;the service level agreement, 이하, 'SLA'라 한다.)의 가장 특징적인 특징은 계약에서 합의된 대로 서비스를 소비자에게 제공해야 한다는 것을 의무화하며,이에 대한 위반에 대한 감시와 벌칙 및 보상이 제공될 수 있도록 한다는 점이다.The present invention provides a mechanism for specifying the components of the service level agreement (SLA) based on a smart contract. The most characteristic feature of SLA (the service level agreement, hereinafter referred to as 'SLA') is that it obliges to provide services to consumers as agreed in the contract, and monitoring and penalties for violations thereof and to provide compensation.

또한, 본 발명에서는, SLA(서비스 수준 협약)을 체결함에 있어서, 계약당사자(사용자)의 요구 수준에 부합하는 서비스의 요구수준에 따라, 협약의 등급(VIP-다이아몬드-플래티넘 등)을 구분하여 사물 공유의 서비스 제공의 정도(비밀유지도, 데이터 보안, 신뢰성 등)를 맞춤형으로 제공할 수 있도록 하는 공유경제 시스템을 제공할 수 있도록 한다.In addition, in the present invention, in concluding a service level agreement (SLA), according to the service requirement level that meets the request level of the contracting party (user), the level of the agreement (VIP-Diamond-Platinum, etc.) It is possible to provide a sharing economy system that can provide a customized level of sharing service provision (secrecy level, data security, reliability, etc.).

아울러, 본 발명에서 제안된 공유 경제 서비스 모델에서 금융 거래는 SLA 계약에 의해 자동화되고 지능적으로 관리되는 바, 본 발명에서의 SLA 계약이 계약과 의무를 연구하는 신뢰할 수 있는 운영의 모든 참여자는 인간의 개입 없이 자동으로 실행된다. 이러한 본 발명에 따른 시스템은 공유자산으로 제공되고, 계약된 자산에 대한 고장을 보고하고, 결제와 환불을 처리하며, 성능 지표를 모니터링하고, 데이터 분석을 수행하고, 결정을 내릴 수 있도록 한다.In addition, financial transactions in the sharing economy service model proposed in the present invention are automated and intelligently managed by the SLA contract, and all participants in the reliable operation that the SLA contract in the present invention studies the contract and obligations are human It runs automatically without any intervention. This system according to the present invention is provided as a shared asset, reports failures on contracted assets, processes payments and refunds, monitors performance indicators, performs data analysis, and enables decisions to be made.

이러한 운영 방식을 도 5를 통해 살펴보면, 본 발명에 따른 시스템은 검증자, 제공자, 소비자, 발행자, 감시자를 포함하여, 5개의 참가자를 정의하고, 각 참가자들은 이용 단말을 통해 시스템에 접속하여 참여하게 된다.5, the system according to the present invention defines five participants, including a verifier, a provider, a consumer, a publisher, and a supervisor, and each participant accesses the system through a user terminal to participate. do.

우선, 제공자 모듈(110)을 통해 참여하는 제공자(Provider)는 SLA 계약 템플릿을 기반으로 필요한 솔루션이나 서비스를 제공하는 벤더다. 검증자는 시스템에 등록된 SLA를 검증하고 검증결과로 시스템에 대응한다. 특히, 본 발명의 경우, 소비자가 요구하는 서비스의 수준 협약에 따라 보안, 사물, 공유서비스의 수준을 정하여 제공할 수 있도록 하며, 제공자와 사용자의 무결성을 제고하며, 계약서의 데이터 보안과 신뢰성을 보장할 수 있도록 한다. 이에, 계약당사자(사용자)의 요구 수준에 부합하는 서비스의 요구수준에 따라, 협약의 등급을 구분하여 설정하게 되며(이를테면 VIP-다이아몬드-플래티넘 등)을 구분하여 사물 공유의 서비스 제공의 정도(비밀유지도, 데이터 보안, 신뢰성 등)를 맞춤형으로 제공할 수 있도록 한다.First, a provider participating through the provider module 110 is a vendor that provides a necessary solution or service based on the SLA contract template. The verifier verifies the SLA registered in the system and responds to the system with the verification result. In particular, in the case of the present invention, the level of security, object, and shared service can be determined and provided according to the service level agreement requested by the consumer, the integrity of the provider and user is improved, and the data security and reliability of the contract are guaranteed make it possible Accordingly, the level of the agreement is set according to the level of service required that meets the level of the contracting party (user) (for example, VIP-Diamond-Platinum, etc.) retention, data security, reliability, etc.) can be customized.

다음으로, 소비자모듈(130)을 통해 참여하는, 소비자(Consumer)는 SLA 및 관련 유효성 검사 결과를 확인할 수 있다. Next, the consumer, participating through the consumer module 130 , may check the SLA and related validation results.

모니터모듈(140)을 통해 참여하는 모니터는 스마트 계약에 제시된 각각의 보증에 따라 서비스 성과를 지속적으로 모니터링한다. 이러한 보증이 위반되면 모니터는 시스템에 통지를 보낸다. 벌칙은 스마트 계약에 의해 지시된 대로 그들과 관련된 각각의 보상 조치를 수행하는 것으로 평가된다. 이러한 모니터링의 범위는 계약에서 소비자가 요구한 서비스의 수준 협약에 따른 이행여부, 보안, 데이터보안, 공유서비스 수준 등의 제반 준수 여부를 포함하여 수행되도록 한다.The monitor participating through the monitor module 140 continuously monitors the service performance according to each guarantee presented in the smart contract. If these warranties are violated, the monitor notifies the system. Penalties are evaluated for performing each reward action associated with them as dictated by the smart contract. The scope of such monitoring is to be performed including whether or not to comply with the level of service requested by the consumer in the contract, compliance with the agreement, security, data security, and the level of shared service.

더욱이, 해당 서비스의 비용에 따라 충전이 자동적으로 실행된다. 물론, 서비스의 비용은 최초 계약시 소비자의 서비스 요구 수준에 따른 등급에 따라 차등적으로 설정되어 충전이 실행되도록 함이 바람직하다. 계약 유효 기간이 만료되면 SLA 계약이 자동으로 종료된다. 그러나, SLA 계약의 정보는 당분간 책임과 법적 이유로 시스템에 남아 있을 수 있다. 그 기간이 지나면 정규 계약의 경우와 같이 계약이 폐기될 수도 있다. 재사용의 경우, 사양은 시스템에 보존되어야 한다. Moreover, charging is performed automatically according to the cost of the corresponding service. Of course, it is preferable that the service cost is set differentially according to the level according to the service demand level of the consumer at the time of the initial contract so that the charging is executed. The SLA contract automatically terminates when the contract validity period expires. However, the information in the SLA agreement may remain in the system for the time being for liability and legal reasons. After that period, the contract may be terminated as in the case of a regular contract. In the case of reuse, the specification shall be preserved in the system.

또한, 발행자모듈(150)을 통해 참여하는 발행자는 증권이나 토큰을 발행할 수 있는 권한을 가진 법적 기업이다. 만들어진 토큰(Token), 이른바 IoT코인은 특정 코인으로 제공업체들이 자산을 토큰화할 수 있다. 자산을 토큰으로 표현하면 한 항목의 개별적인 상태와 허가가 설정되며, 여러 당사자에 걸쳐 자산을 이전하는 위험과 어려움을 줄일 수 있다.In addition, the issuer participating through the issuer module 150 is a legal entity having the authority to issue securities or tokens. Created tokens, so-called IoT coins, are specific coins that providers can tokenize their assets. Representing assets as tokens establishes the individual status and permissions of an item, reducing the risk and difficulty of transferring assets across multiple parties.

본 발명에 적용되는 자산은 무형 자산 및 유형 자산의 두 가지 종류의 자산을 적용할 수 있다. 유형자산은 전자제품 잠금장치나 액세스 제어 시스템에 의해 제어될 수 있는 물리적 자산(예: 자동차, 집, 데스크탑, 노트북)이다. 무형자산은 디지털 기기로 제어할 수 있는 비물리적 속성(예: 센서 데이터, 액세스 키)을 포함한다.Assets applied to the present invention can be applied to two types of assets: intangible assets and tangible assets. Tangible assets are physical assets (eg cars, homes, desktops, laptops) that can be controlled by electronic locks or access control systems. Intangible assets include non-physical properties (eg sensor data, access keys) that can be controlled by a digital device.

그러나 이 두 자산은 많은 표준 특징을 공유한다. 예를 들어, 그것들은 네트워크에 직접 전송되거나 스마트 기기에 의해 제어될 수 있다. 더욱이 보관이나 물류 등 전통적인 단계가 없기 때문에 거래 완료 시 즉시 자산을 받을 수 있다. However, these two assets share many standard features. For example, they can be sent directly to the network or controlled by a smart device. Moreover, since there are no traditional steps such as storage or logistics, assets can be received immediately upon completion of the transaction.

참가자는 자산과 관련이 있지만, 토큰 전송이나 디지털 제어에 의해 사용 권한의 이동을 실현할 수 있다. 실제 환경에서는 도난 방지 시스템이 제공하는 해당 개인 키가 장착된 우측 키로만 도난 방지 시스템을 해제할 수 있다. Participants are associated with the asset, but can realize the transfer of usage rights by token transfer or digital control. In a real environment, the anti-theft system can only be unlocked with the right key equipped with the corresponding private key provided by the anti-theft system.

개인 키는 보통 물리적인 용기(예: SIM 카드)에 보관되어 있어 전송이 어렵다. 블록체인에서는 네트워크에서 허가가 이루어질 수 있기 때문에 본 발명에 따른 공유 사업 시스템에서는 근거리 무선 통신 모듈이 장착된 모바일 기기를 통신사로 사용할 수 있고, APP를 사용하여 블록체인에 대한 사용 권한을 이전할 수 있다.The private key is usually stored in a physical container (eg a SIM card), making it difficult to transmit. In the blockchain, permission can be made in the network, so in the shared business system according to the present invention, a mobile device equipped with a short-range wireless communication module can be used as a telecommunication company, and the permission to use the blockchain can be transferred using the APP. .

도 6은 도 1 및 도 2에서 상술한 블록체인 네트워크의 구성을 개념화한 도면이다.6 is a diagram conceptualizing the configuration of the block chain network described above in FIGS. 1 and 2 .

도 6에 도시된 것과 같이, 본 발명의 블록체인 네트워크(200)는 허가된 사용자로부터의 접속만 허용하는 허가된 네트워크에 구축되어 있다. As shown in Fig. 6, the blockchain network 200 of the present invention is built in a permissioned network that only allows access from authorized users.

이 솔루션은 리소스가 어떻게 조작되는지를 기록하는 트랜잭션 기록이 권한이 없는 사용자에게 보이지 않으므로 데이터 노출 위험을 방지한다. 허가된 블록체인 네트워크에서는 허가된 사용자만 블록체인에서 작동할 수 있으며, 유효한 블록에는 사용자 서브셋의 서명이 포함되어야 한다. This solution avoids the risk of data exposure as transaction records that record how resources are manipulated are not visible to unauthorized users. In a permissioned blockchain network, only permissioned users can operate on the blockchain, and valid blocks must contain the signatures of a subset of users.

결과적으로, 어떤 잘못된 노드도 블록체인에서 트랜잭션을 수정하거나 삽입할 수 없다. 또한, 승인된 스마트 계약은 운용에 관한 모든 이용자의 계약에 의해 체결되지 않는 한 변경할 수 없다. As a result, no bad node can modify or insert a transaction in the blockchain. In addition, the approved smart contract cannot be changed unless it is concluded by all user contracts related to operation.

본 발명에 따른 블록체인 네트워크는 ID 인증, 검증, P2P 통신 등 다양한 블록체인 기능을 제공한다. 이는 도 2에서 상술한 것과 같이, 제공자모듈과 소비자모듈 간에 체결된 스마트 계약이 승인된 정보가 상기 블록체인 네트워크 상에 등록하는 스마트 계약등록부(210), 상기 스마트 계약관련 정보를 블록화하며 네트워크상의 이용주체들에 공유되도록 분산 원장을 구현하는 분산원장 생성부(220), 상기 분산원장에 접근하는 주체들의 접근 권한을 인증하는 ID인증부(230), 상기 스마트계약의 유효성을 상기 검증자모듈을 통해 검증하는 검증부(240), 상기 분산원장에 새로운 블록이 추가되는 경우, 클라이언트에 이벤트를 생성하거나, 트랜잭션이 스마트 계약에서 정의된 조건을 트리거하는 이벤트허브부(250), 불록체인 네트워크가 제공하는 서비스를 클라이언트 애플리케이션이 스마트계약과 상호작용할 수 있는 개방형 API 체계로 공개하는 API인터페이스부(260), 분산원장에 기입되는 정보의 유효성을 바이잔틴 내결함성(PBFT) 알고리즘을 통해 검증하는 결함수정부(270)를 포함하여 구성될 수 있다.The blockchain network according to the present invention provides various blockchain functions such as ID authentication, verification, and P2P communication. As described above in FIG. 2 , the smart contract registration unit 210 in which the smart contract approved information concluded between the provider module and the consumer module is registered on the block chain network, the smart contract related information is blocked and used on the network A distributed ledger generator 220 that implements a distributed ledger to be shared with subjects, an ID authentication unit 230 that authenticates the access rights of subjects accessing the distributed ledger, and the validity of the smart contract through the verifier module The verification unit 240 that verifies, the event hub unit 250 that generates an event to the client when a new block is added to the distributed ledger or a transaction triggers a condition defined in the smart contract, and the blockchain network provides The API interface unit 260 that discloses the service as an open API system that allows client applications to interact with smart contracts, and the defect correction unit 270 that verifies the validity of information written in the distributed ledger through the Byzantine Fault Tolerance (PBFT) algorithm. ) may be included.

도 6에서 각각의 동업자(Peers)는 원장을 유지하고 스마트 계약의 운영 환경을 제공하기 때문에 블록체인 네트워크의 기본 실체로 참가자가 될 수 있다. In Fig. 6, each peer maintains the ledger and provides the operating environment of the smart contract, so it can be a participant as a basic entity of the blockchain network.

발주자 피어(orderer peer)는 순차적으로 거래를 포장하고 거래 블록을 만드는 거래 주문을 제공한다. The orderer peer provides transaction orders that sequentially wrap transactions and create transaction blocks.

분산된 원장은 블록체인 네트워크를 통해 합의적으로 공유되고 동기화되며, 여기서 네트워크의 각 피어는 동일한 복사본을 가질 수 있다. The distributed ledger is consensusally shared and synchronized through a blockchain network, where each peer in the network can have an identical copy.

실용적인 바이잔틴 내결함성(PBFT) 알고리즘은 악의적인 동료들이 부정확한 정보를 발신함에도 불구하고 동료들이 정확하게 합의에 도달할 수 있는 메커니즘을 제공한다. The pragmatic Byzantine Fault Tolerance (PBFT) algorithm provides a mechanism by which peers can accurately reach consensus despite malicious peers sending inaccurate information.

스마트 계약은 모든 동업자(Peer)에 설치되고 인스턴스화되며, 원장의 접근과 수정을 관리하기 위한 분산형 애플리케이션으로 실행된다. Smart contracts are installed and instantiated by all peers and run as a decentralized application to manage access and modification of the ledger.

이벤트 허브는 새 블록이 원장에 추가될 때마다 클라이언트에 이벤트를 생성하거나 트랜잭션이 스마트 계약에서 미리 정의된 조건을 트리거한다. The event hub generates an event on the client whenever a new block is added to the ledger, or a transaction triggers a predefined condition in the smart contract.

API 인터페이스는 블록체인 네트워크가 제공하는 서비스를 클라이언트 애플리케이션이 스마트 계약과 상호 작용할 수 있는 개방형 API 체계로 공개한다.The API interface exposes the services provided by the blockchain network as an open API system that allows client applications to interact with smart contracts.

이러한 작업은, 도 7에 도시된 것과 같이, 데이터를 암호화하고 해독하는 키 쌍을 포함한 비대칭 암호화를 활용한다. 공용 키는 신뢰할 수 있는 지정된 기관이 제공하고 데이터를 암호화하는 데 사용되는 경우가 많다. 쌍의 다른 열쇠는 비밀에 부쳐져 수학적으로 공개키와 연결되어 있는 개인키다. 비대칭 암호학에서는, 메시지 암호화에 두 개의 키 중 하나를 사용할 수 있지만, 암호화된 것은 그것의 관련된 반대 키에 의해서만 해독될 수 있다.This operation utilizes asymmetric encryption, including a key pair to encrypt and decrypt data, as shown in FIG. 7 . A public key is provided by a trusted, designated authority and is often used to encrypt data. The other key in the pair is a private key that is kept secret and is mathematically linked to the public key. In asymmetric cryptography, one of two keys can be used to encrypt a message, but what is encrypted can only be decrypted by its associated opposite key.

공공키 기반구조(PKI;public key institution)이라고 불리는 신뢰할 수 있는 기관은 사용자와 시스템이 공개 키가 진품이며 악의적인 제3자에 의해 조작되지 않았다는 것을 인식할 수 있도록 한다. A trusted authority, called a public key institution (PKI), allows users and systems to recognize that public keys are genuine and have not been tampered with by malicious third parties.

특히, 도 8과 같이 우리 시스템의 PKI 아키텍처는 인증기관(CA)과 인증서 데이터베이스로 구성된다. 인증기관(CA)는 모든 PKI 인증서에 대한 신뢰의 근원을 제공하고 개인의 신원을 인증, 발급, 해지하는 서비스를 제공하는 신뢰할 수 있는 당사자다. 각 CA는 자체 루트 CA를 유지하며, CA에서만 사용한다. In particular, as shown in Fig. 8, the PKI architecture of our system consists of a certificate authority (CA) and a certificate database. A Certificate Authority (CA) is a trusted party that provides a source of trust for all PKI certificates and provides services to authenticate, issue, and revoke an individual's identity. Each CA maintains its own root CA, used only by the CA.

루트 CA에 의해 인증된 CA는 루트가 허용하는 특정 용도에 대한 인증서를 발급할 수 있다. 인증서 데이터베이스는 발급된 인증서와 각 PKI의 유효 기간 및 상태 정보를 저장한다. PKI의 다양한 표준 중, 본 발명에서는 일 실시예로서 인터넷 X.509 공개 키 인프라 인증 정책 및 인증 프랙티스 프레임워크 (RFC 5280)[the Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework (RFC 5280)]를 활용할 수 있다. X.509 인증서는 TLS 또는 SSL과 같은 많은 인터넷 프로토콜에서 널리 사용되며 전자서명과 같은 오프라인 애플리케이션에서도 사용된다. CAs certified by the root CA can issue certificates for specific uses permitted by the root. The certificate database stores issued certificates and the validity period and status information of each PKI. Among the various standards of PKI, in the present invention, as an embodiment, the Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework (RFC 5280) ] can be used. X.509 certificates are widely used in many Internet protocols such as TLS or SSL, and are also used in offline applications such as digital signatures.

블록체인 네트워크는 제3자의 개입 없이 거래를 수행할 수 있지만, 여전히 PKI 아키텍처에 의존하여 다양한 네트워크 참가자들 간의 안전한 통신을 보장하고, 블록체인 상에 게시된 메시지가 올바르게 인증되도록 한다.Although blockchain networks can conduct transactions without third-party intervention, they still rely on the PKI architecture to ensure secure communication between various network participants and to ensure that messages posted on the blockchain are correctly authenticated.

도 9는, 본 발명에 따른 블록체인 네트워크의 트랜잭션 운영프로세스를 도시한 것이다.9 shows a transaction operation process of a blockchain network according to the present invention.

도 9를 참조하여 본 발명에 따른 블록체인 네트워크의 트랜잭션 운용프로세스를 설명하면, 우선 클라이언트 애플리케이션 사용자는 인증기관(CA)에 등록 및 등록하고 필요한 회수를 받고, 이는 네트워크에 대한 인증에 사용된다. The transaction operation process of the blockchain network according to the present invention will be described with reference to FIG. 9. First, the client application user registers and registers with a certification authority (CA) and receives the required number of times, which is used for authentication on the network.

거래 제안서(Transaction proposals)는 클라이언트 애플리케이션에 의해 구성되며, 클라이언트 애플리케이션은 애플리케이션 SDK(Software Development Kit)를 활용하여 대상 피어에 요청을 보낸다. 상기 거래 제안서는 원장(ledger)을 읽거나 갱신할 목적으로 스마트 계약 기능을 발동해 달라는 요청이다. Transaction proposals are constructed by the client application, which sends a request to the target peer by utilizing the application software development kit (SDK). The transaction proposal is a request to trigger a smart contract function for the purpose of reading or updating the ledger.

서포터 피어(endorser peers)들은 거래 제안서 입력을 호출된 스마트 계약 기능에 대한 논쟁으로 받아들인다. 그런 다음 스마트 계약을 정의된 비즈니스 논리에 반하여 실행하여 시뮬레이션 환경에서 거래 결과를 도출한다. 그러나 업데이트된 거래 결과는 현시점에서는 원장에게 전달되지 않는다. Endorser peers accept the transaction proposal input as an argument for the called smart contract function. The smart contract is then executed against the defined business logic to derive transaction results in a simulation environment. However, the updated transaction results are not transmitted to the ledger at this time.

반응 값 집합에는 반응 값, 읽기 세트 및 쓰기 집합이 포함된다. 읽기 세트는 현재 상태에서 가장 최근에 읽은 데이터를 캡처하고 쓰기 세트는 트랜잭션을 시뮬레이션할 때 다음 상태로 쓸 데이터를 보관한다. 클라이언트 애플리케이션에 대한 제안 응답으로 서명과 함께 읽기 세트와 쓰기 세트가 전달된다. 클라이언트 애플리케이션은 서포터 피어 서명을 확인하고, 서명한 사람에게 거래 제안서 및 응답을 방송하기 전에 미리 정의된 승인 정책이 이행되었는지 결정한다. A set of response values includes a set of response values, a set of reads, and a set of writes. The read set captures the most recently read data in the current state, and the write set holds the data to be written to the next state when simulating a transaction. In response to the proposal to the client application, a read set and a write set are passed along with a signature. The client application verifies the supporter peer signature and determines whether a predefined approval policy has been implemented before broadcasting the transaction proposal and response to the signer.

서품자는 네트워크 내에서 트랜잭션을 수신하여 블록으로 주문하고 이러한 블록을 모든 커밋터 피어(committer peer)에게 전달한다. 각 커밋터 피어(committer peer)는 승인 정책이 이행되는지 여부를 확인하고 읽기 세트가 현재 상태와 일치하는지 확인하기 위해 트랜잭션을 검증한다. Ordainers receive transactions within the network, order them in blocks, and forward these blocks to all committer peers. Each committer peer validates the transaction to ensure that the authorization policy is enforced and that the read set matches the current state.

거래가 확인되면 각 피어는 블록을 원장에 추가하고 쓰기 세트를 현재 상태로 커밋한다. 마지막으로, 이러한 커밋 노드는 거래가 블록체인(blockchain)에 추가되었음을 클라이언트에 통지하는 비동기 이벤트를 생성하며, 트랜잭션의 유효성 확인 여부를 통지한다.When the transaction is confirmed, each peer adds the block to the ledger and commits the write set to its current state. Finally, these commit nodes generate an asynchronous event that notifies the client that the transaction has been added to the blockchain, and notifies whether the transaction is validated or not.

본 발명에서의 스마트 계약기반 공유경제 서비스 제공 시스템에서는, 도 1 및 도 3에서 도시된 것과 같이, 스마트 계약과 관련한 계약정보, 결제정보, 자산정보, 참가 정보에 대한 변경사항을 저장하고 업데이트하며, 상기 블록체인 네트워크로 제공하는 오프체인데이터베이스(도 1: 400)를 더 포함하여 구성될 수 있다. 이러한 상기 오프체인데이터베이스는, 상기 참가자모듈에서 변경사항을 수집하는 트랜젝션을 상기 오프체인데이터베이스에 제출하고, 상기 트랜젝션은 상기 블록체인네트워크에 제출되도록 하여, 트랜젝션 처리의 효율을 증대할 수 있도록 한다.In the smart contract-based sharing economy service providing system in the present invention, as shown in FIGS. 1 and 3, changes to contract information, payment information, asset information, and participation information related to smart contracts are stored and updated, It may be configured to further include an off-chain database (FIG. 1: 400) provided to the blockchain network. The off-chain database submits a transaction that collects changes in the participant module to the off-chain database, and the transaction is submitted to the blockchain network, thereby increasing the efficiency of transaction processing.

즉, 본 발명에서의 상기 오프 체인 데이터 베이스는 블록체인으로부터 원장의 현재 가치를 빼앗기 위해 사용될 수 있다. 즉, 클라이언트는 변경사항을 수집하는 트랜잭션을 오프 체인 데이터 베이스에 제출하고, 이러한 트랜잭션은 블록체인(blockchain)에 커밋(committed)된다. 블록체인 데이터 구조와 오프 체인 데이터 베이스의 가장 주목할 만한 차이점은 데이터가 불변하다는 것이다. That is, the off-chain database in the present invention can be used to take the current value of the ledger from the blockchain. That is, the client submits a transaction that collects changes to the off-chain database, and the transaction is committed to the blockchain. The most notable difference between blockchain data structures and off-chain databases is that data is immutable.

데이터는 일단 원장에 기록되면 네트워크 관리자가 블록체인에서 수정할 수 없다. Data, once recorded on the ledger, cannot be modified by network administrators on the blockchain.

그러나 오프 체인 데이터 베이스(400)에 저장된 데이터는 자동차의 소유권이 한 곳에서 다른 곳으로 이전되는 경우와 같이 국가 가치가 바뀔 때마다 끊임없이 업데이트된다. However, the data stored in the off-chain database 400 is constantly updated whenever the national value changes, such as when ownership of a car is transferred from one place to another.

상기 오프 체인 데이터 베이스(400)는 효율적인 저장과 검색을 위한 풍부한 운영자 집합을 제공하는 데이터베이스 역할을 한다. 블록체인 네트워크는 다른 유형의 값과 애플리케이션에 필요한 접근 패턴의 요구를 해결하기 위해 다른 데이터베이스를 사용하도록 구성할 수 있다. 이러한 본 발명에서 제안하는 접근법은 블록체인에서 전체 트랜잭션 로그를 통과할 필요가 없기 때문에 트랜잭션 처리 성능을 크게 향상시킬 수 있게 된다.The off-chain database 400 serves as a database that provides a rich set of operators for efficient storage and retrieval. Blockchain networks can be configured to use different databases to address the needs of different types of values and access patterns required by applications. This approach proposed in the present invention can significantly improve transaction processing performance because it does not need to go through the entire transaction log in the blockchain.

[실시예: 노트북 공유경제 서비스의 구현예][Example: Implementation of notebook sharing economy service]

이하에서는, 본 발명에 따른 공유자산을 "노트북 컴퓨터"로 설정하고, 이를 공유하는 공유경제시스템을 구현한 예를 설명하기로 한다. 본 실시예에는, 스마트 계약의 기능을 구현하되, 하이퍼 렛저 컴포저((Hyperledger Composer)를 사용하여 수행한다.Hereinafter, an example of implementing a sharing economy system in which a shared asset according to the present invention is set as a "laptop computer" and shares it will be described. In this embodiment, the function of a smart contract is implemented, but is performed using Hyperledger Composer.

'Hyper ledger Fabric Blockchain' 네트워크는 Intel Core i5-8500 @ 3.00 GHz 프로세서와 12 GB 메모리를 갖춘 Ubuntu Linux v18.04.2 LTS에 배치된다. Docker 엔진은 실행 환경 역할을 하며 가상 시스템에서 도커 이미지와 컨테이너를 구성하는 도구를 제공한다. The 'Hyper ledger Fabric Blockchain' network is deployed on Ubuntu Linux v18.04.2 LTS with Intel Core i5-8500 @ 3.00 GHz processor and 12 GB memory. The Docker engine acts as an execution environment and provides tools to configure Docker images and containers in a virtual machine.

블록체인 클라이언트 애플리케이션은 JavaScript SDK를 사용하여 구현되며, 배포된 비즈니스 네트워크와 상호 작용하기 위한 API 집합을 제공한다. VSCode는 스마트 계약 코드 작업을 위한 통합 개발 환경(IDE)으로 사용된다.The blockchain client application is implemented using the JavaScript SDK and provides a set of APIs for interacting with the deployed business network. VSCode is used as an integrated development environment (IDE) for working with smart contract code.

또한, 본 실시예에서 웹 또는 모바일 애플리케이션에 블록체인 논리를 노출시키는 REST(Representational State Transfer) 서버를 생성하기 위해 하이퍼렛저컴포저(Hyperledger Composer)를 사용한다. In addition, in this embodiment, Hyperledger Composer is used to create a REST (Representational State Transfer) server that exposes blockchain logic to a web or mobile application.

REST Server는 비즈니스 네트워크에 대한 스마트 계약을 개방형 API 정의로 변환하며, 런타임에 블록체인에서 작업을 수행하기 위해 CRUD(Create, Read, Update and Delete)를 지원한다. REST Server transforms smart contracts for business networks into open API definitions, and supports Create, Read, Update and Delete (CRUD) to perform operations on the blockchain at runtime.

REST 네트워크 리소스의 액세스를 확보하기 위해 Passport.js를 활용하면 사용자 이름 및 암호 사용, 타사 서비스 사용 등 확장 가능한 일련의 전략을 통해 요청을 인증한다. CouchDB는 원장 상태의 현재 값을 유지하기 위해 오프 체인 데이터 베이스로 사용된다. 스마트 계약으로 단순한 API를 통해 오프체인 데이터 베이스에 접근할 수 있는 "get, put, delete method" 등 풍부한 질의 지원을 제공한다. 스마트 계약 참가자의 구조는 표1과 같이 모델링된다.Leveraging Passport.js to gain access to REST network resources authenticates requests through a scalable set of strategies, including the use of usernames and passwords, and the use of third-party services. CouchDB is used as an off-chain database to maintain the current value of the ledger state. It provides rich query support such as "get, put, delete method" that can access an off-chain database through a simple API with a smart contract. The structure of smart contract participants is modeled as shown in Table 1.

[표 1: 스마트 계약의 참가자 정의][Table 1: Definition of Participants in Smart Contracts]

Figure 112020003199064-pat00001
Figure 112020003199064-pat00001

본 실시예에 따른 하이퍼레저 블록체인 네트워크는 거래를 이용하여 자산을 수정할 수 있는 기능을 제공한다. 표 2는 자산의 구조를 나타내며, 자산에 대한 다양한 정보를 포함하고 있다.The hyperledger blockchain network according to this embodiment provides the ability to modify assets using transactions. Table 2 shows the structure of the asset and includes various information about the asset.

[표 2: 스마트 계약의 자산 정의][Table 2: Asset Definition of Smart Contract]

Figure 112020003199064-pat00002
Figure 112020003199064-pat00002

도 10은, 본 실시예에서의 노트북 공유 적용에 명시된 SLA 사양을 상세히 기술한다. Fig. 10 details the SLA specification specified in the notebook sharing application in this embodiment.

노트북 제공자(Provider)와 소비자(Consumer)는 계약의 근거로 사용되며 SLA와 관련된 주요 이해 당사자를 대표한다. Laptop Providers and Consumers are used as the basis of the contract and represent the key stakeholders involved in the SLA.

SLA는 공유 서비스의 라이프사이클 전체에 걸쳐 SLA(서비스 수준 협약) 라이프사이클의 상태를 나타내는 세 가지 상태를 포함한다. 이에 대해, 본 발명에서는 운영 수준, 데이터 스토리지 및 네트워크 대역폭에 따라 다른 세 가지 서비스 레벨을 정의한다. The SLA contains three states that represent the state of the Service Level Agreement (SLA) lifecycle throughout the lifecycle of a shared service. On the other hand, in the present invention, three different service levels are defined according to the operation level, data storage, and network bandwidth.

도 10에 게시된 턴어라운드 시간(TAT), 평균 커버 시간(MTTR), 수집 주기는 SLA에서 성능 지표로 사용된다. 가입 시간은 제공자와 소비자 사이의 유효한 SLA 기간을 나타낸다. 위반 필드는 계약조건에 따라 위반이 발생하는지를 나타내는 데 사용되며, 이는 유효성 검사자에 의해서만 수정할 수 있다.The turnaround time (TAT), average cover time (MTTR), and collection period published in FIG. 10 are used as performance indicators in the SLA. Subscription time represents the effective SLA period between the provider and consumer. The Violation field is used to indicate whether a violation has occurred under the terms of the contract, which can only be modified by the validator.

표 3과 같이, 본 발명의 실시예에서 노트북 공유 시스템을 위한 거래 목록을 정의한다. 참가자들은 거래를 통해 자산과 상호 작용할 수 있다. 트랜잭션은 지정된 참가자로 제한되며, 미리 정의된 작업에 따라 리소스를 수정한다. 영업은 사업요건에 따라 자산뿐만 아니라 참여자에게도 동일하게 적용될 수 있다는 점에 유의할 필요가 있다. 예를 들어, "이슈 토큰" 거래는 특정 소비자 참여자의 토큰 잔액을 증가시키기 위해 사용된다.As shown in Table 3, a transaction list for a notebook sharing system is defined in an embodiment of the present invention. Participants can interact with assets through trades. Transactions are limited to designated participants, and they modify resources according to predefined actions. It is necessary to note that business can be equally applied to not only assets but also participants according to business requirements. For example, an “issue token” transaction is used to increase the token balance of a particular consumer participant.

[표 3: 스마트계약의 트랜젝션 정의][Table 3: Transaction Definition of Smart Contract]

Figure 112020003199064-pat00003
Figure 112020003199064-pat00003

거래 프로세스 기능은 도 11과 같이 스마트 계약에 정의된 거래의 논리적 운용이다. 이 기능의 구조는 장식기와 메타데이터에 이어 자바스크립트 기능을 포함하며, 두 부분은 모두 거래가 작동하기 위해 필요하다. The transaction process function is the logical operation of the transaction defined in the smart contract as shown in FIG. 11 . The structure of this function includes decorators and metadata followed by JavaScript functions, both of which are necessary for the transaction to work.

표 4에 도시된 알고리즘 1에서 보듯이, "Subscribe SLA" 거래와 관련된 트랜잭션 프로세서 기능의 유사 코드는 SLA 자산과 현재 소비자의 상태를 모두 수정하는 것이다. 이 거래는 SLA의 상태를 이용할 수 있을 때만 실행된다. 그런 다음 SLA 자산의 상태를 업데이트하고, SLA 자산과 현재 참가자 간의 연결을 추가하며, 이벤트를 방출한다.As shown in Algorithm 1 shown in Table 4, the pseudo code of the transaction processor function associated with the "Subscribe SLA" transaction is to modify both the SLA asset and the current consumer's state. This transaction is only executed when the status of the SLA is available. It then updates the state of the SLA asset, adds a connection between the SLA asset and the current participant, and emits an event.

[표 4:SLA 가입을 위한 트랜잭션 프로세스 기능][Table 4: Transaction process function for SLA subscription]

Figure 112020003199064-pat00004
Figure 112020003199064-pat00004

도 12는 블록체인 및 오프 체인 데이터 베이스 사이의 상호작용을 나타낸다. 체인을 벗어난 데이터베이스는 키-값 쌍으로 표현되는 SLA 자산 하나를 포함한다. 오프 체인 데이터 베이스와 대조적으로 블록체인(blockchain)은 오프 체인 데이터 베이스를 반영하는 모든 변화를 기록하는 트랜잭션 로그다. 12 shows the interaction between the blockchain and the off-chain database. An off-chain database contains one SLA asset, which is represented as a key-value pair. In contrast to an off-chain database, a blockchain is a transaction log that records all changes that reflect an off-chain database.

거래는 시간순서에 따라 블록으로 정렬되며, 이 블록들은 암호화된 방식으로 서로 연결되어 체인의 순서를 형성하며, 사용자는 체인이 아닌 데이터 호수에서 발생한 역사적 변화를 알 수 있다.Transactions are arranged in blocks in chronological order, and these blocks are cryptographically linked to each other to form a chain sequence, allowing users to see historical changes that have occurred in the data lake rather than the chain.

실제 제품 환경에서는 SLA 계약 기간 동안 위반이 발생했는지 여부를 판단하기 위해 자산으로부터의 실시간 데이터가 필요하다. 본 발명의 실시예에서는 운영을 단순화하기 위해 자산의 모니터링을 고려하지 않는다. In a real production environment, real-time data from an asset is needed to determine whether a breach occurred during the duration of an SLA contract. In embodiments of the present invention, monitoring of assets is not considered to simplify operations.

도 13은 본 발명의 실시예를 적용한 노트북 공유 사례 연구의 간소화된 워크플로우를 도시한 것이다.13 shows a simplified workflow of a notebook sharing case study to which an embodiment of the present invention is applied.

실현 허가된 네트워크에서, 시스템의 모든 참가자는 시스템에 연결하기 전에 ID 정보와 연결 파일이 포함된 인증서를 얻어야 한다. In a realizable network, all participants in the system must obtain a certificate containing identity information and a connection file before connecting to the system.

이 인증서는 시스템 관리자만 수행할 수 있는 등록 및 등록 프로세스를 통해 발급된다. 제공자는 노트북의 모델명, 제조업체 및 기타 사양을 포함하여 노트북의 기본 정보를 등록할 수 있다. 물론, 이 경우, 제공자가 제공할 수 있는 일반적인 서비스의 수준 규약의 범위와는 별도로, 소비자가 특별히 요구하는 서비스의 요구수준을 설정하도록 구성함이 바람직하다.This certificate is issued through a registration and registration process that only system administrators can perform. The provider can register the notebook's basic information, including the model name, manufacturer, and other specifications of the notebook. Of course, in this case, it is preferable to configure the required level of service specifically requested by the consumer separately from the scope of the general service level agreement that the provider can provide.

즉, 제공자는 사물(노트북)의 정보를 등록한 이후, 제공자는 SLA를 정의할 수 있으며, 소비자가 문서를 보기 전에 SLA의 형식을 검증할 필요가 있다. That is, after the provider registers the information of the thing (laptop), the provider can define the SLA, and it is necessary to verify the format of the SLA before the consumer sees the document.

발행자는 추가 단계가 토큰을 요구하기 때문에 소비자에게 토큰을 발행한다. 소비자들은 SLA를 가입하고 노트북을 빌린다. Issuers issue tokens to consumers as additional steps require tokens. Consumers sign up for an SLA and rent a laptop.

이 단계에서, 소비자는 서비스 수준에 따라 일정 수의 토큰을 제공자에게 이전한다. 이러한 소비자의 서비스 수준 협약은 다양한 소비자의 상황에 따라 관심을 나타내는 정도에 따라 다양하게 달라질 수 있으며, 보안성, 공유서비스 수준 등 요구되는 부합하는 서비스의 요구수준에 따라, 협약의 등급(VIP-다이아몬드-플래티넘 등)을 구분하여 사물 공유의 서비스 제공의 정도(비밀유지도, 데이터 보안, 신뢰성 등)를 맞춤형으로 제공하도록 하며, 서비스 요구 수준이 높을수록, 토큰의 지불의 정도는 더 높아지게 됨은 자명하다 할 것이다.At this stage, the consumer transfers a certain number of tokens to the provider according to the service level. These consumer service level agreements may vary depending on the degree of interest expressed according to various consumer situations, and the level of the agreement (VIP-Diamond -Platinum, etc.) to provide a customized level of service provision (secrecy level, data security, reliability, etc.) something to do.

소비자는 네트워크에 의해 무작위로 생성되는 로그인 암호를 얻을 수 있고, 얻은 암호를 사용하여 노트북에 접속할 수 있다. 계약 기간 동안, 소비자는 결함이 발생하면 네트워크에 문제를 제출할 수 있다. 예를 들어, 무선 네트워크 연결이 끊어진다. 네트워크는 문제를 해결하기 위한 작업을 수행할 수 있는 제공자에게 이 문제를 전달한다. 제공자는 제출된 발행물의 상태를 실제 조건에 따라 수정할 수 있다. 모니터는 지속적으로 상태를 모니터링하고 그에 따라 결정을 내린다. Consumers can obtain a login password randomly generated by the network and use the obtained password to access the laptop. During the term of the contract, the consumer can submit a problem to the network if a defect occurs. For example, the wireless network connection is lost. The network passes this problem on to a provider who can take action to solve the problem. Provider may modify the status of submitted publications according to actual conditions. The monitor continuously monitors the status and makes decisions accordingly.

그 경우, SLA에 정의된 업무 시간에 따라 문제가 해결되지 않고, 이를 위반으로 간주할 수 있으며, 소비자는 보상을 받을 수 있다. 계약 중에 유효성 검사가 탐지되지 않고 임대가 만료된 경우, 소비자는 SLA를 종료하고, 다시 로그인 암호를 취소하고 노트북을 반환할 수 있다.In that case, the problem is not resolved according to the business hours defined in the SLA, which may be considered a violation, and the consumer may be compensated. If validation is not detected during the contract and the lease has expired, the consumer can terminate the SLA, revoke the login password again and return the laptop.

상술한 본 발명의 노트북 공유시스템의 실시예에서, Gitub 인증 공급자를 사용하여 클라이언트를 인증하도록 REST Server를 구성한다. In the above-described embodiment of the notebook sharing system of the present invention, the REST Server is configured to authenticate the client using the Gitub authentication provider.

도 14와 같이 클라이언트는 OAuth2.0 체계에 의해 보호되는 비즈니스 네트워크 리소스에 대한 액세스가 허용되기 전에 REST Server에 대해 인증해야 한다. As shown in Fig. 14, the client must authenticate to the REST Server before access to the business network resource protected by the OAuth2.0 scheme is allowed.

서비스 소유자(Github 계정)는 클라이언트 신청에 대한 동의를 얻을 수 있다. Gitub 인증 서버는 서비스 소유자의 동의를 요청하고 클라이언트에 액세스 토큰을 발급한다. 발급된 액세스 토큰은 웹 브라우저의 로컬 저장소에 저장된다. The service owner (Github account) can obtain consent for the client application. The Gitub authentication server requests the consent of the service owner and issues an access token to the client. The issued access token is stored in the web browser's local storage.

사용자가 후속 요청을 시작하면 클라이언트는 사용자를 다시 인증하는 대신 로컬 스토리지에서 검색된 액세스 토큰을 검증한다. 더욱이, REST Server 자체는 블록체인 네트워크에 연결하는 데 필요한 비즈니스 네트워크 카드를 유지하도록 구성되어 있다. 이러한 비즈니스 네트워크 카드는 등록 인증서를 등록하기 위해 Fabric-CA 서버를 사용하여 발급된 ID이다. 각 ID는 설명적 라벨, 공개 키를 포함하는 X.509 인증서, 개인 키 및 일부 패브릭별 메타데이터로 구성된 표준 구조를 가지고 있다.When the user initiates a subsequent request, the client validates the access token retrieved from local storage instead of re-authenticating the user. Moreover, the REST Server itself is configured to hold the business network cards needed to connect to the blockchain network. These business network cards are IDs issued using Fabric-CA server to register enrollment certificates. Each ID has a standard structure consisting of a descriptive label, an X.509 certificate containing a public key, a private key, and some fabric-specific metadata.

이를테면, 도 15에 도시된 샘플참가자 인증서를 참조하면, 일예로 샘플 인증서는 '잭(Jack)'이라는 참가자를 설명하는 디지털 인증서를 포함하고 있다. 이 인증서는 인증서를 발급한 PKI, 인증서 생성일, 인증서 유효 기간 등의 식별 정보를 포함한다. 강조된 주제 텍스트는 잭에 대한 주요 사실들을 제공하며, 또한 많은 정보들을 담고 있다. 잭의 공개키가 그의 증명서에 배포되어 있다는 것은 주목할 만하다. 하지만 그의 개인 서명 키는 비공개로 유지된다.For example, referring to the sample participant certificate shown in FIG. 15 , for example, the sample certificate includes a digital certificate describing a participant named 'Jack'. This certificate includes identification information such as the PKI that issued the certificate, the date of creation of the certificate, and the validity period of the certificate. The highlighted subject text provides key facts about Jack and also contains a lot of information. It is noteworthy that Jack's public key is distributed in his certificate. However, his private signing key remains private.

도 16은 상술한 노트북 공유사례에 결과를 도시한 이미지로, 도시된 것은 Hyperledger Composer Playground에 구현 결과를 제시한 것이다. 16 is an image showing the results of the above-described notebook sharing case, and what is shown is the implementation result presented in the Hyperledger Composer Playground.

하이퍼레저 패브릭 런타임에 실행되는 스마트 계약의 비즈니스 로직을 테스트하는 웹 사용자 인터페이스로, 도 16과 같이, 놀이터 지갑(the playground wallet)에는 각각 Fabric CA에서 발행한 일련의 신분증이 들어 있다.It is a web user interface that tests the business logic of a smart contract executed in the Hyperledger Fabric runtime. As shown in FIG. 16, the playground wallet contains a series of IDs issued by Fabric CA, respectively.

도 17은 생성된 REST API를 검사하고 테스트하는 데 사용되는 Composer REST Server 탐색기를 나타낸다. 비즈니스 네트워크에 대한 스마트 계약 모델은 Open API 정의로 변환되며, 런타임에 트랜잭션을 처리하거나 검색할 수 있도록 만들기, 읽기, 업데이트 및 삭제 작업을 구현한다. 클라이언트가 REST Server를 인증하면 탐색기는 요청을 Gitub 인증 제공자로 리디렉션한다. 이후 인증 공급자는 다시 REST 서버로 리디렉션하여 페이지 상단에 액세스 토큰을 표시한다. 액세스 토큰은 클라이언트를 인증하기 위해 REST 요청에 전달될 수 있다.Figure 17 shows the Composer REST Server Explorer used to inspect and test the generated REST API. The smart contract model for the business network is translated into an Open API definition, which implements create, read, update and delete operations so that transactions can be processed or retrieved at runtime. When the client authenticates the REST Server, the explorer redirects the request to the Gitub authentication provider. The authentication provider then redirects back to the REST server to display the access token at the top of the page. The access token can be passed in the REST request to authenticate the client.

도 18은 상술한 놀이터 지갑(the playground wallet) API의 이미지를 도시한 것으로, (a) 지갑 API 사양, (b) 지급에 비지니스 네트워크 카드를 추가한 이미지를 도시한 것이다.18 shows an image of the above-mentioned playground wallet API, (a) a wallet API specification, and (b) an image in which a business network card is added to payment.

즉, 클라이언트가 REST API를 인증하면 해당 클라이언트는 지갑에 ID를 추가할 수 있다. 그 지갑은 그 고객에게는 사적인 것이고 다른 고객에게는 접근할 수 없다. 클라이언트가 REST Server를 요청할 때, 클라이언트의 지갑에 있는 ID를 사용하여 해당 클라이언트가 수행한 모든 트랜잭션을 디지털로 서명한다. 지갑에 신분증을 추가하려면 도 18 (a)와 같이 지갑 범주를 확대하여 지갑 API로 이동해야 한다. ID 카드는 그림16b와 같이 POST/wallet/import 조작을 호출하여 지갑에 가져올 수 있다.In other words, when a client authenticates the REST API, that client can add an ID to the wallet. The wallet is private to the customer and inaccessible to other customers. When a client makes a request to the REST Server, it uses the ID in the client's wallet to digitally sign all transactions performed by that client. In order to add an ID to the wallet, you need to move to the wallet API by expanding the wallet category as shown in FIG. 18 (a). The ID card can be imported into the wallet by calling POST/wallet/import operation as shown in Figure 16b.

도 19는 Composer REST Server의 트랜잭션 테스트를 도시한 것이다. 이는, 참가자가 다음 API로 전화를 걸어 비즈니스 네트워크에 접속하는지 확인할 수 있다. 도 19와 같이, 현재 참가자의 정보 및 대응 주체 내의 관련 ID를 반환하는 것으로 비즈니스 네트워크에 접속한다.19 shows a transaction test of Composer REST Server. It can verify that the participant connects to the business network by calling the following API: As shown in Fig. 19, the business network is accessed by returning the information of the current participant and the relevant ID in the corresponding subject.

도 20은 (a)는 스마트 계약에 정의된 제공자 프로필의 스냅샷이며, 소비자 프로파일은 도 20 (b)에 제시되어 있다. 제공자가 생성한 SLA의 사양은 도 20 (c)에 나타나 있다.Fig. 20 (a) is a snapshot of the provider profile defined in the smart contract, and the consumer profile is presented in Fig. 20 (b). The specification of the SLA generated by the provider is shown in Fig. 20 (c).

도 21은 날짜, 입력 유형 및 참가자를 포함하여 Composer 놀이터의 트랜잭션 기록의 스냅샷을 나타낸다. "날짜"는 거래가 실행된 시기를 나타내는 변경 불가능한 블록체인 원장 기록 시간이다. "Entry Type"은 거래 유형을 나타내며 "참여자"는 거래를 제출하는 현재 참가자를 나타낸다. 또한 대시보드는 거래의 세부사항을 보여주는 항목을 제공한다.21 shows a snapshot of the transaction record of the Composer Playground, including date, input type and participant. “Date” is an immutable blockchain ledger record time indicating when a transaction was executed. "Entry Type" indicates the transaction type and "Participant" indicates the current participant submitting the transaction. The dashboard also provides items that show the details of the transaction.

[실험예: 블록체인 네트워크 공유경제 시스템의 성능평가][Experimental example: Performance evaluation of blockchain network sharing economy system]

이하에서는, 본 발명의 시스템의 성능을 평가하기 위한 실험결과를 제시한다.Hereinafter, experimental results for evaluating the performance of the system of the present invention are presented.

본 실험의 프로토타입 블록체인 네트워크는 4개의 피어와 1개의 발주자로 구성되어 있다. 초당 트랜잭션(tps)이라는 용어는 초당 블록체인 네트워크가 수행하는 트랜잭션 수를 말하며, 처리량이라고도 한다. 이 분석을 위해, 우리는 벤치마크 시뮬레이션 도구로 하이퍼레저 캘리퍼(the Hyperledger Caliper)를 사용했다. 성능 평가를 위한 사례 연구의 동작을 시뮬레이션하기 위해 구성 스크립트를 수정했다.The prototype blockchain network in this experiment consists of 4 peers and 1 orderer. The term transactions per second (tps) refers to the number of transactions performed by a blockchain network per second, also known as throughput. For this analysis, we used the Hyperledger Caliper as our benchmark simulation tool. The configuration script was modified to simulate the behavior of the case study for performance evaluation.

첫 번째 실험을 위해, 우리는 200 tps에서 1300 tps로 전송 속도를 변화시켜 제안된 시스템의 처리량을 평가했다. 처리량은 읽기 처리량과 트랜잭션 처리량이라는 두 범주로 분류할 수 있다. 읽기 처리량은 정의된 기간에 완료되는 읽기 작업의 수를 측정한다. 트랜잭션 처리량은 할당된 시간 내에 블록체인에서 실행되는 유효한 트랜잭션 수를 측정한다. For the first experiment, we evaluated the throughput of the proposed system by varying the transmission rate from 200 tps to 1300 tps. Throughput can be classified into two categories: read throughput and transaction throughput. Read throughput measures the number of read operations that are completed in a defined time period. Transaction throughput measures the number of valid transactions executed on the blockchain within the allotted time.

이 두 지표에 대한 공식은 각각 식 (1)과 (2)에 제시되어 있다. 유효하지 않은 거래의 총수를 총 거래에서 제거하여 총 유효 거래를 산출해야 한다는 점에 유의하십시오. 제안된 시스템의 평균 읽기 처리량은 무작위로 선택된 시스템 활용 수준에서 송신 속도를 500 tps에서 3000 tps로 변화시켜 평가되었으며, 실험 결과는 도 22와 같다. 읽기 처리량은 2500 tps의 전송 속도로 2346 tps의 정점에 도달할 때까지 증가한다. 따라서, 제안된 네트워크의 경우 읽기 처리량에 대한 최적의 전송 속도를 2500 tps로 얻는다. 도 23과 마찬가지로, 트랜잭션 처리량의 최적 전송률은 1100 tps이며, 그 후 전송 속도가 증가함에 따라 처리량이 지속적으로 감소하기 때문이다.The formulas for these two indicators are presented in Equations (1) and (2), respectively. Note that the total number of invalid transactions must be subtracted from the total to yield the total valid transactions. The average read throughput of the proposed system was evaluated by changing the transmission speed from 500 tps to 3000 tps at a randomly selected system utilization level, and the experimental results are shown in FIG. 22 . Read throughput increases until it peaks at 2346 tps with a transfer rate of 2500 tps. Therefore, in the case of the proposed network, the optimal transmission rate for read throughput is obtained as 2500 tps. As in FIG. 23 , the optimal transfer rate of the transaction throughput is 1100 tps, since the throughput continuously decreases as the transfer rate increases thereafter.

Figure 112020003199064-pat00005
Figure 112020003199064-pat00005

또한, 네트워크 지연 시간에 대한 또 다른 연구가 블록체인 네트워크에서 트랜잭션이 실행되는 데 걸리는 시간을 나타내기 위해 수행되었다. In addition, another study on network latency was performed to indicate how long it takes for a transaction to execute on a blockchain network.

첫 번째 실험과 마찬가지로, 지연 시간은 읽기 지연 시간과 트랜잭션 지연 시간의 두 범주로 나뉜다. As with the first experiment, latency falls into two categories: read latency and transaction latency.

읽기 지연 시간은 읽기 요청이 제출된 시간과 응답을 수신한 시간을 의미한다. 트랜잭션 지연 시간은 네트워크를 통해 트랜잭션을 실행하는 데 걸리는 시간을 네트워크 전반에서 보여주는 것이다. 측정에는 제출 시점부터의 시간뿐만 아니라, 합의 메커니즘이 마련되어 있기 때문에 방송 시간과 수정 시간이 포함된다. Read latency refers to the time at which a read request is submitted and the time at which a response is received. Transaction latency is a network-wide representation of how long it takes to execute a transaction over the network. Measurements include not only time from the time of submission, but also broadcast time and revision time, since consensus mechanisms are in place.

에얄(Eyal et al.)은 네트워크 임계값에 대한 유용한 정의를 제안하였는데, 이는 네트워크 임계값을 정의하는 데 걸리는 네트워크 비율이다. 본 실험에서는 PBFT와 같은 비확률적 프로토콜을 사용한 이후 네트워크의 비율을 100%로 설정했다. Eyal et al. proposed a useful definition of a network threshold, which is the ratio of networks it takes to define a network threshold. In this experiment, after using a non-stochastic protocol such as PBFT, the ratio of the network was set to 100%.

읽기 지연 시간 및 트랜잭션 지연 시간 계산을 위한 일반 및 단순화된 공식은 식 (3)과 (4)에 별도로 표시된다. The general and simplified formulas for calculating read latency and transaction latency are shown separately in equations (3) and (4).

도 24와 같이 제안된 시스템의 평균 읽기 지연 시간은 무작위로 선택된 시스템 자원 활용 수준에서 송신 속도를 500 tps에서 3000 tps로 10회 변화시켜 평가되었다. 읽기 지연 시간은 전송 속도가 증가함에 따라 상대적으로 적게 증가한다. 단, 최적값을 초과한 후 송신 속도 2500이 지나면 대기 시간이 크게 증가한다. 마찬가지로, 그림23의 그래프는 사용자 요청 속도가 증가함에 따라 평균 트랜잭션 지연 시간이 선형적으로 증가하며, 이 값은 1100 tps의 최적 전송 속도 이후 급격히 증가함을 보여준다.The average read delay time of the proposed system as shown in FIG. 24 was evaluated by changing the transmission speed from 500 tps to 3000 tps 10 times at a randomly selected system resource utilization level. The read latency increases relatively small as the transfer rate increases. However, after exceeding the optimum value, if the transmission speed exceeds 2500, the waiting time increases significantly. Similarly, the graph in Figure 23 shows that the average transaction latency increases linearly as the user request rate increases, and this value sharply increases after the optimal transfer rate of 1100 tps.

Figure 112020003199064-pat00006
Figure 112020003199064-pat00006

일반적으로 비트코인은 한 블록을 채굴하는 데 10분 가까이 소요되며, 거래가 확정되기 전에 최소 6번의 확인이 필요하기 때문에 거래가 평균 1시간 정도 걸릴 것으로 예상할 수 있다. Ethereum의 경우, 한 블록을 채굴하는 평균 거래 시간은 약 15초이다. 더욱이, 이 시간비용은 네트워크 환경 측면에서 상당히 다르다. 그림21에 따르면, 제안된 블록체인 네트워크의 평균 트랜잭션 지연 시간은 약 2.3초로서, 대부분의 인기 있는 블록체인 플랫폼보다 훨씬 앞선다. 그 이면에는 거래 실적에 직접적인 영향을 미치는 블록체인(blockchain)의 성격에 따라 그 이유가 달라진다. 비트코인과 에티움은 누구나 참여할 수 있는 무허가 블록체인이며 모든 참가자는 익명이다. In general, Bitcoin takes close to 10 minutes to mine a block, and since a transaction requires at least 6 confirmations before it is confirmed, you can expect a transaction to take an average of an hour or so. In the case of Ethereum, the average transaction time to mine one block is about 15 seconds. Moreover, this time cost is quite different in terms of the network environment. According to Figure 21, the average transaction latency of the proposed blockchain network is about 2.3 seconds, well ahead of most popular blockchain platforms. Behind the scenes, the reasons vary depending on the nature of the blockchain, which directly affects transaction performance. Bitcoin and Ethereum are permissionless blockchains that anyone can participate in, and all participants are anonymous.

무허가 블록체인은 익명의 참가자들 사이에 신뢰를 확립하기 위해 일반적으로 업무증명서(PoW)에 근거한 거래의 검증에 따른 비범한 비용을 상쇄하기 위한 경제적 인센티브를 제공하기 위해 고유 암호통화 또는 거래 수수료를 채용한다. 한편, 제안된 블록체인(blockchain)은 허가된 네트워크를 기반으로 구축되며, 여기서 지배방식 모델에 따라 알려진 식별된 참여자들 사이에서 거래가 운영된다. 참가자의 신원에 의존함으로써, 허가를 받은 블록체인에서는 비용이 많이 드는 채굴이 필요하지 않은 보다 전통적인 PBFT 프로토콜을 사용할 수 있다. To establish trust among anonymous participants, permissionless blockchains employ unique cryptocurrencies or transaction fees to provide economic incentives to offset the extraordinary cost of verifying transactions, typically based on proof of work (PoW). do. On the other hand, the proposed blockchain is built based on a permissioned network, where transactions are operated between known and identified participants according to the governance model. By relying on participant identities, permissioned blockchains can use more traditional PBFT protocols that do not require expensive mining.

또한, 허가를 받은 블록체인(blockchain)은 스마트 계약을 통해 의도적으로 악성 코드를 도입하는 참가자의 위험을 줄일 수 있다. 참가자들이 서로 알고 있고, 모든 조치를 알고 있기 때문에, 애플리케이션 거래의 제출, 네트워크 구성 수정은 네트워크 및 관련 거래 유형에 대해 설정된 승인 정책에 따라 블록체인 상에 기록된다. 또한 결과적으로, 모든 유죄 당사자는 쉽게 식별될 수 있으며, 그 사건은 지배방식 모델의 조건에 적합하게 처리된다.In addition, permissioned blockchains can reduce the risk of participants intentionally introducing malicious code through smart contracts. Since the participants know each other and all actions are taken, the submission of application transactions, modifications to the network configuration, are recorded on the blockchain according to the authorization policies set for the network and related transaction types. As a result, all guilty parties can be easily identified, and the case is handled according to the conditions of the domination model.

Hyperledger Caliper를 이용한 블록체인 네트워크의 자원 활용에 관한 또 다른 실험이 5번의 반복으로 수행되었다. 자원 활용 테스트 결과는 표 4와 같이 메모리 및 중앙 처리 장치(CPU)의 최대 평균 사용률을 설명한다. 피어의 경우 평균 메모리 할당은 97.35MB로 기록되었고 평균 CPU 유틸리티는 5.77%로 기록되었다. 발주자 노드의 경우 평균 메모리 할당이 26.4MB로 기록되었으며, 평균 CPU 유틸리티는 1.25%로 기록되었다. CA 노드의 경우 평균 메모리 할당이 5.5MB로 기록되었으며, CPU 유틸리티는 0%로 기록되었다. 자원 활용 실험의 결과는 블록체인 네트워크가 시스템 자원 점유율이 낮고, 신뢰성이 높고, 편안한 사용자 경험을 가지고 있음을 증명한다.Another experiment on resource utilization of blockchain network using Hyperledger Caliper was performed with 5 iterations. The resource utilization test results explain the maximum average utilization of memory and central processing unit (CPU) as shown in Table 4. For peers, the average memory allocation was recorded at 97.35 MB and the average CPU utility was recorded at 5.77%. For the orderer node, the average memory allocation was recorded at 26.4 MB, and the average CPU utility was recorded at 1.25%. For the CA node, the average memory allocation was recorded at 5.5 MB, and the CPU utility was recorded at 0%. The results of the resource utilization experiment prove that the blockchain network has a low system resource share, high reliability, and comfortable user experience.

[표 4][Table 4]

Figure 112020003199064-pat00007
Figure 112020003199064-pat00007

본 발명에 따른 스마트 계약기반 공유경제 서비스 제공 시스템은, 공유 경제 분야에서 SLA의 자동 관리를 위한 스마트 계약에 기초한다. SLA 위반 시 정해진 가입비 또는 금전적 보상의 지급을 자동적으로 실시한다. 모든 관련 당사자는 어느 기업이 SLA를 위반했는지 알게 되며, 각 당사자는 모든 거래를 조사할 수 있다. 또한 SLA의 정의, 협상 및 종료와 같은 접근방식에 SLA 관리의 다른 측면이 통합되었다. 노트북 공유 사례 연구는 Hyperledger Fabric을 사용하여 제안된 아키텍처 위에 개념 증명으로서 구현된다.The smart contract-based sharing economy service providing system according to the present invention is based on a smart contract for automatic management of SLA in the sharing economy field. In case of violation of the SLA, the specified subscription fee or monetary compensation is automatically paid. All parties involved will know which company is violating the SLA, and each party will be able to investigate any transaction. Other aspects of SLA management have also been incorporated into approaches such as defining, negotiating and terminating SLAs. The notebook sharing case study is implemented as a proof-of-concept on the proposed architecture using Hyperledger Fabric.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.The foregoing description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

100: 참가자모듈
200: 블록체인 네트워크
300: 공유자산 DB
400: 오프체인 데이터베이스
100: participant module
200: Blockchain Network
300: shared asset DB
400: Off-chain database

Claims (6)

삭제delete 삭제delete 유무선 통신하에 공유자산에 대한 이용 서비스 계약을 수행하고, 상기 서비스 계약 정보가 등록되는 블록체인네트워크 상에 접속하여 자산공유를 실행하는 공유경제시스템에 있어서,
상기 공유경제시스템은 다수의 참가자모듈을 포함하며, 상기 참가자모듈은,
서비스 수준 협약 템플릿을 기반으로 솔루션이나 서비스 자산을 제공하되, 서비스 수준 협약에 따라 제공되는 사물, 공유서비스, 보안등급을 포함하는 스마트 계약을 제공하는 제공자모듈;
블록체인 네트워크 상에 상기 제공자가 등록한 서비스수준 계약 템플릿에 기반한 스마트계약 관련유효성을 검증하는 검증자모듈;
상기 스마트계약에 따른 공유자산을 이용하기 위해 상기 스마트계약 관련 유효성 검사 결과를 확인하고, 공유자산의 이용계약을 체결하고, 서비스 수준 협약에 따라 제공되는 사물, 공유서비스, 보안등급을 포함하는 사항에 부합하는 토큰을 상기 제공자모듈에 제공하는 소비자모듈;
상기 스마트계약에 포함된 계약기준의 준수 여부를 모니터링하고, 서비스 이용에 대한 보증 준수여부를 검사하여 위반에 해당하는 경우 상기 스마트계약에 명기된 보상조치로서 벌칙을 수행하는 모니터모듈;
상기 스마트계약에 관련한 서비스 자산에 대한 가치를 토큰화하여 발생하는 발행자모듈;을 포함하고,,
상기 모니터링의 범위는 계약에서 소비자가 요구한 서비스의 수준 협약에 따른 이행여부, 보안, 데이터 보안 및 공유서비스 수준을 포함하고,
상기 블록체인 네트워크는,
상기 제공자모듈과 상기 소비자모듈 간에 체결된 스마트 계약이 승인된 정보가 상기 블록체인 네트워크 상에 등록하는 스마트 계약등록부;
상기 스마트 계약관련 정보를 블록화하며 네트워크상의 이용주체들에 공유되도록 분산 원장을 구현하는 분산원장 생성부;
상기 분산원장에 접근하는 주체들의 접근 권한을 인증하는 ID인증부;
상기 스마트계약의 유효성을 상기 검증자모듈을 통해 검증하는 검증부;
상기 분산원장에 새로운 블록이 추가되는 경우, 클라이언트에 이벤트를 생성하거나, 트랜잭션이 스마트 계약에서 정의된 조건을 트리거하는 이벤트허브부;
불록체인 네트워크가 제공하는 서비스를 클라이언트 애플리케이션이 스마트계약과 상호작용할 수 있는 개방형 API 체계로 공개하는 API인터페이스부;
분산원장에 기입되는 정보의 유효성을 바이잔틴 내결함성(PBFT) 알고리즘을 통해 검증하는 결함수정부;를 포함하고,
상기 공유경제시스템은,
상기 스마트 계약과 관련한 계약정보, 결제정보, 자산정보, 참가 정보에 대한 변경사항을 저장하고 업데이트하며, 상기 블록체인 네트워크로 제공하는 오프체인 데이터베이스;를 더 포함하고,
상기 오프체인데이터베이스는,
상기 참가자모듈에서 변경사항을 수집하는 트랜젝션을 제출받고, 상기 트랜젝션이 상기 블록체인네트워크에 제출되도록 하여, 트랜젝션 처리의 효율을 증대시키는,
사물인터넷에서 스마트계약기반 공유경제 서비스 제공시스템.
In a sharing economy system that performs a service contract for a shared asset under wired/wireless communication and executes asset sharing by accessing a blockchain network in which the service contract information is registered,
The sharing economy system includes a plurality of participant modules, the participant module comprising:
A provider module that provides a solution or service asset based on the service level agreement template, but provides a smart contract including things, shared services, and security levels provided according to the service level agreement;
a validator module for verifying the validity of a smart contract based on a service level contract template registered by the provider on a blockchain network;
In order to use the shared assets according to the smart contract, check the smart contract-related validation results, sign a contract for the use of the shared assets, and provide objects, shared services, and security ratings according to the service level agreement. a consumer module that provides a matching token to the provider module;
a monitor module for monitoring compliance with contract standards included in the smart contract, inspecting compliance with guarantees for service use, and executing penalties as compensation measures specified in the smart contract in case of violation;
An issuer module generated by tokenizing the value of the service asset related to the smart contract;
The scope of the monitoring includes the level of service requested by the consumer in the contract, whether the contract is fulfilled, security, data security and shared service level,
The blockchain network is
a smart contract registration unit in which information on which a smart contract concluded between the provider module and the consumer module is approved is registered on the block chain network;
a distributed ledger generating unit that blocks the smart contract-related information and implements a distributed ledger to be shared with users on a network;
an ID authentication unit for authenticating access rights of subjects accessing the distributed ledger;
a verification unit that verifies the validity of the smart contract through the verifier module;
an event hub for generating an event to a client or triggering a transaction defined in a smart contract when a new block is added to the distributed ledger;
an API interface unit that exposes the services provided by the blockchain network as an open API system for client applications to interact with smart contracts;
A defect correction unit that verifies the validity of the information written in the distributed ledger through the Byzantine Fault Tolerance (PBFT) algorithm;
The sharing economy system is
An off-chain database that stores and updates changes to contract information, payment information, asset information, and participation information related to the smart contract, and provides it to the blockchain network;
The off-chain database is
To increase the efficiency of transaction processing by receiving a transaction that collects changes from the participant module and submitting the transaction to the blockchain network,
Smart contract-based sharing economy service provision system in the Internet of Things.
삭제delete 삭제delete 삭제delete
KR1020200003922A 2020-01-10 2020-01-10 SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things KR102450412B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200003922A KR102450412B1 (en) 2020-01-10 2020-01-10 SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200003922A KR102450412B1 (en) 2020-01-10 2020-01-10 SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things

Publications (2)

Publication Number Publication Date
KR20210090519A KR20210090519A (en) 2021-07-20
KR102450412B1 true KR102450412B1 (en) 2022-09-30

Family

ID=77127358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003922A KR102450412B1 (en) 2020-01-10 2020-01-10 SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things

Country Status (1)

Country Link
KR (1) KR102450412B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277734A (en) * 2022-05-23 2022-11-01 浪潮软件股份有限公司 Cross-regional government affair data sharing and business cooperation method and system based on block chain technology

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102009160B1 (en) * 2018-10-19 2019-08-09 빅픽처랩 주식회사 Information trust engine system based on block-chain

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102608099B1 (en) * 2016-04-11 2023-12-01 엔체인 홀딩스 리미티드 A method for secure peer to peer communication on a blockchain
KR20180105044A (en) * 2017-03-14 2018-09-27 한국전자통신연구원 Resource sharing service method and system based on trust information
KR20190091995A (en) 2018-01-30 2019-08-07 유호철 A Platform Service Based on Blackchain Security Technology Which Provides System for Sharing Economy in Apartment house

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102009160B1 (en) * 2018-10-19 2019-08-09 빅픽처랩 주식회사 Information trust engine system based on block-chain

Also Published As

Publication number Publication date
KR20210090519A (en) 2021-07-20

Similar Documents

Publication Publication Date Title
Niranjanamurthy et al. Analysis of Blockchain technology: pros, cons and SWOT
US20220263671A1 (en) Data processing method, apparatus, and device, blockchain system, and computer-readable storage medium
Kemmoe et al. Recent advances in smart contracts: A technical overview and state of the art
Du et al. An optimized consortium blockchain for medical information sharing
US11348098B2 (en) Decisional architectures in blockchain environments
US11281800B2 (en) Systems and methods for providing identity verification services
US20190236562A1 (en) Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment
US20190236559A1 (en) Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment
US20190236606A1 (en) Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment
Pasdar et al. Connect api with blockchain: A survey on blockchain oracle implementation
Liu et al. Distributed ledger technology
CN110599213B (en) Article management method and device based on blockchain network and electronic equipment
Pasdar et al. Blockchain oracle design patterns
CN111292174A (en) Tax payment information processing method and device and computer readable storage medium
Menges et al. DEALER: decentralized incentives for threat intelligence reporting and exchange
Kwame et al. V-chain: A blockchain-based car lease platform
CN116235460A (en) Authentication system and method
Ma et al. TrustedBaaS: Blockchain-enabled distributed and higher-level trusted platform
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
CN110766548A (en) Block chain based information processing method and device, storage medium and electronic equipment
CN115147224A (en) Transaction data sharing method and device based on alliance chain
Tkachuk et al. Towards efficient privacy and trust in decentralized blockchain-based peer-to-peer renewable energy marketplace
Mansoor et al. A Review of Blockchain Approaches for KYC
CN112350863B (en) Decentralized access control method and system based on transaction
KR102450412B1 (en) SLA-Based Sharing Economy Service with Smart Contract for Resource Integrity in the Internet of Things

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant