트랜잭션 비용

마지막 업데이트: 2022년 3월 23일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
Note that commissions are just one aspect of trading costs. Transaction costs refer primarily to the difference between an investor’s average trade price versus either 1) the last price traded or 2) midpoint of the bid-ask spread when the investor began trading. Therefore, transaction costs are also affected by the market volumes, volatility and trading regulations.

트랜잭션 및 일괄 쓰기

Cloud Firestore는 데이터의 원자적 읽기 및 쓰기를 지원합니다. 원자적 작업 집합에서는 모든 작업이 성공하거나 아니면 모두 적용되지 않습니다. Cloud Firestore의 두 가지 원자적 작업 유형은 다음과 같습니다.

  • 트랜잭션: 트랜잭션이란 1개 이상의 문서에 대한 읽기 및 쓰기 작업의 집합입니다.
  • 일괄 쓰기: 일괄 쓰기란 1개 이상의 문서에 대한 쓰기 작업의 집합입니다.

각 트랜잭션이나 쓰기 배치에서 쓰기 작업을 수행할 수 있는 최대 문서 수는 500개입니다. 쓰기와 관련된 추가 한도는 할당량 및 한도를 참조하세요.

트랜잭션을 사용한 데이터 업데이트

Cloud Firestore 클라이언트 라이브러리를 사용해 여러 작업을 단일 트랜잭션으로 그룹화할 수 있습니다. 트랜잭션은 한 필드의 값을 현재 값 또는 다른 필드의 값에 따라 업데이트하려는 경우에 유용합니다.

트랜잭션은 여러 개의 get() 작업과 트랜잭션 비용 이어서 수행되는 set() , update() , delete() 등의 여러 쓰기 작업으로 구성됩니다. 동시 수정의 경우 Cloud Firestore에서는 전체 트랜잭션을 다시 실행합니다. 예를 들어 한 트랜잭션에서 문서를 읽고 다른 클라이언트가 해당 문서를 수정하는 경우 Cloud Firestore에서는 해당 트랜잭션을 다시 시도합니다. 이 기능을 통해 트랜잭션이 일관된 최신 데이터로 실행됩니다.

트랜잭션은 쓰기를 부분적으로 적용하지 않습니다. 모든 쓰기는 트랜잭션을 성공적으로 마칠 때 실행됩니다.

트랜잭션을 사용할 때는 다음을 참고하세요.

  • 읽기 작업은 쓰기 작업 전에 이루어져야 합니다.
  • 트랜잭션에서 읽는 문서에서 동시에 수정이 이뤄지는 경우 트랜잭션을 호출하는 함수(트랜잭션 함수)가 여러 번 실행될 수 있습니다.
  • 트랜잭션 함수가 애플리케이션 상태를 직접 수정하면 안 됩니다.
  • 클라이언트가 오프라인 상태면 트랜잭션이 실패합니다.

다음 예에서는 트랜잭션을 만들고 실행하는 방법을 보여줍니다.

Web version 9

Web version 8

Swift
Objective-C

Kotlin+KTX

Python

Python

Node.js
Unity

트랜잭션 외부에서 정보 전달

트랜잭션 함수에서 애플리케이션 상태를 수정하면 안 됩니다. 수정 시 트랜잭션 함수가 여러 번 실행될 수 있고 UI 스레드에서의 실행이 보장되지 않아 동시 실행 문제가 발생합니다. 대신 트랜잭션 함수 외부에서 필요한 정보를 전달하세요. 다음 예는 이전 예를 바탕으로 빌드한 것으로, 트랜잭션 외부에서 정보를 전달하는 방법을 보여줍니다.

Web version 9

Web version 8

Swift
Objective-C

Kotlin+KTX

Python

Python

Node.js
Unity

트랜잭션 실패

트랜잭션에 실패하는 이유는 다음과 같습니다.

  • 트랜잭션에서 쓰기 작업 다음에 읽기 작업이 포함되어 있습니다. 읽기 작업은 항상 쓰기 작업 전에 이루어져야 합니다.
  • 트랜잭션이 트랜잭션 외부에서 수정된 문서를 읽습니다. 이 경우 트랜잭션이 자동으로 다시 실행됩니다. 트랜잭션은 제한된 횟수만큼 다시 시도됩니다.

트랜잭션이 최대 요청 크기인 10MiB를 초과했습니다.

트랜잭션 크기는 문서의 크기 및 트랜잭션에 의해 수정된 색인 항목에 따라 다릅니다. 삭제 작업의 경우 이 크기에는 대상 문서의 크기와 작업에 대한 응답으로 삭제된 색인 항목의 크기가 포함됩니다.

실패한 트랜잭션은 오류를 반환하며 데이터베이스에 아무것도 쓰지 않습니다. 트랜잭션을 롤백할 필요는 없습니다. Cloud Firestore에서 자동으로 수행됩니다.

