본문 바로가기

■ 산업/블록체인

[징둥JD] 京东JD 징둥 블록체인 백서 번역 -4

京东区块链(징둥 블록체인) 

http://ledger.jd.com/


*의역이나 오역이 있을 수 있다 


4. 京东区块链的特点 징둥 블록체인의 특징


  京东区块链项目的目标是建立一种适用于广泛应用场景、满足企业应用需求、开放和易用的区块链技术体系和系统服务平台。在京东区块链研发和应用的过程中,我们始终关注性能、功能、安全、合约、合规五个方面,并在这五个方面着重开展区块链技术能力的优化。

징둥 블록체인 프로젝트의 목표는 기업 활용 요구를 만족하고, 블록체인 기술 시스템과 시스템 서비스 플랫폼의 개방과 용이한 광범위한 활용 상황을 구축하는 것이다. 징둥 블록체인 개발과 활용 과정에서, 우리는 늘 성능, 기능, 안전, 계약, 합법 이 다섯 가지 방면을 주목하며, 이 기술 능력의 최적화를 중점으로 개발한다. 



4.1. 性能 성능

  • 采用优化的 BFT 共识协议和P2P 通讯,支持多链并行共识;최적화된 BFT 합의 프로토콜과 P2P 통신을 사용하며, 다중 체인 합의 병행 지지;

  我们采用改进的 BFT 算法,支持动态的调整网络拓扑,实现节点动态加入及主动退出。同时用户还可以根据自身需求选用性能更好的非拜占庭共识协议(例如Raft),以提高整个区块链的运行效率。为了应对多样化的业务场景、满足信息安全需求、提升业务吞吐量,京东区块链支持多链架构。不相关的业务运行在多条并行的区块链上,这为我们提供了针对业务的线性扩展能力。对于多条链之间的互操作我们采取了中继链的模式,参与各方向中继链节点提交提案,结果经共识后得以确认。

우리는 개선된 BFT 알고리즘을 선택하여, 동적인 조정 네트워크의 토플로지(topology)를 지지하며, 노드의 동적 가입 및 주동적 탈퇴를 실현한다. 이와 동시에 사용자는 자신의 수요에 따라 성능이 더 좋은 비잔틴의 합의 프로토콜(ex. Raft)를 사용할 수 있으며, 전체 블록체인의 운행 효율을 높일 수 있다. 다양한 업무 상황, 정보 안전 수요의 만족, 업무 스루풋(through put) 상승에 대응하여, 징둥 블록체인은 다(多)체인 프레임을 지지한다. 여러 개의 병행된 블록체인 위에서 운행되는 관련 없는 업무는 우리에게 업무의 선형 확장 능력을 제공한다. 여러 체인 간의 상호 조작에 대해 우리는 트렁크링크(trunk link) 형식을 채택하고, 각 참여자는 트렁크링크 노드를 제안서에 제출하여 합의후의 확인으로 최종 결과를 받을 수 있다. 

그림 다체인 병행 합의 예시




  • 采用微服务处理架构,支持横向伸缩、动态扩容,实现海量交易处理与数据存储; 마이크로 서비스 처리 아키텍처를 사용하며, 수평적 확장과 동적 용량을 지지하고, 대용량 거래 처리와 데이터 저장을 실현; 

  通过测试、分析发现系统处理海量交易时,共识节点中密码模块与合约模块存在性能瓶颈。为了减轻这方面问题的影响,将密码模块、合约模块拆分为单独的无状态的微服务,以便在处理海量交易时有针对性的对密码、合约微服务进行横向扩容。

  随着处理数据的增多,K-V数据库的性能也会逐渐降低,并且趋势愈加明显。为了解决这个问题将共识节点中的K-V存储模块抽象为微服务,并在API网关实现基于一致性HASH算法实现存储动态路由与新增节点数据同步功能。