일괄 쓰기

작업 집합에서 문서를 읽을 필요가 없는 경우 set() , update() 또는 delete() 작업의 조합을 포함하는 단일 배치로 여러 쓰기 작업을 실행할 수 있습니다. 쓰기 배치는 원자적으로 완료되며 여러 문서에 쓸 수 있습니다. 다음 예시에서는 쓰기 배치를 작성하고 커밋하는 방법을 보여줍니다.

Web version 9

Web version 8

Swift
Objective-C

Kotlin+KTX

Python

Python

Node.js
Unity

일괄 쓰기에는 작업이 최대 500개까지 포함될 수 있으며, 포함된 각 작업은 Cloud Firestore 사용량에 별도로 합산됩니다.

일괄 쓰기는 트랜잭션과 마찬가지로 원자적으로 수행됩니다. 하지만 트랜잭션과 달리, 실패 사례를 줄이기 위해 읽은 문서를 수정되지 않은 상태로 유지할 필요가 없습니다. 재시도나 너무 많은 재시도로 인한 실패가 발생하지 않습니다. 일괄 쓰기는 사용자 기기가 오프라인 상태여도 실행됩니다.

참고: 대량 데이터 입력의 경우 동시에 로드되는 개별 쓰기를 지원하는 서버 클라이언트 라이브러리를 사용하세요. 일괄 쓰기의 성능은 직렬화된 쓰기보다 우수하지만 동시 로드 쓰기보다는 떨어집니다. 대량 데이터 작업에는 모바일/웹 SDK가 아니라 서버 클라이언트 라이브러리를 사용해야 합니다.

원자적 작업에 대한 데이터 검증

모바일/웹 클라이언트 라이브러리의 경우, Cloud Firestore 보안 규칙을 사용하여 데이터를 검증할 수 있습니다. 이를 통해 관련 문서를 항상 원자적으로 업데이트하고 트랜잭션 또는 일괄 쓰기에 포함할 수 있습니다. 일련의 작업이 완료된 후 Cloud Firestore가 작업을 커밋하기 전에 getAfter() 보안 규칙 함수를 사용하여 문서의 상태를 액세스하고 검증합니다.

예를 들어 cities 예시의 데이터베이스에 countries 컬렉션도 포함되어 있다고 가정해 보겠습니다. 각 country 문서는 last_updated 필드를 사용하여 해당 국가와 관련된 임의의 도시가 마지막으로 업데이트된 시간을 추적합니다. 다음 보안 규칙에서는 city 문서를 업데이트하면 관련 국가의 last_updated 필드 또한 원자적으로 업데이트되도록 지정합니다.

보안 규칙 제한

트랜잭션 또는 일괄 쓰기의 보안 규칙에는 배치의 각 단일 문서 작업에 적용되는 기본 10개 호출 제한 외에 전체 원자적 작업에 대한 20개 문서 액세스 호출 제한이 적용됩니다.

예를 들어 채팅 애플리케이션에 다음과 같은 규칙을 사용한다고 가정해 보겠습니다.

아래의 스니펫은 몇 가지 데이터 액세스 패턴에 사용되는 문서 액세스 호출 수를 보여줍니다.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

이더리움 가스란?

이더리움을 좀 아는 사람이라면 이더리움의 지속적인 문제는 높은 거래 수수료라는 것을 알 것입니다. 이 문제는 네트워크가 처음으로 2017년도와 2018년도에 정체를 겪고 나서부터 계속되었습니다. 그럼에도 불구하고 디파이 (DeFi) 애플리케이션은 폭발적인 증가를 보였는데요. 이는 경우에 따라 고액 투자자들만이 시장에서 살아남을 수도 있다는 것을 의미하기도 합니다. 결국 수수료는 이익으로 이어지는데요.

2021년 1월 첫째 주에 거래 수수료는 거의 $18라는 새로운 평균 최고치를 기록했습니다.

이더리움 가스는 이렇게 등락을 거듭하는 수수료 방정식의 일부입니다. 가스는 이더리움 채굴자가 거래를 확인하기 위해 필요한 컴퓨팅 파워의 양을 나타냅니다. 채굴자는 이더리움 (ETH) 거래 수수료의 일부를 구성하는 채굴 보상에 대한 대가로 컴퓨팅 에너지를 소비합니다. 따라서 이더리움 가스는 이더리움(ETH)에 가치를 둡니다. 가스 비용은 일반적으로 가스비 또는 가스 비용이라고 합니다.

이더리움 가스비는 효과적으로 ETH로 매겨지지만 실질적인 금액은 ETH 가치에 비해 적을 수 있습니다. 따라서 가스비는 일반적으로 gwei로 표시되며, 이는 ETH의 10억분의 1 또는 0.000000001 ETH입니다.

ethereum gas

이더리움은 이더리움 가상 머신(EVM)으로 처리되는 스마트 계약을 기반으로 실행됩니다. 가상 머신에는 전용 프로그래밍 언어가 필요한데요. EVM의 언어는 솔리디티 (Solidity)입니다.

솔리디티의 각 코드라인은 실행을 위해 일정량의 가스를 사용합니다. ERC-20 토큰은 이더리움에서 실행되는 가장 간단한 형태의 스마트 계약 중 하나이며 9 개의 규칙만 포함합니다. 즉, ERC-20 토큰 계약을 트랜잭션 비용 트랜잭션 비용 작성하는데 여러 줄의 솔리디티가 필요하지는 않습니다.

현물거래 수수료 0

하지만 DAI (다이) 스테이블 코인을 발행하는 메이커다오 (MakerDAO)의 담보부채포지션 (Collateralized Debt Position) 계약과 같이 보다 정교한 스마트 계약에는 더 많은 솔리디티 코드 라인이 포함됩니다. 그렇기 트랜잭션 비용 트랜잭션 비용 때문에 단순한 ERC-20 토큰 전송할 때보다 복잡한 스마트 계약을 실행할 때 더 많은 비용이 들 수밖에 없습니다.

‘가스’라는 용어는 자동차 비유에 잘 어울리기 때문에 적절합니다. ‘가스’는 차에 넣는 기름처럼 생각하시고 이더리움 거래 실행은 차를 운전하는 것이라 생각하시면 됩니다. 주유소에서 기름을 넣듯 채굴자에게서 가스를 제공 받는 것이지요. 이 비유를 이어 가자면 주유소 직원에게 주유비를 지불하는 것처럼 이더리움 가스비는 채굴자에게 ETH로 지불하는 것입니다.

가스비 책정방법

ETH 또는 USD로 가스비가 정해진 것은 없습니다. 가스비는 사실상 이더리움 사용자와 채굴자가 동의하는 요금을 기준으로 수수료가 책정됩니다. 대부분의 블록체인과 마찬가지로 이더리움은 인센티브 원칙에 따라 작동한다는 점을 기억해야 합니다. 채굴자는 거래 수수료의 일부를 이익으로 취하지요.

따라서 거래에 지불된 가스비는 컴퓨팅 성능을 포함해야하며 거래를 처리 할 수 있을만큼 매력적이어야 합니다.

또한 이더리움 채굴자는 다음으로 채굴하고자 하는 블록에 포함할 거래를 선택할 수 있습니다. 이렇게 채굴자는 가장 많은 수익 잠재력을 제공하는 거래를 선택하기 때문에 이더리움 트랜잭션 비용 사용자는 채굴자가 채굴할 다음 블록의 한 공간에 입찰하고 있다고 생각하시면 됩니다.

가스비의 경제 모델을 통해 이더리움망의 트래픽이 증가할 때 가격이 상승하는 이유를 알 수 있는데요. 더 많은 사람들이 거래 처리를 위해 줄을 서있으면 채굴자는 자신의 블록에 어떤 거래를 포함할지 더 까다롭게 선택할 수 있습니다. 즉, 사용자는 본인의 거래가 수익성이 더 높은 다른 거래에 뒤처지지 않도록 더 높은 가스비를 입찰해야 하지요.

이더리움 가스 한도

이더리움 가스 스테이션

대부분의 기본적 이더리움 거래에서 표준 가스 한도는 21,000 가스입니다. EthGasStation 과 같은 사이트를 사용하여 거래 비용을 계산하실 수 있습니다. 아래 캡쳐본을 보시면 현재 평균 가스비는 123gwei이고 표준 가스 한도는 임의로 21,000 가스로 책정하였습니다.

current average eth gas price

해당 이미지에서 거래의 가치와 확인 속도를 알려주는 몇 가지 중요한 지표를 볼 수 있습니다. 예를 들어, 채굴자의 약 3분의 2인 약 64 %가 해당 가격으로 거래를 처리할 것이며 0.002 ETH 또는 $ 4의 트랜잭션 비용 수수료를 수락하면 거래를 확인하는데 147 초 또는 11.9 블록이 소요된다는 점입니다.

비용이 더 많이 들더라도 더 빨리 확인되길 원한다면 25초로 확인 시간을 줄일 수 있지만 가스 한도 21,000 가스를 기반으로 약 $ 5.70 거래비를 지불해야 합니다.

a faster confirmation time with a gas limit of 21,000 gas

만약 더 기다릴 만한 여유가 있다면 21,000 가스 거래를 $3.45에 진행할 수도 있습니다.

21,000 gas transaction costs down to

가스 한도를 줄인다면?