테스트, 분석을 통해 시스템이 대용량 거래를 처리할 때, 합의 노드 중 비밀번호 모듈과 계약 모듈에 성능 장애가 존재하는 것을 발견했다. 이 문제의 영향을 줄이기 위해, 비밀번호 모듈, 계약 모듈을 단독의 무(無)상태 마이크로 서비스로 분리하여, 대용량 거래를 처리할 때, 비밀번호, 계약 마이크로 서비스의 수평적 확장 진행을 타깃한다. 

데이터 처리가 증가하면서, K-V 데이터베이스의 성능도 점점 떨어질 뿐만 아니라, 현저히 떨어지는 것을 볼 수 있었다. 이 문제를 해결하기 위해, 합의 노드 중의 K-V 메모리 모듈을 마이크로 서비스로 추상(抽象)하고, API 게이트웨이에서 일치하는 HASH 알고리즘에 기초한 메모리 동적 경로 설정법(dynamic routing)과 새 노드 증가 데이터의 동시 작용을 실현한다. 



微服务治理采用京东成熟的服务治理框架。

마이크로 서비스 관리는 징둥의 숙련된 서비스 관리 프레임을 사용한다. 

그림 노드 확장(마이크로 서비스)

  • 采用灵活的数据存储结构,支持冷热数据分离;
  • 支持节点动态加入和退出,实现系统的高可用性,保证业务不间断运行。
  • 원활한 데이터 저장 구조를 선택하여, hot, cold 데이터의 분리를 지지한다;
  • 동적 노드의 가입과 퇴출을 지지하고, 시스템의 고가용성을 실현하고 업무의 스트레이트 운행을 보증한다. 


4.2. 功能 기능

  • 支持用户实名与认证;
  • 支持企业数据治理;
  • 支持事件驱动的业务协作模型;
  • 사용자의 실명과 인증을 지지;
  • 기업 데이터 관리 지지;
  • 이벤트 중심의 업무 협조 모델 지지; 


  京东区块链采用通用事件驱动模型框架。目前已接入AKKA的Actor模型,对并发模型进行了更高的抽象。采用轻量级事务处理,从事件层面实现细粒度的组件复用。

  采用消息队列+缓存的方式,及时消纳业务处理中的异常情况,并采用多种监控机制,及时响应异常业务。

징둥 블록체인은 보통 이벤트 중심의 모델 프레임을 채택한다. 현재 AKKA의 Actor 모델로 접속하며, 동시 모델에 대해 더 높은 추상을 더했다. 가벼운 사무 처리를 선택해, 사건 방면에서 미세한 입자의 모듈 다중화(multiplexing)를 실현한다. 

메시지 대기열(message queue)+캐시 방식으로 업무 중 이상한 것을 실시간으로 처리하고, 각종 모니터링 체제를 통해 이상 업무에 대해 즉각적으로 반응한다. 


그림 이벤트 중심의 업무 협력 모델 지원

  • 支持多账本以实现按业务维度管理链上数据。

  • 업무 차원 관리 체인의 데이터를 실현하기 위해 다(多)장부를 지지한다. 



4.3. 安全 안전

  • 可插拔的密码算法,可以灵活的制定相应的密码体系;
  • 平台默认实现多套密码算法,包括国密算法和硬件加密设备。
  • 삽입 가능한 암호 알고리즘, 활용 가능한 제도와 대응되는 암호 시스템;
  • 플랫폼은 국가 암호 알고리즘과 하드웨어 암호화 장치를 포함한 여러 암호 알고리즘의 실현을 묵인한다.



4.4. 合约 계약

  • 支持可复用的智能合约;
  • 支持智能合约语言的调试功能。
  • 다중 스마트 컨트랙트 제공;
  • 스마트 컨트랙트 언어의 디버그 기능 제공.



4.5. 合规 합법

  • 支持基于CA 的账户认证;
  • 支持监管节点的接入;
  • 支持数据备案。
  • CA 계정에 기초한 인증 제공;
  • 감사 노드의 접근 제공;
  • 데이터 기록 제공.