이쯤에서 거래에 사용할 가스의 양을 줄이면 되지 않냐고 질문하실 수도 있습니다. 그럼 21,000 개의 가스를 모두 사용하지 않으면 어떻게 되는지도 궁금하실 수 있고요. 물론 가스 한도는 더 낮게 설정할 수 있지만 원칙적으로 남은 가스는 환불되므로 조금의 여유를 주는 것은 좋을 수 있습니다.

높고 트랜잭션 비용 낮은 비용과 가스 사이에는 균형이 있습니다. 우리는 이미 비용적인 면을 살펴 봤는데요. 아무래도 높은 가스비는 채굴자에게 더 많은 인센티브를 제공합니다.

하지만 가스는 작업을 완료하는데 필요한 컴퓨팅 파워입니다. 가스 한도를 낮추면 거래를 계산할 가스가 충분하지 않을 수도 있어서 리스크가 따릅니다.

최대 100배 레버레지로 계약거래

가스가 소진되면 채굴자는 그대로 처리를 중지하고 스마트 계약을 이전 상태로 되돌립니다. 시도된 거래는 이더리움 블록체인에 기록되고 채굴자가 계약 종료를 이행했기 때문에 여전히 수수료는 지불해야 하지요.

반대로 가스 한도를 과하게 늘리면 거래가 선택 될 가능성이 낮아질 수 있습니다. 각 이더리움 블록에는 670만 가스의 한도가 적용됩니다. 가스 한도의 일부를 개시자에게 반환하더라도 거래의 가스 한도는 여전히 블록의 일부로 계산됩니다. 따라서 가스 한도가 트랜잭션 비용 잘못 부풀려진 거래를 선택하면 그만큼 블록에 넣을 수 있는 거래 수가 줄어들기 때문에 이득 될게 없지요.

여러 면에서 이더리움의 가스 제도는 시장 경제의 원칙에 따라 잘 설계된 제도입니다. 그러나 사용자가 천문학적 요금으로 어려움을 트랜잭션 비용 겪는 혼잡한 시기를 통해 알 수 있듯이 완벽한 제도는 아닙니다. 소액 결제를 사용하는 게임 같은 앱을 이더리움 블록체인에서 실행하는 것은 실로 엄청나게 비쌉니다.

또한 가스비는 ETH로 지불해야하기 때문에 애플리케이션의 기본 토큰이 다르더라도 항상 ETH 잔액이 필요합니다. 이는 사용자와 개발자에게 번거로운 점이 될 수 있습니다.

이더리움이 이더리움 2.0 업그레이드를 통해 지분 증명 및 샤딩 (sharding)으로 전환함에 따라 이러한 문제에 대한 해결 방안이 나올 수 있습니다. 레이어 2 플랫폼의 보급이 증가함에 따라 서서히 이더리움에서 직접 개발하지 않아도 될 수도 있습니다. 그러나 이더리움에서 이미 확립된 생태계를 고려할 때 플랫폼 자체는 당분간 블록체인 환경의 중요한 부분으로 남아있을 것으로 보입니다.

트랜잭션 비용

1.
아래는 New Regulations, Lower HFT Volumes May Jack Up Your Transaction Costs 에서 소개한 내용을 정리한 글입니다. 이런 글을 읽을 때마다 미국이나 유럽의 금융회사가 가진 힘을 느낍니다.

요즘 시장이 죽을 쑤고 있습니다. 거래량이 줄었습니다. 거래량이 주니까 기회도 줍니다. 결국 시장을 떠납니다. 제가 아는 지식은 이정도입니다. Credit Suisser는 여기서 한발 더 나간 분석을 합니다. 거래량과 거래비용을 연결한 지수를 개발하였습니다. CS Transaction Cost Index입니다.

CS-TCA

CS가 사용한 모델은 Impact Cost Model입니다.

위의 모델을 개선한 것을 설명한 자료는 EDGE Update: **NEW Portfolio Tools를 참고하시길 바랍니다.

2.
이제 앞에서 소개했던 기사에 있는 내용입니다. 위의 기사는 Global Transaction Cost Index을 기초로 하였습니다. 이 보고서의 핵심은 “최근의 거래부진으로 거래비용이 커졌다”는 아주 단순한 이야기입니다. 이를 증명하기 위해 CS Transaction Cost Index를 이용하여 설명합니다.

왜 이런 결과가 나왔을까요? Transaction Cost에 영향을 주는 요인들인 market volumes, volatility 및 trading regulation을 보면 이해가 쉽습니다.

Note that commissions are just one aspect of trading costs. Transaction costs refer primarily to the difference between an investor’s average trade price versus either 1) the last price traded or 2) midpoint of the bid-ask spread when the investor began trading. Therefore, transaction costs are also affected by the market volumes, volatility and trading regulations.

이중 Regulation에 관심이 갑니다. CS도 이와 비슷한 분석을 보고서에서 하고 있습니다. HFT를 규제하고 있는 미국과 유럽의 정책때문에 거래비용이 올라갔다고 분석합니다. 한국의 경우는 어떨까요? 파생상품시장의 건전화정책으로 인하여 투자자의 거래비용이 어떤 영향을 받았는지 분석할 필요가 있지않을까요? ‘건전화 정책때문에 증권회사가 어렵다’는 논리보다 ‘투자자의 비용이 높아졌다’는 이야기가 훨씬 더 여론을 조성하는데 효과가 큽니다.

InfraBlockchain
테크놀로지

자체 암호화폐가 없이, 신뢰기관들이 발행하는 법정화폐기반 토큰들이 블록체인 트랜잭션 수수료로 사용되는 엔터프라이즈 블록체인 네트워크를 구축할 수 있습니다. InfraBlockchain 만의 특허 기술인 Proof-of-Transaction 합의방식을 기반으로, 공공기관/기업이 블록체인 네트워크에 참여하여 트랜잭션 비용 원하는 형태의 유연한 거버넌스를 구축하고 운영할 수 있는 고성능 퍼미션드/퍼블릭 블록체인 스마트컨트랙트 플랫폼 기술을 제공합니다.

InfraBlockchain TECHNOLOGIES

InfraBlockchain 은 공공기관/기업이 채택할 수 있는 최적의 블록체인 기술을 제공합니다.

자체 암호화폐가 없는 블록체인

블록체인 네트워크에서 자체적으로 발행되는 변동성 있는 암호화폐가 없이 퍼블릭/퍼미션드 블록체인 네트워크를 구축할 수 있는 기술을 제공합니다. 이더리움/EOS와 같은 스마트컨트랙트 기반 블록체인에서, 스마트컨트랙트 코드로 구현된 사용자(서비스) 토큰들(ex. ERC20)은 ETH/EOS와 같은 자체 암호화폐(트랜잭션을 실행하기 위해 사용)와 완전히 구분되어 있습니다. 반면, InfraBlockcain에서는 표준 인터페이스를 구현하는 어떤 사용자 토큰도 블록생성자들의 합의에 의해 블록체인 트랜잭션 수수료 토큰으로 선택될 수 있습니다.

법정화폐 기반 트랜잭션 수수료 토큰

대기업, 금융기관, 정부기관과 같은 신뢰기관들이 블록체인 상에 발행하고 지급보증하는 법정화폐에 고정된 스테이블 토큰(ex. DKRW, DUSD)은 InfraBlockchain 네트워크에서 신뢰할수 있는 프로그래밍 가능한 기초 자산으로 안전하게 통용될 수 있습니다. InfraBlockchain 네트워크의 선출된 블록생성자들은 신뢰기관들이 발행한 법정화폐 고정 스테이블 토큰들을 퍼블릭 블록체인들의 자체 암호화폐들 처럼(BTC,ETH) 블록체인 트랜잭션 수수료로 쓰이도록 선택하여, 트랜잭션 비용이 예측가능하고 안정적인 법정화폐 기반의 블록체인 네트워크를 운용할 수 있도록 합니다.

고성능 블록체인 트랜잭션 처리

매 블록 마다 누구나 경쟁적으로 블록 생성에 참여할 수 있는 작업증명(PoW), 지분증명(PoS) 방식의 블록체인은 블록생성 시간이 매우 느립니다.(수십 초~수십 분). InfraBlockchain은 자체 개발한 Proof-of-Transaction 합의방식으로 실시간으로 선출되는 (또는 미리 지정된) 블록생성자들이 경쟁없이 순서대로 블록을 생성하는 방식으로 초고속 블록생성 시간(0.5초)을 구현하여 트랜잭션 처리 속도를 극대화합니다. 선출된 블록생성자들 간의 고성능 비동기 BFT 프로토콜을 통해 빠른 블록 최종성(Finality) 시간을 구현합니다. 또한 WebAssembly 가상머신 기반의 스마트컨트랙트 실행환경을 제공하여 최고 수준의 블록체인 트랜잭션 실행 성능을 제공합니다.

Proof-of-Transaction (PoT) 합의 기술

작업증명(PoW)은 컴퓨팅 파워를 많이 소유한 주체에게(경쟁적 에너지 소모 발생), 지분증명(PoS)은 암호화폐를 많이 소유한 주체에게 블록생성 권한을 주도록 하는 불합리한 합의방식입니다. 블록체인 거버넌스에 대한 결정권한이 주어지는 InfraBlockchain의 블록생성자들은 Transaction-as-a-Vote(TaaV) 매커니즘을 이용한 Proof-of-Transaction(PoT) 합의방식(InfraBlockchain 특허 기술)을 통해 선출됩니다. 블록체인 기반 실서비스(예: 지역화폐, 토큰거래소)가 블록체인 상에 운영되어 발생되는 서비스 사용자들의 블록체인 트랜잭션들이 자동으로 블록생성자 선출 투표로 반영되도록 하여, 의미있는 트랜잭션들을 많이 일으키는 블록체인 서비스 제공자들이 블록생성자로 선출되고 인센티브(트랜잭션 수수료 수익)를 얻을 수 있는 합리적이고 공정한 블록체인 합의 매커니즘입니다.

유연한 블록체인 거버넌스 구축

InfraBlockchain 소프트웨어는 블록체인 거버넌스를 담당하는 시스템 컨트랙트를 블록체인 코어와 분리하여 하드포크 없이 업그레이드 가능한 스마트컨트랙트 코드로 구현할 수 있는 구조를 제공합니다. 다양한 형태의 거버넌스 구조를 가지는 블록체인 네트워크들을 InfraBlockchain을 이용하여 원하는 방식으로 구축할 수 있으며, 운영 중인 블록체인 네트워크도 하드포크 없이 블록체인 거버넌스 구조를 안전하게 업그레이드할 수 있습니다. 기관 내부에서만 운용되는 완전 폐쇄형(Private) 블록체인, 컨소시엄 형태로 구성되는 퍼미션드(Permissioned) 블록체인, PoT 기반의 완전 공개형(Public) 블록체인, PoT 방식과 퍼미션드 방식을 결합하여 외부기관의 참여를 허용하는 하이브리드(Hybrid) 블록체인 등 다양한 방식의 블록체인 거버넌스 구조를 기업/정부기관/공공기관의 요구사항에 맞게 구축할 수 있습니다.

스마트 컨트랙트 기반 범용 금융 플랫폼

InfraBlockchain은 WebAssembly 가상머신 기반의 고성능 스마트 컨트랙트 코드 실행환경을 제공합니다. 범용 프로그래밍 언어(C/C++)를 이용하여 구축하고자 하는 블록체인 기반 서비스들을 스마트 컨트랙트로 프로그래밍하여 네트워크에 배포할 수 있습니다. InfraBlockchain 네트워크에서 신뢰기관들에 의해 발행되는 법정화폐기반 토큰들을 프로그래밍하여 다양한 금융 서비스들을 설계할 수 있습니다. 신뢰기관들이 운용하는 법정화폐 기반 블록체인 스마트컨트랙트 플랫폼은 (예: 지역화폐플랫폼, CBDC(중앙은행 디지털화폐) 등) 기존 금융 IT 인프라를 혁신할 수 있는 차세대 분산 금융 인프라로 사용될 수 있습니다.

실물 자산 담보 증권형 토큰 발행

신뢰기관들은 지급준비금(100% 또는 블록체인 생태계의 합의가 있다면 100% 미만 준비율 가능)을 통해 지급보증을 해주는 법정화폐 고정 스테이블 토큰을 InfraBlockchain에 발행하고 유통할 수 있습니다. 이와 비슷한 방식으로, 블록체인 생태계의 신뢰기관들은 비상장 회사 주식, 금/은과 같은 귀금속, 예술품, 부동산 토큰과 같은 프로그래밍 가능한 증권형 토큰들을 실물 자산을 담보로 발행하고 유통할 수 있습니다. InfraBlockchain에 탑재된 분산 토큰 거래소를 통해 법정화폐 토큰들과 페어로 거래할 수 있으며, 블록체인 기반 분산 금융 시스템의 기초 자산으로 활용될 수 있습니다.

관리 가능한 트랜잭션 수수료 모델

선출된 블록생성자들은 2/3 이상의 합의에 의해 트랜잭션 수수료 테이블을 업데이트하여 블록체인 액션 별(토큰 전송과 같은 모든 컨트랙트 액션) 법정화폐 수수료 비용을 관리할 수 있습니다. 또한, 트랜잭션 마다 트랜잭션 수수료 지불 계정을 별도로 지정하고 해당 계정의 서명도 함께 포함할 수 있습니다. 일반 사용자들의 블록체인 수수료를 서비스 제공자가 대신 지불하도록 할 수 있어 사용편의성을 높혀줍니다.

블록체인 계정 신원인증과 계정 복구

블록체인 네트워크에서 신뢰받는 신원인증 기관들은 블록생성자들로 부터 신원인증기관(Identity Authority)으로 지정되어 사용자 블록체인 계정들에 대해 W3C DID 표준과 호환되는 신원인증 프로세스를 수행합니다. 신원인증된 블록체인 계정을 소유한 사용자들 다양한 블록체인 기반 서비스들을 안전하고 손쉽게 사용할 수 있습니다. 사용자 계정의 프라이빗 키를 분실한 경우 신원인증기관을 통한 계정 복구 서비스도 지원됩니다.

익명성 보호 블록체인 트랜잭션 기술

모든 블록체인 트랜잭션은 모든 참여 노드들에게 공개되기 때문에 사용자 익명성 보호 기술이 필요합니다. InfraBlockchain은 익명 토큰 전송 기술을(one-time stealth address, group sig., zkp 등) 제공하여, 블록체인 서비스에 따라 선택적으로 사용자의 익명성 보호 블록체인 트랜잭션을 처리할 수 있도록 하여, 소액 송금이나 완전한 익명성을 구현하는 블록체인 기반 투표 시스템 등에 효과적으로 적용할 수 있습니다.

기술백서 다운로드

InfraBlockchain 기술백서

InfraBlockchain 공개 블록체인 네트워크

블록익스플로러 (센티넬 테스트넷)

InfraBlockchain 오픈소스 프로젝트
인프라블록체인 컨센서스/거버넌스

Proof-of-Transaction 합의방식과 거버넌스

* Transaction-as-a-Vote (TaaV) - InfraBlockchain은 모든 블록체인 트랜잭션 마다 블록생성자 후보에 대한 투표가 가능하도록 합니다. 트랜잭션 수수료로 사용된 금액에 비례한 가중치 투표로 처리됩니다. 예를들어, 투표서비스를 통해 실행된 트랜잭션에서 30원의 트랜잭션 수수료가 발생했다면, 해당 트랜잭션에서 투표대상으로 지정된 투표서비스 노드 계정에 30만큼의 가중치 투표가 집계됩니다. 트랜잭션 투표 대상은 블록체인 서비스 Dapp 소프트웨어에서 서비스가 원하는 계정으로 자동으로 설정되도록 구현하여 사용자가 매번 직접 투표를 하지는 않습니다.

* Proof-of-Transaction - 트랜잭션 투표(TaaV) 매커니즘을 통하여 블록체인 트랜잭션을 많이 일으키는 서비스는 자신이 운영하는 노드(또는 계약관계에 있는 다른 기관의 노드)가 블록생성자로 선출되도록 하여 블록체인 거버넌스에 참여할 수 있고 블록체인 상에서 발생하는 법정화폐 기반 트랜잭션 수수료 수익을 얻을 수 있습니다. 트랜잭션 투표는 실시간으로 집계되어 투표를 많이 받은 상위 노드들이 블록생성자들로 선출됩니다.

위 그림은 Proof-of-Transaction 방식으로 선출된 블록생성자들(민간 서비스 기업들)과 미리 지정된 신뢰 노드들(정부기관과 같은 신뢰 기관들)을 포함하는 퍼블릭/퍼미션드 하이브리드 방식으로 구성한 InfraBlockchain 노드 아키텍쳐 예를 보여줍니다. 신뢰기관을 중심으로 구축하는 블록체인 네트워크의 경우 미리 지정된 신뢰 노드들을 추가하여 네트워크의 안정성과 신뢰성을 높일수 있습니다. 완전 폐쇄형, 컨소시엄형, PoT기반 완전 공개형, 하이브리드 방식과 같은 다양한 구성와 유연한 거버넌스 구조를 프로그래밍한 InfraBlockchain 기반 블록체인 네트워크를 구축할 수 있습니다.

Delta Lake

delta lake 동영상 썸네일

Delta Lake는 데이터 레이크에서 안정성, 보안과 성능을 제공하는 오픈 형식 스토리지 계층입니다. 스트리밍 작업과 배치 작업 둘 다에 적합합니다. Delta Lake는 데이터 사일로를 구조적, 반구조적, 비구조적 데이터를 모두 담은 단 하나의 홈으로 대체하므로 비용 효율적이고 고도로 확장 가능한 레이크하우스의 기본 토대가 되어줍니다.

delta lake 아키텍처

양질의 안정적인 데이터

실시간 스트림까지 포함해 데이터 전체에 믿을 수 있는 단일 정보 출처(Single Source of Truth, SSOT)를 제공하므로 데이터 팀이 항상 최신 데이터를 다루도록 보장됩니다. Delta Lake는 ACID 트랜잭션과 스키마 적용을 지원하여 기존 데이터 레이크에 미흡했던 안정성을 제공합니다. 이 때문에 전사적으로 믿을 수 있는 데이터 인사이트를 확장하고, 데이터 레이크에서 직접 분석 및 여타 데이터 프로젝트를 실행하면서도 인사이트 도출 시간을 최대 50배나 단축할 수 있습니다.

안전한 오픈 데이터 공유

Delta Sharing은 안전한 데이터 공유를 위한 업계 최초의 오픈 프로토콜로, 데이터 위치에 구애받지 않고 다른 조직과 간편하게 데이터를 공유할 수 있게 해줍니다. Unity Catalog와 기본적으로 통합되기 때문에 전사적으로 공유 데이터를 중앙에서 관리하고 감사할 수 있습니다. 이렇게 하면 공급자, 협력업체와 신뢰를 바탕으로 데이터 자산을 공유할 수 있어 비즈니스 조율에 도움이 되고, 동시에 보안과 규정 준수 요구 사항에도 부합할 수 있습니다. 주요 툴, 플랫폼과 통합되므로 사용자가 선택한 툴에서 공유 데이터를 시각화, 쿼리, 보강하고 관리할 수 있습니다.

Delta Sharing 프로토콜

Delta Lake 초고속 성능 막대형 차트

초고속 성능

Delta Lake는 Apache Spark™ 기반으로, 뛰어난 확장성과 속도를 제공합니다. 또한 인덱싱과 같은 성능 기능을 염두에 두고 최적화하였기 때문에 Delta Lake를 이용해본 고객은 최대 48%까지 ETL 워크로드 실행 속도가 빨라지는 효과를 체험했습니다.

오픈, 애자일

Delta Lake 내 모든 데이터는 오픈 Apache Parquet 형식으로 저장되므로, 호환되는 리더라면 무엇이든 종류와 관계없이 데이터를 읽을 수 있습니다. API도 오픈 형식이고 Apache Spark와 호환됩니다. Databricks의 Delta Lake를 이용하면 광범위한 오픈 소스 에코 시스템으로 액세스할 수 있으므로 특정 벤더의 데이터 포멧에 락인(lock-in)되는 문제를 방지할 수 있습니다.

Delta Lake + The Linux Foundation 로고

자동화되고 신뢰할 수 있는
데이터 엔지니어링

Delta Live Table과 함께라면 데이터 엔지니어링이 간단해집니다. Delta Lake에서 최신 고품질 데이터에 적합한 데이터 파이프라인을 빌드하여 관리할 손쉬운 방법을 소개합니다.이 테이블은 선언적 파이프라인 개발, 데이터 안정성 개선 및 클라우드 규모 프로덕션 작업을 통해 레이크하우스의 기초를 구축하도록 도와 ETL 개발과 관리를 간소화하여 데이터 엔지니어링 팀에 큰 도움이 되어줍니다.

대규모 보안 및 거버넌스

Delta Lake는 데이터 거버넌스, 기능에 세분화된 액세스 관리를 활용하여 리스크를 줄입니다. 이것은 보통 데이터 레이크로는 불가능한 일입니다.
데이터 레이크에 보관된 데이터를 빠르고 정확하게 업데이트하여 GDPR과 같은 규제를 준수할 수 있고, 감사 로깅을 통해 개선된 데이터 거버넌스를 유지관리할 수 있습니다. 이러한 기능은 Databricks에서 레이크하우스용 최초의 멀티클라우드 데이터 카탈로그인 Unity Catalog의 일부분으로 기본 통합 및 강화됩니다.

delta lake 파이프라인

사용 사례

기존 데이터를 활용한 BI

데이터 레이크에서 직접 비즈니스 워크로드를 실행하여 비즈니스에 즉각적인 인사이트를 얻을 수 있도록 최신 실시간 데이터를 데이터 애널리스트가 쿼리할 수 있는 상태로, 바로 이용할 수 있게 제공합니다. Delta Lake를 사용하면 데이터 레이크 수준의 비용으로 데이터 웨어하우징 성능을 제공하는 멀티클라우드 레이크하우스 아키텍처를 운영해 기존 클라우드 데이터 웨어하우스 대비 최대 6배 더 나은 가격/성능으로 SQL 워크로드를 처리할 수 있습니다.

배치와 스트리밍 통합

간결한 단일 아키텍처에서 배치와 스트리밍 작업을 모두 실행함으로써 복잡하고 중복된 시스템과 운영상의 문제를 피할 수 있습니다. Delta Lake의 경우 테이블 하나가 배치 테이블과 스트리밍 소스 및 싱크를 겸합니다. 스트리밍 데이터 수집, 과거 백필(backfill)) 배치 처리와 대화형 쿼리 모두 바로 사용할 수 있으며 Spark Structured Streaming과 직접 통합됩니다.

규제 요구사항에 부합

Delta Lake는 형식이 잘못된 데이터 수집 문제를 없애고 트랜잭션 비용 규제 준수를 위한 데이터 삭제의 어려움을 완화하며 변경 데이터 캡처를 위한 데이터 수정 문제도 없애줍니다. Delta Lake는 데이터 레이크에서 ACID 트랜잭션을 지원하여 모든 작업이 완전히 성공하거나 나중에 다시 시도할 수 있게 완전히 중단되도록 보장합니다.이를 위해 데이터 파이프라인을 새로 만들 필요도 없습니다. 또한 Delta lake는 데이터 레이크에 과거 트랜잭션을 모두 기록하므로 GDPR과 CCPA 등의 규정 준수 표준에 안정적으로 부합하기 위해 데이터의 기존 버전에 액세스하여 이를 활용하기도 간편합니다.


0 개 댓글

답장을 남겨주세요