CN109874409B - 区块链分发网络 - Google Patents
区块链分发网络 Download PDFInfo
- Publication number
- CN109874409B CN109874409B CN201880002618.8A CN201880002618A CN109874409B CN 109874409 B CN109874409 B CN 109874409B CN 201880002618 A CN201880002618 A CN 201880002618A CN 109874409 B CN109874409 B CN 109874409B
- Authority
- CN
- China
- Prior art keywords
- blockchain
- transceiver
- peer
- block
- bytes
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
区块链分发网络中的服务器包括处理器和可操作地联接到所述处理器的收发器。该收发器被配置为从第一对等节点接收交易的字节。该收发器还被配置为将交易的字节传播到区块链分发网络中的一个或多个另外的对等节点以及一个或多个另外的服务器。该收发器还被配置为从第二对等节点接收区块链的字节。该区块链包括关于多个交易的信息,并且该多个交易包括所述交易。该收发器还被配置为将区块链的字节传播到区块链分发网络中的一个或多个另外的对等节点以及一个或多个另外的服务器。
Description
相关申请的交叉参考
本申请要求于2017年9月12日提交的美国临时专利申请No.62/557,330的优先权,其全部公开内容通过引用结合于此。
背景技术
区块链网络指的是可用于便于各方之间的交易的分布式系统。典型的区块链网络缺乏集中式管理,而是依赖于参与者的全局对等(p2p)网络的中介。区块链包括记录交易历史的不可更改的共享分类帐。由于区块链分类帐是不可更改的,并且可供给定交易的所有相关方使用,因此欺诈交易和错误分类帐的可能性降低。使用区块链还可以消除企业担心需要协调的不同分类账的必要。
发明内容
区块链分发网络中的示例性服务器包括处理器和可操作地联接到所述处理器的收发器。该收发器被配置为从第一对等节点接收交易的字节。该收发器还被配置为将交易的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。该收发器还被配置为从第二对等节点接收区块链的字节。该区块链包括关于多个交易的信息,并且多个交易包括所述交易。该收发器还被配置为将所述区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
在区块链分发网络中传播数据的示例性方法包括:由服务器的收发器从第一对等节点接收交易的字节。该方法还包括由收发器将所述交易的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。该方法还包括:由收发器从第二对等节点接收区块链的字节,其中所述区块链包括关于多个交易的信息,并且所述多个交易包括所述交易。该方法还包括由收发器将所述区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
区块链分发网络中的示例性服务器包括处理器和可操作地联接到所述处理器的收发器。该收发器被配置为从对等节点接收交易。处理器被配置为向所述交易分配交易标识符。该收发器被配置为将交易标识符传播到区块链分发网络中的一个或多个另外的对等节点和一个或多个另外的服务器。该收发器被配置为接收表示多个交易的区块链的字节。该区块链包括与所述交易相对应的交易标识符。该收发器还被配置为将所述区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
在区块链分发网络中传播数据的示例性方法包括:由区块链分发网络中的服务器的收发器从对等节点接收交易。该方法还包括由可操作地联接到所述收发器的处理器向所述交易分配交易标识符。该方法还包括通过收发器传播所述交易标识符到所述区块链分发网络中的一个或多个另外的对等节点和一个或多个另外的服务器。该方法还包括由所述收发器接收表示多个交易的区块链的字节,其中所述区块链包括与所述交易相对应的交易标识符。该方法还包括由收发器将所述区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
在区块链分发网络的示例性服务器包括处理器和可操作地联接到所述处理器的收发器。该收发器被配置为从对等网络中的对等节点接收加密区块链的字节,其中所述服务器不能基于所接收到的字节来识别生成加密区块链的源节点。该收发器还被配置为将加密区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
在区块链分发网络中传播信息的示例性方法包括:由该区块链分发网络中的服务器的收发器从在对等网络的对等节点接收加密区块链的字节。该服务器不能基于所接收到的字节识别生成加密区块链的源节点。该方法还包括由收发器将加密区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
在区块链分发网络的示例性对等节点包括处理器和可操作地联接到所述处理器的收发器。该处理器被配置为生成包括关于多个交易的信息的区块链。该处理器还配置为加密区块链。该收发器被配置为将加密区块链的字节传播到与区块链分发网络的服务器通信的第二对等节点。
在区块链分发网络中的示例性对等节点包括处理器和可操作地联接到所述处理器的收发器。该处理器被配置为生成加密测试区块。该加密测试区块与区块链分发网络中的加密区块链不可区分。该收发器被配置为将加密测试区块发送到服务器以在整个区块链分发网络中分发。该收发器还被配置为从区块链分发网络中的第二对等节点接收消息,其中所述该消息指示第二对等节点接收到加密测试区块。
在区块链分发网络中对等网络通信的示例性方法包括:由第一对等节点的处理器生成加密测试区块,其中所述加密测试区块与所述区块链分发网络中的加密区块链不可区分。该方法还包括由所述第一对等设备的收发器发送加密测试区块到服务器以在整个区块链分发网络分发。该方法进一步包括由所述收发器从所述区块链分发网络中的第二对等节点接收消息。该消息指示第二对等节点接收到加密测试区块。
用于区块链分发网络的示例性系统包括多个对等网络节点和与所述多个对等网络节点中的至少一部分通信的多个中央服务器。所述多个对等节点包括第一对等节点和第二对等节点,并且所述多个中央服务器包括第一中央服务器。第一对等节点包括第一收发器,其被配置为将所述区块链发送到第二对等节点。第二对等节点包括第二收发器,其被配置为将所述区块链中继到第一中央服务器,使得第一中央服务器不能识别所述区块链的来源。
在区块链分发网络中进行通信的示例性方法包括:由第一对等节点的处理器生成区块链,其中所述区块链包括关于多个交易的信息。该方法还包括由第一对等节点的第一收发器将所述区块链发送到第二对等节点。该方法还包括由第二对等节点的第二收发器将所述区块链中继到中央服务器,使得第一中央服务器不能识别所述区块链的来源。
用于在区块链分发网络中实现支付的示例性系统包括第一对等节点,该第一对等节点包括第一处理器,该第一处理器被配置为生成包括关于多个交易的信息的区块链。所述多个交易包括多个费用交易,每个费用交易都导致向区块链分发网络支付。对于多个费用交易中的每一个,第一处理器被配置为生成支付细节以便于向区块链分发网络支付。第一处理器还被配置为将支付细节与多个费用交易中的每一个相关联。第一对等节点还包括第一收发器,其可操作地联接到第一处理器并且被配置为发送区块链以在整个区块链分发网络中分发。
用于在区块链分发网络中实现支付的示例性方法包括由第一对等节点的第一处理器生成包括关于多个交易的信息的区块链。所述多个交易包括多个费用交易,每个交易都导致向区块链分发网络支付。该方法还包括由第一处理器为多个费用交易中的每一个生成支付细节以便于向区块链分发网络支付。该方法还包括由第一处理器将支付细节与多个费用交易中的每一个相关联。该方法还包括由可操作地联接到第一处理器的第一对等节点的第一收发器发送区块链以在整个区块链分发网络中分发。
在区块链分发网络中的示例性对等节点包括:被配置为生成区块链的处理器,其中所述区块链包括关于多个交易信息。该处理器还被配置为确定区块链分发网络的一个或多个中央服务器正在关于区块链发送而区分对等节点。该处理器还被配置为至少部分地基于正在区分对等节点的判定来确定将哨兵网络中的一个或多个服务器而不是一个或多个中央服务器用于区块链发送。对等节点还包括收发器,其可操作地联接到所述处理器并且被配置为通过所述哨兵网络发送区块链。
在区块链分发网络中进行通信的示例性方法包括由对等节点的处理器生成区块链,其中所述区块链包括关于多个交易的信息。该方法还包括由处理器确定区块链分发网络的一个或多个中央服务器正在关于区块链发送而区分对等节点。该方法还包括由处理器至少部分地基于正在区分对等节点的判定来确定将哨兵网络中的一个或多个服务器而不是一个或多个中央服务器用于区块链发送。该方法还包括由可操作地联接到所述处理器的收发器通过所述哨兵网络发送区块链。
对于本领域技术人员,根据对下面的附图、详细描述以及所附权利要求的理解,本发明的其他主要特征和优点将变得显而易见。
附图说明
本发明的示例性实施例将在下文参考附图进行描述,其中所述相同的附图标记表示相同的元素。
图1是描绘根据示例性实施例的区块链分发网络中的服务器的框图。
图2是描绘在根据一个示例性实施例的区块链分发网络中系统服务器和对等节点之间的相互作用的示意图。
图3描绘了通过根据示例性实施例的系统的区块传播。
图4描绘了根据示例性实施例的在区块链分发网络中加密和非加密区块传播。
图5描绘了包括根据示例性实施例的中继节点加密区块传播的区块传播过程。
具体实施方式
区块链是纯粹的分布式系统,其缺乏集中式管理,而是依赖于参与者的全局对等(p2p)网络的中介。虽然这种设计在许多领域带来了重大机遇和破坏性潜力,但它也是现有区块链网络中关键问题(即可扩展性)的根源。作为示例,称为比特币的众所周知的区块链具有比集中式对应物(例如主要信用卡运营商网络)小3-4个数量级的吞吐量。本文描述的是一种允许经由集中管理式网络基础设施获得的区块链可扩展性的系统。所描述的系统还允许完全分散对该区块链中的交易的控制,经由集中管理式网络的中立和可审计设计来实现。
更具体地,本文所描述的系统是区块链分发网络(BDN),其传播代表现有对等网络区块链节点的交易和区块。已经证明了本系统增加区块链吞吐量大约一千倍而不会影响区块链的功能或当前系统参与者之间的权力平衡。该系统部分地通过将中立网络设计提升为系统的第一优先级来实现。本文所描述的系统是第一个组合传统p2p和集中管理式BDN的系统,其中所述p2p网络用于审计BDN并评估其中立性。该系统还与协议无关并且被设计成同时支持多种区块链。
因为所提出的系统传播来自未知来源的加密数据,这防止了系统的歧视和审查,所以本文描述的系统可以信赖于扩展区块链系统。所提出的系统是第一个在网络中传播之前加密区块的区块链分发系统。所提出的系统也是第一个在区块链网络内传播密钥的系统。密钥由两个系统服务器并行传播,并直接在p2p网络中的对等方之间传播。另外,密钥仅在它们对应的区块已经在网络中传播之后传播,这使得网络拒绝它们为时已晚。所提出的系统也是第一个允许发送测试区块以查看它们是否通过网络传播的区块链网络。如下面更详细地讨论的那样,该测试区块允许对等节点监视系统。
本系统也是第一个允许通过对等方中继加密区块到集中式系统以隐藏内容和区块来源两者从而有助于防止歧视的系统。本系统也是第一个组合p2p网络和集中式系统以使得对等方可以审计集中式系统的行为的系统。本系统也是第一个使用集中式系统为每个交易(大约550字节)提供短ID或交易标识符(尺寸为大约2-3个字节)的系统。通过传播包含与交易对应的短ID的区块,而不是交易本身,每个区块中的实际数据量显著减少。为区块接收方提供使它们能够从短ID转换回交易的信息。所提出的系统也是第一个同时支持多种区块链系统的系统。本系统还是第一个提出每个交易将包括付给集中式系统的费用的系统,并且还是第一个使用对等方来验证费用实际支付给集中式系统的系统。下面更详细地描述这些独特的特征和属性。
以下是现有区块链分发系统和它们的一些局限性的讨论。比特币是第一个区块链系统,也是第一个在全局范围内获得巨大吸引力的加密货币,市值超过500亿美元。比特币的一个独特特征是缺乏集中式管理。相反,比特币依赖于具有全局p2p网络参与者形式的第三方中介,其验证和认证所有交易。鉴于区块链的纯粹分布式和分散式设计,人们认为像比特币这样的系统在加密货币之外的许多其他领域具有破坏性的潜力,这些领域包括医疗保健业、政府部门、制造业、零售业、保险业、物联网(IoT)、共享经济领域等。
区块链的主要问题是可扩展性,其根本上被分布式系统设计和底层P2P网络模型的局限性所阻碍,下面将更详细地讨论。特别地,区块链系统吞吐量根据系统可以支持的每秒交易数(TPS)来度量。目前,比特币已达到其平均吞吐量为2.67TPS的容量。与诸如Visa之类的集中式系统相比较,它们的平均吞吐量却是2,000TPS,每日峰值约为4,000TPS,峰值容量为56,000TPS。如果没有可扩展性,加密货币系统就不能成为主流,而区块链不太可能在其他领域(例如上面提到的那些领域)实现其破坏性潜力。
在其核心,比特币是一个分布式系统,该系统允许其用户保持余额并进行比特币即货币交易,并且维护所有交易的单一分布式分类账。交易不会单独添加到分类帐,而是分批添加,称为区块。结果是一区块链,其包含所有比特币交易的整个历史记录,称为区块链。
为了了解比特币交易如何创建和如何维护区块链,假设用户A正在从另一个用户B处购买物品,并希望以比特币来支付费用。每个用户控制一个钱包,该钱包是一个简单私钥和公钥对。为了支付用户B,用户A在本地创建一个新的交易,其从她的公钥,也被称为她的地址,传递一定数量的比特币给用户B的地址。用户A使用她的私钥签署该交易。然后,用户A将该交易传播给所有其他比特币用户。比特币网络包含所有比特币用户,是一个p2p网络。接收到该交易的每个比特币用户(也称为节点或对等方)验证:(i)所有支付比特币到用户A的地址的交易,减去从她的地址花费的金额,留下大于或等于交易花费的余额;以及(ii)交易包含需要知道待创建的用户A的私钥的签名。如果这两个条件成立,则该交易被视为有效,并且接收到该交易的用户将其传播给它们的对等方。值得注意的是,单个实体可以控制任意数量的钱包,并且每个钱包可以控制任意数量的公钥。
除了常规的比特币用户,比特币网络中的一些节点试图汇总它们接收到交易到新区块,这些新区块将被添加到区块链中。该区块链中只有一次交易被认为已经发生,而等待被包括的交易则没有发生。这样的节点称为矿机,尝试创建新区块的过程称为挖掘。挖掘有两种货币激励措施。首先,每个区块包含一个唯一交易,即coinbase交易,它会传递一定数量的比特币到矿机的地址。该区块的coinbase交易也提供了比特币的供应,因为它创建了比特币。每个区块中产生的比特币数量随着时间的推移呈指数级下降,将总供应量限制在约2100万个比特币。其次,每个比特币交易可以将费用携带给成功将其包含在一个区块中的任何矿机,并激励矿机以最高费用包括该交易,因为包括在每区块交易的数量是有限的。
为了挖掘新区块,矿机使用双SHA-256散列函数散列待包括在所述区块中的所有交易。除了交易之外,矿机还会散列时间戳、前一个区块散列的结果以及任意二进制值(称为随机数)。对于待创建新区块,即为了成功挖掘,散列的结果必须非常小。因此,矿机们毫无遗漏地尝试不同的随机数值,试图找到一个产生足够小值的随机数。确切的目标值随时间变化,以便根据区块的时间戳维护每10分钟一个区块的平均值。
一旦发现新区块,就将其以类似于交易的方式传播到整个比特币网络(即它在其传播之前由每个节点验证)。成功的矿机传播其区块,包括随机数,是安全的,因为随机数只为新挖掘的区块产生足够小的值,而不对其进行任何更改。不诚实的用户不能利用随机数创建例如具有将比特币传递到不诚实节点的钱包的coinbase交易的替代区块。这样的改变将导致区块的散列产生不同的值,并且随机数具有与用于产生小于目标的值的任何其他任意值相同的概率。
区块链安全的一个关键方面是,每个区块的散列还包括从散列它前面的区块所得的值。这种包含的直接结果是,任何试图更改交易历史(即交易某些先前区块中的包含、排除或更改)的攻击者,都将改变其散列产生的值。这将反过来影响所有相继区块的散列值,并且几乎肯定使每个区块都无效。为了成功进行这样的更改,攻击者必须为每个区块顺序地找到新的随机数。而且,攻击者必须以比所有其他矿机扩展原始区块链的速度更高的速度这样做。因此,为了使这样的攻击成功,攻击者必须控制比特币系统中的大部分散列能力。已经证明,控制小于50%的散列能力的实体可以获得不公平的优势,因此最终可以淘汰较小的矿机并获得大部分散列能力。然而,基于区块散列的上述安全原语将比特币和区块链系统与先前的分散系统区分开。
比特币(一般是区块链系统)的一个独特特点是,其以分布方式通过定义需要最多计算来产生的区块链作为“真”区块链,克服将交易历史的不一致视图的固有能力。为了证明这种能力,考虑两个矿机碰巧几乎在同一时间成功挖掘出一个新区块。这两个区块彼此不同,因为它们将包含不同的coinbase交易,使用不同的随机数,并且每个区块中包含的交易很可能不相同。一旦挖掘出两个区块,它们就会并行传播到整个比特币网络,从而导致网络的某些部分认为发生了一个交易历史,而其他部分则认为发生了稍微不同版本的交易历史。存在两个或多个同等有效的区块链版本的这种情况称为分叉。虽然分叉未得到解决,但是关于发生了哪些交易存在一些模糊性。
一旦挖掘出新区块分叉就得到了解决,因为它会导致分叉的一个叉齿变得比其他叉齿长,这又反过来激励矿机放弃较短的叉齿,并试图越过最长区块链进行挖掘,因为在较短的叉齿上获得的任何奖励很可能被孤立(即丢弃)。因此,由于矿机的自私利益,比特币系统会聚到最长区块链。可能很少会在几乎同一时间为分叉的两个叉齿挖掘区块,这使得分叉保持未得到解决,直到一个叉齿变成比其他叉齿更长为止。
由于分叉的可能性,有可能交易包括在区块中,但如果区块被孤立则该交易不包括在区块链。随着在其上挖掘出更多区块,区块被孤立的概率呈指数减小,这与在几乎同一时间在分叉的两个叉齿上挖掘出两个区块的概率直接相关。因此,交易被认为更安全,因为在包含它们的区块之上挖掘出了另外的区块。
如上文所概述的比特币模型既不依赖于任何集中式实体来跟踪余额或执行交易,任何单一实体也不可能撤消交易,没收比特币,或以任何方式更改区块链而不控制大部分的散列能力。要代表用户强制执行新交易,将要求此类实体打乱SHA-256散列。因此,比特币被认为是一个无信任系统,因为用户不依赖于任何中央实体来代表其执行任何行动,或者为其提供它依赖的任何信息,例如钱包余额。
在如其他加密货币和区块链系统中那样的比特币的情况下,系统吞吐量由它支持的每秒交易数量(TPS)来度量。由于比特币网络每10分钟平均产生一个1MB区块,而且平均交易尺寸为544字节,所以比特币系统平均每10分钟处理1764个交易,或2.94TPS。相比之下,如上所述,Visa平均执行2000TPS,平均每日峰值为4000TPS,并且可以支持高达56,000TPS。此外,加密货币旨在实现非常小额(微支付)的低费用交易,预计这将涉及比Visa、MasterCard和Paypal组合更高的吞吐量。
比特币系统的吞吐量直接取决于两个参数:区块尺寸(B),即,它可以包含在每个区块中的交易的字节数;以及区块间时间间隔(tB),其是系统挖掘新区块所必需的平均时间。如以上所指出的,在比特币中,B=1MB,而tB=600秒,这允许2.94TPS。为了提高比特币的吞吐量,可以增加B来包括更多交易,并且减小tB以便以更高速率挖掘区块。然而,如下所述,这些参数也严重影响系统的分散性、可用性和安全性。
传统的区块链(如比特币)不容易扩展。发明人已经确定区块传播时间是这种区块链系统中吞吐量的限制因素。发明人还确定增加系统吞吐量会对区块传播时间产生负面影响,这反过来又降低了区块链系统的安全性和可用性。
如果新挖掘出的区块被瞬时传播到整个比特币网络,其有可能使用在更短的时间间隔tB挖掘出的较大区块B处理数千TPS,因为已经证明了现代处理器可以支持数千TPS,而磁盘I/O可以支持数十万TPS。相比之下,比特币的组网方面通常受到更多限制。虽然已经证明p2p协议能够在对等方(例如,Bittorrent)之间快速传播数据,但比特币和其他区块链系统与传统的p2p网络不同,需要将所有区块连续传送到所有对等方。
与传统的P2P系统不同,分布式拒绝服务(DDoS)攻击盛行于区块链系统,并且用于在挖掘、投票等业务相关和协议相关活动中获得优势。为了防止恶意节点使用无效区块泛滥网络,节点使用存储转发传播模型,其中所述每个节点必须首先下载并验证每个区块,然后再将其传播到其对等方。该模型允许节点识别传播无效区块的任何节点为恶意节点,并限制此类攻击对直接受到攻击的节点的影响。
区块传播时间直接影响区块链的安全性和可用性,因为它限定了其中发生分叉的时间窗口。随着这个时间窗口的尺寸增加,分叉的概率以相似的倍数增加。考虑比特币挖掘,其遵循指数分布(其均值为600秒(tB=600)并且网络的区块传播多达90%(t90 th)为区块传播时间),挖掘出新区块时发生分叉的概率近似:
因此,以发生分叉的概率在例如t90 th=0.9、9和90秒的情况下分别是0.1499%、1.489%和13.93%。
分叉概率的增加对于分叉持续几个区块的概率具有指数效应,从而在交易被认为安全之前需要挖掘更多区块。例如,当t90 th=9秒时,分叉持续6个区块的概率几乎是t90 th=0.9秒时的1,000,000倍。此外,为了匹配在t90 th=0.9秒的6次确认之后(即在其被包括在一区块之后已经挖掘出了5个区块之后)被孤立的交易的低概率,t90 th=9秒的交易必须具有10次确认。
区块传播时间也直接影响节点参与比特币网络中的能力,因为节点必须能够以比它们产生的速率更高的速率接收区块。如果没有实现这一点,节点就不能跟踪存储在区块链中的余额,因此不能确定交易和区块的有效性,实际上被从比特币网络中排除。为了允许90%的节点保留在网络中,网络的区块传播时间的90%必须小于区块间时间间隔,即t90 th<tB。
区块传播时间的另一个效应是矿机的盈利能力。一旦挖掘出一个新区块,那些尚未收到新区块的矿机的利润就会大大降低,因为它们挖掘的任何区块都会造成一个分叉并且很可能被孤立。区块被孤立的概率取决于它传播到网络的速率。因此,矿机的最佳利益是尽快接收区块,并尽可能快地传播自己的区块。大型挖掘作业(称为挖掘农场)在挖掘硬件和基础设施方面投入了大量资金,而它们对网络基础设施的投资比例较小,从而充分利用了规模经济效应。小型挖掘作业为实现相同的网络性能的投资比例较大,因此利润较低。由于比特币和其他区块链系统的安全性取决于挖掘的分散化,因此这种中央集权对它们的安全性构成负面影响。
在2017年,在比特币网络包括大约9000个节点(N=9,000时,其中所述大部分被连接到8-12个它们的对等方,对等方之间的中位延迟为大约110毫秒。在第50个百分位上,节点上传速率为56Mbps(bw50 th=56Mbps),而第10个和第1个百分位分别具有3.96Mbps和438Kbps的速率。因此,第50个、第10个和第1个百分位上的上传速率分别支持13,000,943和100TPS。值得注意的是,除了平均带宽超过100Mbps的低约束区域外,全局带宽测量显示下载速率超过上传速率1.85-5.81倍。
单独的比特币节点的带宽支持按数量级增加系统的吞吐量,而对等方之间的延迟不那么异常地高,从而构成障碍。然而,虽然单独的节点可以轻松支持更高的TPS,但比特币和其他区块链系统采用的分布式传播极大地限制了系统吞吐量。
如以上所讨论的,为了使比特币用作分散式系统,它必须允许节点以比产生区块的速率更高的速率接收区块。实际上,如果区块以比节点能够接收它们的速率更高的速率产生,则节点不能保持跟踪存储在区块链中的余额,不能确定交易和区块是否有效,并且实际上被从比特币网络排除。大多数网络的区块传播时间(t50 th)不仅仅取决于接收节点带宽。相反,它取决于网络拓扑、所有节点的带宽以及区块传播的方式。
区块通过系统传播花费的时间,以及该时间如何受区块尺寸(B)的影响,可以粗略地基于节点数量(N)和它们的中位带宽(bw50 th)进行近似。对于中位比特币节点,将单个1MB区块发送到单个对等方的时间(thop)大致为:
假设8个对等方,平均比特币节点将使用大约8thop来将区块传播到它的对等方,无论这样的传播是依次还是并行进行均如此。然而,依次传播允许节点的第一对等方在已过thop之后传播所接收到的区块,而并行传播将只允许对等方在8thop之后传播该区块。因此,为了在带宽有限时加速区块传播,节点理想地将区块依次传播而不是并行传播到它们的对等方。
使用依次传播,新挖掘出的区块在时间t=0时只有单个节点(即它的矿机)知道,在时间t=thop时有两个节点(即矿机和它的第一对等方)知道,而在时间t=2thop时有四个节点知道,并且在以下时间时网络中的大部分对等方都已经知道了:
虽然该近似值没有考虑网络拥塞、下载带宽、消息交换开销、延迟、分组丢失、节点的任意拓扑或交易传播所消耗的带宽,但它确实提供了关于区块传播时间(t50 th)的大概。
应当注意的是,虽然网络规模(N)在区块传播时间(t50 th)上的影响是对数的,但区块尺寸(B)的影响是线性的。例如,通过将区块尺寸增加到B=10MB来将系统TPS增加10倍将以相同倍数增加中位节点将区块发送到单个对等方所需要的时间到 反过来,这将以相同倍数将网络中的大部分对等方的区块传播时间增加到当区块尺寸(B)超过20KB时,也在各种研究中根据经验发现区块尺寸(B)对区块传播时间(t50 th)的线性效应。
增加区块尺寸(B)(即增加系统吞吐量、减少区块链安全性和节点排除率)的正面和负面效应与以相同倍数减少挖掘新区块所需要的平均时间(tB)的效应是对称的。例如,将区块尺寸(B)加倍会使系统吞吐量增加2倍,并且通过将区块间时间间隔(tB)减半实现相同的效果。类似地,将区块尺寸加倍将使区块传播时间(t90 th)几乎加倍,这反过来将使分叉的概率如下所示地加倍:
注意,将区块间时间间隔(tB)减半将具有相同的效果。此外,加倍包含网络中90%的节点,第90个百分位的区块传播时间必须小于区块间时间间隔(t90 th<tB)。将区块尺寸(B)加倍会使区块传播时间(t90 th)增加相似的倍数,这将与tB减半具有相同的效果。
虽然本文所描述的系统是旨在(即经由交易传播和索引、区块传播、中立和可审计BDN设计等)全面解决区块链扩展问题的第一个BDN,但已经将用于一部分节点(矿机)的高级区块传播部署在比特币网络的背景下。特别地,为了最大限度地减少长区块传播时间的负面影响,并且为了将较小的矿机与较大的挖掘农场放在同等条件下,部署了集中式比特币中继网络。
将要部署的第一个中继网络被称为比特币快速中继网络(BFRN),其使用世界各地的多个网关来中继区块以为矿机减少区块发送时间。BFRN侧重于利用低延迟连接来减少区块传播时间,这是无效路由和地理距离的结果。BFRN后来被快速因特网比特币中继引擎(FIBRE)取代,后者使用类似的架构,同时利用光纤线路和前向纠错(FEC)来进一步降低延迟和分组错误率。FIBRE的目标是最小化传播区块所需要的往返次数(RTT)的数量。
Falcon网络是另一种减少延迟的尝试。Falcon网络遵循与FIBRE类似的原则,但它也旨在通过避免在传播之前接收整个区块来进一步减少区块传播时间。相反,Falcon使用直通路由方案,其中所述到达中继网络的网关一旦到达就中继达到区块的开头字节,而不是等待整个区块到达。
虽然FIBRE和Falcon提供有效服务到比特币网,但比特币系统不能依靠它们来在不使它自己经历它们的控制并且不没收比特币网络的独特分散性的情况下实现更高的吞吐量。中继网络的管理员可以拒绝包含特定地址的区块,因此可以审查并限制区块链的使用。中继网络的管理员还可以避免从或向特定矿机中继区块,并且仅服务于一部分矿机,从而为它们提供超过其成比例的计算能力的影响,因而打乱了区块链的安全模型。中继网络管理员的行为可能是恶意的、自私的,或者受到国家和国际法律的约束。
BFRN、FIBRE和Falcon的部署已经对区块传播时间存在显著影响,从而将其从1-2分钟减少到几秒钟。不幸的是,这种改善阻止了任何不使用中继网络的真实世界区块传播测量。因此,发明人侧重于在部署这种中继网络之前与基于最近网络测量的模拟结合进行的区块传播测量。
所提出的另一种用于区块链网络的扩展方案称为副通道或离链交易,它建议各方将使用“智能合同”,该合同预留各方货币的一定金额。然后,各方使用预留货币它们之间多次交易,直到智能合约到期的时间为止,并且将所有已实现了的交易的结果都返回给相关各方。另一种方法称为“分片”,其将区块链分成几个较小的“碎片”,这些碎片以一种旨在保持区块链的原始安全属性的方式进行维护和交错。其他方法(例如比特币NG和Scepter)用交易流替换区块或者完全放弃它们,而其他系统旨在由节点将信任放在特定节点上,并通过替换它们的能力来确保它们的诚实行为。
虽然上述方法可能有一些潜力,但它们的稳健性、安全性、可用性和适应性仍然有待证实。更重要的是,副通道仍然需要使用多个在链交易来打开和关闭智能合同,而分片需要每块碎片的规模,使它们兼容并需要在链可扩展性方案。如果最终部署了Scepter和比特币NG,那么Scepter和比特币NG的传播需求仍然有待观察。
系统设计
鉴于现有区块链网络中的上述缺陷,本系统的一个目标是使加密货币和区块链系统能够扩展到每秒数千个在链交易。此外,本系统旨在同时为众多加密货币和区块链系统提供可扩展性,从而利用集中管理式基础设施以可证明中立的方式支持分布式区块链系统。
本文所描述的系统表示解决区块链扩展问题时的根本变化。与严格依靠纯粹的分布式系统设计不同,该系统包含了区块链分发网络(BDN)来使区块链扩展,而不损害对区块链中的交易的控制权的分散化。关键的挑战是设计这样的BDN以便其是中立的并且可由全局对等网络审计,同时保留现有区块链功能、属性和在当前系统参与者之间的权力平衡。
为了实现可扩展性,本系统传播从对等网络节点到对等网络的其余部分的交易以及汇总从矿机到对等网络的其余部分的交易的区块两者。对于本系统的设计而言,其独特之处在于能够有效地用一种标识符(ID)索引系统中的所有交易,该标识符(ID)比原始交易短约两个数量级。这可以反过来减小有效区块尺寸,并将系统吞吐量增加相同的两个数量级。此外,相对于最先进的p2p区块链系统,经由系统服务器的快速、协调、直通区块传播在吞吐量方面增加了一个额外的数量级,从而导致系统吞吐量(即TPS)总体增加大约1000倍。
中立性是指区块在不知道它们包含的交易、它们的数量、它们的总额、所涉及的钱包、所涉及的地址、产生每一个区块的矿机或者挖掘区块的矿机的IP地址的情况下的传播。此外,矿机自由地在一个区块中包含任意交易,甚至是那些最初未由系统分发和索引的交易。此外,系统或其管理员即使与对等网络的其他节点串通或通过分析区块的定时和尺寸,也不能推断出上述特征。系统不能通过在其他节点之前为特定节点提供区块来支持特定节点,并且不能阻止任何节点加入系统并利用它。系统可以要么公平地传播所有区块,要么不传播任何区块。
为了实现中立性并启用其审计,本系统支持加密区块,其防止系统基于其内容或任何其他特征来停止区块传播。只有在区块通过网络传播后才会揭示区块的加密密钥。为了确保系统不歧视单独的节点,客户端不会将区块直接传播到系统服务器,而是经由对等网络中的对等方中继它们,从模糊区块在系统BDN服务器中的来源。为了防止系统BDN服务器阻塞或阻止来自特定节点集的区块,客户端能够通过测试其服务并将结果传递给其他对等方来审计系统。因此,允许客户端将测试区块直接发送到系统。另外,在系统无论是蓄意的还是因为大规模系统故障而不能忠实地服务对等网络节点的情况下,哨兵网络可用于随时承担系统BDN服务器的角色。
该系统作为一个整体是与协议无关的,并且能够向多种加密货币和区块链同时提供其扩展服务。此外,该系统是一个经济上可持续的系统。经济可持续性通过使现有终端直接将矿机希望的一小部分费用分配给系统区块链分发网络(BDN)服务器来实现。通过系统扩展实现的整体效果对所有相关方都有益。例如,矿机收入可以增加10倍,并且客户端费用可以减少100倍,从而使得系统BDN在经济上可行。
总而言之,本系统是第一个利用集中管理式基础设施来扩展区块链而不影响对区块链中的交易的控制权的分散化的BDN系统。与经由有效内容传播的传统网络相比,通过提供交易与短ID之间的映射服务,该系统将区块链吞吐量提高了约1000倍,从而减少了流量。所提出的BDN系统是第一个作为整体扩展区块链系统而不仅仅增加公平性或减少单独的节点的延迟的网络系统。网络中立性首次在区块链的背景下定义,并且如下面详细讨论的,发明人设计、实现并评估了第一个这样的中立BDN,并且证明了其公平性和反歧视属性。
该系统也是第一个结合p2p和集中管理式BDN网络的系统,其中所述p2p网络用于审计集中管理式网络并评估其中立性。所提出的系统是第一个包含用于BDN服务的直接在链支付、只能在现有加密货币中增量部署的特征的系统,从而使BDN服务首次成为区块链生态系统中的一等公民。所提出的系统也是第一个提供可以支持多种区块链的BDN网络,与其实施方式和协议无关。所提出的系统也是第一个将p2p网络和集中管理式BDN网络结合起来以禁止BDN网络审查内容的系统。该系统还是第一个引入哨兵网络来预防大规模歧视和串通尝试的系统。
本系统的信任模型基于两个观察结果。首先,已经观察到,如上所述,由于其长区块传播时间,诸如比特币之类的无信任p2p区块链不能扩展到每秒数千个在链交易。其次,已经观察到,通过将信任放在一小部分参与者中并向它们传递对包含在区块链(例如Ripple、EOS、BitShares、Steem等)中的交易的控制权,可以实现更好的可扩展性。然而,这种集中化战胜了分布式区块链的单一最显著的方面,即对交易的控制权的分发和分散。将对区块链中的交易的控制权提供给有限数量的参与者允许这些参与者在用户、节点和矿机之间进行串通、审查和歧视。对这些有限数量的参与者提供控制权也可以使这些参与者对执法中包含的交易负责。
代替将信任放在一部分节点上来实现可扩展性,本系统利用反转信任方向的信任模型,并且使用必须在整个网络中放置信任的一部分节点来实现可扩展性。该系统利用BDN系统来实现扩展,但节点不需要在BDN中放置任何信任。相反,BDN系统盲目地服务节点,而不知道它传播的区块、它们的来源或它们的有效性。此外,BDN的行为由它所服务的节点不断地审计,并且它不可能歧视单独的节点、区块或交易。如下面更详细地讨论的,虽然这种设计与使用BDN系统的节点相比,使BDN系统处于劣势,但其稳健性允许其承受不诚实和恶意行为。
在示例性实施例中,所提出的BDN系统包括多个系统服务器、对等网络中的多个对等节点以及节点的哨兵网络。图1是描绘根据示例性实施例的区块链分发网络中的系统服务器100的框图。如图1所示,系统服务器100包括处理器105、存储器110、收发器115和接口120。在替代实施例中,系统服务器100中可以包括更少、额外和/或不同的组件。存储器110可以是任何类型的计算机可读介质,其被配置为存储计算机可读指令以实现本文描述的任何操作、程序和算法。处理器105被配置为执行存储在存储器110中的计算机可读指令。处理器105还被配置为控制收发器115,使得系统服务器100可以接收和发送区块、分组和其他信息。用于接收/发送信息的收发器115可以是任何类型的收发器。该收发器115可以具有发送和接收两功能的单个组件的形式,或者收发器115可以具有不同的接收器和不同的发送器的形式。接口120可以是允许个人与服务器100交互的任何类型的输入/输出(I/O)组件,诸如显示器、键盘、鼠标、数据端口等。
图2是描绘在根据示例性实施例的区块链分发网络中的系统服务器与对等节点之间的相互作用的框图。该系统服务器形成高容量、低延迟、全局BDN网络,该网络经过优化以快速传播用于多种区块链系统的交易和区块。图2的对等节点(即psource、p1、p2、p3)是p2p网络节点,它利用系统服务器传播交易和区块,同时仔细审计整个BDN的行为。本系统可以包括多个p2p网络,其中所述每个对等网络包括使用特定协议的所有节点。例如,利用系统服务器的所有比特币节点形成第一对等网络,而利用系统服务器的所有以太坊节点可以形成第二对等网络。在图2的实施例中,对等网络中的每个节点包括对等进程和区块链应用。给定的对等节点作为其区块链应用与系统服务器之间的中介运行其对等进程。尽管图2的框图为了说明而描绘了4个系统服务器和4个对等节点,但应当理解,典型的BDN将包括显著更多的系统服务器和对等节点。
除了上述系统服务器和对等网络之外,系统还可以包括备用网络,其被称为哨兵网络。哨兵网络(图2中未示出)是分布管理式全局服务器网络,随时可以在需要时承担系统服务器的角色。虽然系统服务器仍然运行,但哨兵网络不会传播任何流量。
该系统服务器代表对等网络中的节点传播区块。然而,与中继网络相反,系统服务器传播区块而不用知道它们包含的交易、它们的数量、它们的总额、所涉及的钱包或地址、产生每个区块的矿机或者区块进入BDN的IP地址。此外,即使与对等网络的其他节点串通或者通过分析区块定时和尺寸,系统服务器或其管理员也不能推断出上述特征。系统服务器不能通过在其他节点之前为特定节点提供区块来支持特定节点,并且不能阻止任何节点加入系统并利用它。所述系统服务器可以要么公平地传播所有区块,要么不传播任何区块,并且不能歧视。
BDN作为一个整体是与协议无关的,同时为众多加密货币和区块链提供扩展服务。系统服务器在开放系统互连(OSI)模型的传输层运行,与应用层和网络层交互,并为应用层上运行的任何区块链协议提供服务。然而,系统服务器的某些功能属于应用层,这是一种设计决策,其允许兼容新的和现有的加密货币。更具体地,属于网络层的功能包括从区块链应用中接收区块、向其他对等方发送区块、区块加密、发送加密密钥以及从对等方接收非加密区块。属于应用层的功能包括应用传输控制协议(TCP)和用户数据报协议(UDP)发送数据、发现对等方、将区块链应用连接到对等进程并发送测试区块,以确保BDN网络不进行歧视。
为了按数量级减小交易尺寸,由此减小区块尺寸和传播时间,将每个交易与一个短ID匹配,该短ID在整个系统的所有部分都是一致的。使用这些短ID,传播仅包含交易ID的区块而不是交易本身,以最小化区块尺寸。在节点接收到加密区块之后,一旦节点接收到解密它所需要的加密密钥,该节点就能够在测试接收到的区块的有效性之前将短ID转换回交易。
不同于这样的技术打开了基于ID冲突攻击向量的分布式系统,本系统作为一个集中式系统,可以通过使用更短的ID来安全且以更有效的方式使用ID。这允许系统按数量级增加吞吐量,因为对于任何给定的区块尺寸,可以包括更多的交易。
为了将交易与ID匹配,由系统服务器所服务的任何节点将该交易发送给所述系统服务器,所述节点可以是也可以不是交易创建者。然后,系统服务器将交易与其ID以及生存时间(TTL)字段一起传播到它所服务的所有节点,该字段指定交易与ID之间的映射的寿命。然后,在对等节点处高速缓存交易与对应ID之间的这种映射。此过程允许对等节点有效地缩短区块的尺寸(通过使用ID而不是原始交易)。同时,该映射通过将ID转换为原始交易来帮助接收对等节点以重新组装原始区块。
为了使区块链可扩展性,该系统服务器快速有效地传播区块到所有对等网络节点,如图3所示。一旦对等网络的节点(psource)发现新挖掘出的区块,无论该区块是由psource挖掘出来的还是由其对等方传播给psource的,该区块都将在可以包括5个操作的进程中传播。在替代实施例中,可以执行更少或额外的操作。图3描绘了根据示例性实施例的系统的区块传播。
如图3所示,在第一操作(1)中,psource处的区块链应用将原始区块传递给与psource相关联的对等进程。该系统与所有区块链应用兼容,并且将对等进程用作区块链应用和系统服务器之间的中介。对等进程可以包括p2p网络领域中已知的硬件和/或软件。在第二操作(2)中,对等进程经由交易ID缩短区块,并将该区块发送到系统服务器之一(即Server2)。在第三操作(3)中,当接收到区块时,接收区块的系统服务器将区块分发给所有其他系统BDN服务器。更具体地说,当在系统服务器接收到区块的开头字节时,立即将它们传播到所有其他系统服务器,而不等待接收到整个区块。在第四操作(4)中,系统服务器传播该区块给所有对等方,而这在接收到该区块时会再次实施。更具体地说,当在所有系统服务器上接收到区块的开头字节时,立即将它们传播到在所有对等网络节点(p1、p2、p3等)上运行的对等进程,而无需等待收到整个区块。在第五操作(5)中,对等进程验证区块结构,重新组合原始区块,并将组装好的区块传递给区块链应用。在psource完成向初始系统服务器传输区块之后,期望所有对等网络节点(p1、p2、p3)在大约2个RTT内整体接收区块。
为了防止系统服务器基于区块所包含的交易拒绝该区块,可以将上面讨论的区块传播过程延伸到包括加密。图4描绘了根据示例性实施例的BDN中的加密和非加密区块传播。在图4中,加密区块传播由虚箭头线表示,该虚箭头线在表示非加密区块传播的实箭头线上延伸。参考加密区块传播,在第一操作(1)中,psource的区块链应用将原始区块传递给psource的对等进程,其缩短并加密该区块,并将加密区块经由系统服务器传播到所有对等网络节点(p1、p2、p3)。在第二操作(2)中,每个节点(p1、p2,p3)使用加密区块散列值将所接收到的加密区块通知给其对等方。在第三操作(3)中,一旦对等节点psource从其对等方(p1和p2)接收到已经传播了加密区块的通知,psource就使用p2p传播和系统服务器传播解密区块所需要的加密密钥。在第四操作(4)中,接收到所传播的加密密钥的每个对等进程解密所述加密区块,验证区块结构,重新组装原始区块,并将原始区块传递给区块链应用。
为了防止系统BDN基于区块的来源(即基于试图传播新挖掘出的区块的源节点)拒绝所述区块,不将区块直接发送到系统服务器。相反,将区块经由对等方中继到系统服务器,模糊它们的来源。图5描绘了根据示例性实施例的包括对等中继加密区块传播的区块传播过程。在图5中,对等中继加密区块传播由虚箭头线表示,该虚箭头线在由实箭头线表示的加密区块传播上延伸。在第一操作(1)中,源节点psource的区块链应用将区块传递给其对等进程,其缩短并加密该区块。在第二操作(2)中,psource的对等进程将加密区块非加密区块的标头中继到对等方,在该示例中是p1。接收对等方(p1)验证标头,然后将加密区块中继到系统服务器。因此,区块传播遵循上面参考图4讨论的加密区块传播。
在一个示例性实施例中,上面提及的区块标头可以是80字节的区块标头。作为替代,可以使用不同长度的标头。区块标头包括版本字段、先前区块标头散列字段、Merkle根散列字段、时间字段、nBits字段和随机数(即任意二进制值)字段。在替代实施例中,可以在区块标头中包括更少、附加和/或不同的字段。为了使区块有效,这些字段的散列必须非常小,即小于nBits字段,该nBits字段是非常小的二进制值。因此,为了创建一个新区块,矿机可以尝试随机数字段中的不同任意值,直到其中一个工作。结果是创建有效标头需要花费大量工作,这使得个人为无效区块创建有效标头的可能性极低且成本高昂。因此,对区块标头的分析几乎肯定足以测试区块是否有效,并且对等节点可以基于是否发现区块有效来确定是否进一步中继区块。
该BDN还通过允许其客户端(即对等网络节点)使用测试区块并通过传播未验证加密数据的能力来连续监视其行为提供了可证明的中立区块传播服务。这使得BDN与其客户端相比处于劣势,并且打开了BDN足以稳健地承受的资源浪费的恶意行为的大门。
BDN稳健性和服务引起的成本形式主要是向大量节点传送大流量。例如,可以假设一个10,000个完整节点的网络,其规模与当今的比特币网络相似。例如,网络中的每个节点可以每天创建四个1MB测试区块,并且BDN将每天传送100TB或9.26Gbps。同时,假设交易以3,000TPS的速率创建,它们的传送将额外使用132Gbps。注意,用于支持测试区块的带宽随着全节点数量的增加而呈指数增长,而支持更高TPS所需要的带宽则不然。支持立即提供这些大流量的可靠、低延迟的全局基础设施的成本是不可忽视的。
为了确保BDN的可持续性,可能需要利用BDN的区块链系统的交易来向BDN支付额外费用。这种BDN费用有几个关键属性。由于其允许的可扩展性,与用户减少的费用以及矿机的费用增加的总额相比,BDN费用是微不足道的。对于每笔交易,BDN费用为矿机费用的10%,并且BDN系统的公共地址作为额外的收款人添加。与系统吞吐量增加几个数量级相比,这样的费用非常小,这意味着用户减少了一个数量级的费用,并且矿机收取的费用增加了一个数量级,同时保持了BDN的盈利和可持续性。此外,将BDN费用定义为矿机费用的一定百分比确保了基于它们的费用确定优先交易的激励机制不受影响。
虽然BDN中的大多数交易产生支付给BDN系统的费用,但是在一个实施例中,每个区块的尺寸的大约20%可以专用于不包括这种费用的交易。在替代实施例中,可以使用不同的百分比,例如5%、10%、15%、25%、30%等。BDN区分可以包括在区块中的三种类型的交易,即付费交易、免费交易以及无ID交易。付费交易是由BDN将交易映射到短ID并且包括支付给BDN系统的费用的交易。免费交易是由BDN将交易映射到短ID并且不包括这样的费用的交易。无ID交易是不用BDN将交易映射到短ID的交易。
在示例性实施例中,BDN系统费用由对等网络节点而不是BDN实现,因为BDN在不知道其内容的情况下传播区块。每当对等方接收到(并解密)新挖掘出的区块时,它验证区块的尺寸的至少80%用于费用交易。否则,对等方拒绝该区块。在替代实施例中,可以使用不同的百分比,例如70%、90%等。另外,使用额外的收款人增加了交易的尺寸,但不增加了区块尺寸,因为交易是使用短ID来表示的,而不管它们的尺寸。因此,该过程仅增加用于交易传播的带宽,其随着网络的规模和系统吞吐量线性增长,而不是指数地增长。
本BDN还采用了多种歧视防止机制以确保BDN公平地传播所有区块,并且不能够歧视任何节点、矿机、区块、交易或钱包。区块歧视可以基于区块的内容,例如钱包、地址、区块中的交易的总额、时间戳、coinbase交易或任何其他属性。为了防止基于区块内容的歧视,在传播之前对所有区块进行加密。BDN加密会变更区块尺寸,这会隐藏区块中的交易数量及其总尺寸。区块的加密密钥(k1)仅在区块传播后揭示,并直接通过对等网络传播。k1的微不足道的尺寸可以小到几个字节,其允许它直接通过对等网络传播,而BDN无力阻止它。
另一种由BDN使用的反歧视机制是在区块的初始传播时间接中继。为了帮助确保BDN无论是基于节点IP地址、节点运营商标识、节点实施方式还是任何其他属性,都不能阻止单独的节点传播其区块,节点不将区块直接传播到BDN服务器。相反,希望传播区块的节点将首先将其传播到对等网络上的对等方,该对等方将其中继到BDN服务器,从而模糊来自BDN的该区块的来源。
除了间接地中继区块到BDN之外,节点还可以请求它们的对等方中继传入区块到从BDN到达的那些。这确保了BDN不能用于通过延迟区块传送来歧视节点,并且不需要节点直接与BDN交互以便从其服务中受益。这种节点用于利用这种中继经历的短延迟(即约0.5RTT)与节点接收k1所需要的时间重叠,因而不会产生任何负面影响。
虽然BDN无视发起每个区块的节点,但它可能仍然阻止或搁置从某个节点到达的区块,从而影响由这些节点中继的所有区块。为了检测和测量这种行为,对等网络中的节点能够连续测试BDN的服务,并将结果传递给它们的对等方。通过允许节点经由BDN发送加密无效区块(称为测试区块)来实现这种测试。因此,发送节点能够测量接收对等方报告测试区块到达所花费的时间。由于加密,BDN服务器不可区分测试区块和有效区块。因此,BDN服务器不能仅在有效区块上使用歧视策略,同时忠实地传播测试区块。从BDN服务器的角度来看,测试区块和有效区块在发布密钥之前是不可区分的。因此,当分发测试区块时,任何接收对等节点将测量结果传递给它们的对等方。
如上文所指出的,BDN系统还可利用哨兵网络。哨兵网络是全局分布式服务器网络,在系统服务器无论是蓄意还是由于大规模系统故障而不能忠实地服务于对等网络节点的情况下,它都可以担当系统服务器的角色。哨兵网络运行与系统服务器相同的开源代码,并且通常通过可以提供高带宽和低延迟通信的诸如AWS、Microsoft Azure、DigitalOcean、Rackspace之类的私有虚拟云(PVC)运行。
哨兵网络在两个关键方面与BDN服务器不同。首先,虽然BDN服务器是集中管理的,但是哨兵网络允许任何人加入它的分布式网络。哨兵网络服务器的运营商除了它们的对等网络节点之外还运行它们并且与它们的对等网络节点分离地运行它们。这允许哨兵网络服务器基于其对等网络节点观察到的任何歧视来行动。其次,虽然BDN服务器分配大量流量,因此产生高昂的运营成本,但如果系统服务器不能忠实地分配流量,则哨兵网络服务器将仅传播流量,因此其运营成本最小。因此,哨兵网络的主要角色不是用于传播流量。相反,主要角色是提供系统服务器的替代方案,从而允许对等网络节点不仅监控BDN,还可以在需要时放弃系统服务器。这种替代方案的存在足以使系统服务器和/或对等网络节点的任何串通尝试都失败。因此,哨兵网络是被动的,尽管它是确保BDN系统中立性的重要组成部分。
如上所述,BDN系统的关键属性是对等网络节点能够审计BDN的行为并在需要时放弃它的能力。为此,节点将测试区块中继到BDN,并且能够确定它们的对等方是否快速接收它们。然而,BDN和/或串通者可能会尝试将区块从给定节点仅中继到其直接对等方,而不是中继到整个对等网络。这样的动作可能导致始发节点错误地认为其区块被中继到整个网络。为了防止这种行为,对等网络节点不会揭示它们知道的所有节点。相反,节点隐藏了它们所知道的一半节点,包括其直接对等节点的一半。因此,如果对手要分析节点的已知对等方,它将不能确定哪些节点是其直接对等节点,哪些节点不是。在替代实施例中,节点可以隐藏它们知道的节点和/或其直接对等节点的不同百分比,例如40%、45%、55%、60%等。
下面包括的是集中式BDN可能试图使用的不同形式的歧视的分析,以及上面讨论的反歧视机制如何防止BDN使用它们的讨论。如上面所讨论,一种歧视形式是基于区块内容(例如钱包、地址、区块中的交易总额、时间戳、区块中的coinbase交易或任何其他属性)来搁置或阻止区块的传播。为了防止BDN受到这种歧视,在传播之前对区块进行加密。此外,所述加密改变了区块尺寸以隐藏区块中的交易数量及其总尺寸。解密区块所需要的每个区块的唯一加密密钥k1只有在区块传播后才会被揭示。此外,密钥k1的微小尺寸允许其直接在对等网络上快速传播,并且BDN无力停止其传播。
另一种歧视形式是防止单独的节点从传播它们的区块。这种歧视可以基于节点的IP地址、节点的运营商的标识、节点实施方式或任何其他节点属性。为了确保BDN不能以这种方式歧视,对等网络节点间接地中继它们的区块。原始节点不是将区块直接发送到系统服务器,而是通过其一个或多个对等方将区块传播到系统服务器,从而防止接收系统服务器知道它接收到的区块的来源。
再另一种歧视形式是搁置或丢弃来自大部分节点的区块,从而影响由这部分节点中继的所有区块。然而,如果假设非歧视节点没有主动与BDN串通,则通过这种非歧视节点中继区块消除该歧视。对等网络节点能够通过BDN周期性地传播测试区块,以确保它们的区块确实以无阻碍方式传播到整个网络。预防和取消串通将在下面更详细地讨论。
虽然在所提出的BDN中的交易传播实现了更高的系统吞吐量,但是BDN可能尝试拒绝交易和/或要求对BDN服务的非授权支付。为了防止BDN受到这些形式的歧视,允许每个区块的大约20%的尺寸专用于非映射交易,即未映射到ID的交易。在替代实施例中,可以专用于非映射交易的区块尺寸的百分比可以小于或大于20%,例如5%、10%、15%、25%、30%等。允许非映射交易被包含在区块中,在区块被中继到系统服务器之前与区块的加密相结合,允许矿机在区块链中包含任何交易。重要的是,此要求由对等网络节点强制执行,而不是由系统服务器强制执行。因此,节点将拒绝不符合要求的区块。这种机制确保大多数交易确实通过BDN映射到ID,从而允许数量级更高的吞吐量。同时,此过程可防止系统服务器拒绝特定交易或包含特定交易的区块。
存在几种形式的集中式BDN网络可能采用的区块传递歧视。首先,BDN可以偏袒某些节点,在其他节点之前传递它们。其次,BDN可以通过推迟区块传递或根本不传递这些区块来歧视单独的节点。第三,BDN可以停止向大多数节点传递区块,并且仅服务于一小部分节点。最后,BDN可以完全停止传递区块,无论是恶意还是系统故障。
为了防止BDN偏袒单独的节点,区块的加密密钥k1仅在产生它的节点(psource)从其对等方得知区块传播以后才被传播。因此,提前接收到区块的任何节点(pprivileged)都将被迫等待,直到它从其对等方接收到k1,这只有在区块被传递给psource的任意对等方时才会开始,因此将pprivileged放在与其对等方相同的地位。
为了保护自己免受迟到区块传递的影响,节点在它们自己的测试区块到达时间与它们的对等方的测试区块到达时间进行比较,这将表明它们是否受到歧视。如果节点识别出这种歧视,则一旦流量到达,节点就可以请求它们的对等方直接向它们中继区块流量。这将使被歧视节点与其对等节点地位对等,因为它们遇到的短延迟(大约0.5RTT)与传播k1所需要的时间重叠。
如果BDN不再完全传递区块,或仅传递区块到一小部分节点,无论是蓄意或因为大型故障,哨兵网络将担当系统服务器的角色,并且节点将在问题得到解决之前放弃系统服务器。
如上所讨论的,至关重要的是防止BDN基于它们的内容或来源审查或延迟区块。至关重要的是,即使BDN与对等网络的节点串通,也防止偏袒或歧视利用它的任何节点。值得注意的是,本BDN的设计并非旨在解决诸如51%攻击之类的串通问题,也不旨在最小化其有效性。相反,BDN的设计目标是不增加现有攻击的有效性,也不会导致新的攻击。
如上文所概述的,加密区块被间接地发送到系统服务器,以防止系统歧视区块,无论是基于它们的内容或它产生它们的节点。然而,串通节点可能不会将区块中继到系统服务器。此外,这些串通节点可以共享它们知道的到达区块,以允许系统服务器在由非串通节点中继区块之后拒绝这些区块。然而,这样的攻击必然会失败,因为它们要求系统服务器拒绝所有传入的测试区块,这反过来立即就此歧视警告所有节点,并使它们赞成哨兵网络放弃BDN。
作为一个例子,在p1主动与系统服务器串通的情形下,psource可以中继b、b'1和k1至p1。为了防止或延迟b的传播,串通者将避免将b'1传播到整个对等网络,并且可能彼此共享psource、b、k1和b'1的所有知识。一旦psource中继区块至p1,它就开始中继b、b'1和k1到其他对等方{pi|i>1},直到它得知了已经成功中继的区块为止。为了使攻击成功,BDN必须避免或延迟区块{b'1|i>1}在它们从各自的节点到达时的传播。如果不这样做,攻击只会将b的传播延迟psource将区块中继到其第一个非串通对等方所需要的时间,这与p2p无信任模型中的相同攻击向量相同。
由于psource根据自己的判断选择其对等方,每个对等方pi中继使用不同密钥加密的b的版本,并且加密模糊了b的内容和尺寸,所以BDN不可能区分传入测试区块和b的加密版本。因此,为了影响b的传播,BDN必须拒绝从非串通节点到达的所有传入区块,可能直到由串通节点提供了不同的区块为止。这种行为立即对对等网络的所有节点可见,因为它们将不能获得它们自己的测试区块的到达报告。在这种情况下,节点立即移动到哨兵网络,从而导致攻击失败,并进一步导致节点在短期内放弃串通系统服务器。系统服务器可以长期代替。
需要注意的是,发起攻击的必要条件是p1(这是psource将区块中继到的第一个对等方)与系统服务器串通。进一步注意到,中继区块的蓄意故障已经是现有p2p无信任模型中的现有攻击向量,具有相同的成功概率。两个模型中的结果是相同的,其延迟b的传播直到它被发送到第一个非串通节点p1。虽然利用BDN的区块链系统可能使用包含更多交易的区块,但是由于使用短ID来表示交易,因此用于将区块发送到对等网络节点的字节数大大减少。这些影响相互抵消,从而导致攻击具有相似水平的有效性。
还应当注意的是,虽然即使BDN也有可能拒绝仅从非串通者到达的区块的一部分而不是全部的区块,但这样的攻击也不太有效。例如,拒绝来自非串通者的50%的区块将仅将b的传播延迟通过对等方中继区块所需要的时间(平均)的一半,同时至少50%的节点清晰可见。增加被拒绝节点的百分比会进一步提高可见性,而降低可见性会降低其效果。
最后,值得注意的是,对等网络的诚实节点可确定它们的测试区块是否被中继。如果在没有正在进行的节点歧视的情况下中继节点的测试区块,则节点可以直接将其区块中继到系统服务器,并且甚至从其对等方模糊区块的有效性。
除了串通以阻止区块传播,节点可能试图与系统服务器串通以阻止或延迟区块传递到一部分对等网络节点。当针对少量节点发起此类攻击时,目标节点很容易发现它,因为串通者不知道的它们诚实的直接对等方将向它们通告它们接收到的区块和加密密钥。为了保护它们自己,被歧视节点可以请求任何一个它们的直接对等方向它们中继所有传入区块。这样的请求不会将被歧视节点置于所选对等方的左右,因为被歧视节点继续从它的其他对等方和系统服务器接收区块。这样的请求也不会给对等方带来沉重的负担,因为它们控制了它们将流量中继到的节点的数量。串通节点的存在不会影响攻击的有效性,这与使用p2p无信任模型的系统中的此类攻击相同。
如果这样的攻击针对串通节点的重要部分或大部分发起,则对中继区块的对等方的依赖性成为一个障碍。这是因为节点在传播区块方面不如系统服务器有效,这使得串通者比非串通节点更具优势。然而,随着被歧视节点部分增加,哨兵服务器运营商的比例部分意识到歧视,导致它们激活哨兵网络,抵抗攻击,并放弃系统服务器。除了歧视上面概述的一些节点和/或区块之外,BDN还可以要么恶意地要么因为系统故障而完全终止其服务。
不同于先前提出扩展机制,所提出的BDN的部署可以是渐进的,而无需节点之间的共识和合作。一部分节点可以在不对协议进行任何改变的情况下使用BDN,并且将如何调整协议以便扩展的决定留给了每种加密货币和区块链的矿机和节点。通过这种方式,矿机和节点能够以它们认为合适的方式最好地利用BDN的优势。每种加密货币或区块链的每个节点都可以在BDN之上工作,而不需要与任何其他节点协调。
加密区块的中继打开了抵抗BDN和节点的恶意行为和分布式服务拒绝(DDoS)攻击的大门,而对等方之间的通信仍然是自愿的,并且基于每个节点的判断。为了防止恶意行为(如经由BDN发送大量流量到整个对等网络),BDN采用了带宽限制的一个简单而有效的策略。值得注意的是,BDN一方面应该限制恶意行为,同时仍允许节点使用测试区块继续监视BDN。
给定平均区块间时间间隔tB以及使用ID来表示其交易B'的加密区块的平均尺寸,BDN将限制从每个节点到达3B'的流量在1500tB的滑动窗口之外。
作为一个例子,可以考虑旨在使用B=50MB的区块尺寸和tB=30秒的区块间时间间隔在50000个节点之间实现3000TPS的吞吐量的比特币的情况。如果BDN支持它,并且将所发送区块尺寸减少到B'=0.5MB,则每个节点将能够每天测试其服务超过5次,同时利用仅13Mbps的下载带宽。随着对等网络的尺寸增加,BDN可以允许带宽受限节点仅接收一部分区块,或者仅在它们确定区块有效之后使它们的对等方向它们中继区块。
总之,所提出的BDN是第一个包含所述解决区块链扩展问题的方法的这种类型的网络。所提出的BDN引入了集中管理式网络基础设施以提高可扩展性,同时保留了对区块链中交易的控制权的分散化。这种分散化是经由中立和可审计网络设计实现的。所提出的BDN同时具有可扩展性、中立性和可审计性。BDN的可扩展性经由有效内容传播以及通过在交易和短ID之间提供映射服务来减少流量,从而将系统吞吐量提高了大约1000倍。BDN通过支持加密区块并通过经由对等中继来模糊区块的来源而获得中立性。另外,BDN通过使客户端能够以系统的方式直接并主动地探测网络来实现可审计性。BDN是协议无关且经济上可行的系统,能够同时支持多种区块链,并充分释放其无可争议的潜力。
在一个示例性实施例中,本文描述的任何操作可以由包括存储器、处理器、用户接口、收发器以及任何其他计算部件的计算系统来执行。操作可以作为计算机可读指令存储在诸如计算机存储器之类的计算机可读介质上。在由处理器执行时,如本文所述那样执行计算机可读指令。
单词“示例性”在本文中用于表示用作示例、实例或说明。本文描述为“示例性”的任何方面或设计不必被解释为比其他方面或设计更优选或更具优势。此外,对于本公开的目的,除非另有说明,否则单数表示“一个或多个”。
本发明的示例性实施例的前述描述是为了说明和描述的目的。并非旨在穷举或将本发明限制于所公开的精确形式,并且根据上述教导可以进行修改和变更,或者可以从本发明的实践中获得。选择和描述实施例是为了解释本发明的原理和本发明的实际应用,以使本领域技术人员能够在各种实施例中利用本发明并且具有适合于预期的特定用途的各种修改。本发明的范围旨在由所附权利要求及其等同物限定。
Claims (13)
1.一种在区块链分发网络中的服务器,该服务器包括:
处理器;和
可操作地联接到所述处理器的收发器,其中所述收发器被配置为:
从第一对等节点接收交易的字节;
将所述交易的字节传播到所述区块链分发网络中的一个或多个另外的对等节点以及一个或多个另外的服务器;
从第二对等节点接收区块链的字节,其中所述区块链包括关于多个交易的信息,并且其中所述多个交易包括所述交易;并且
将所述区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器,其中,所述收发器在完全接收到所述区块链之前传播所述区块链的字节,
并且其中,所述收发器被配置为接收与所述区块链相关联的加密密钥,其中,所述区块链的字节是加密的,并且其中所述收发器在所述区块链已经分发在整个区块链分发网络中之后接收所述加密密钥。
2.根据权利要求1所述的服务器,其中所述收发器被配置为将与所述区块链相关联的加密密钥传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
3.根据权利要求1所述的服务器,其中所述收发器从所述第二对等节点接收所述加密密钥。
4.根据权利要求1所述的服务器,其中所述收发器从所述第一对等节点接收所述加密密钥。
5.根据权利要求1所述的服务器,其中所述收发器接收所述加密密钥的字节,并且其中所述收发器在完全接收到所述加密密钥之前传播所述加密密钥的字节。
6.根据权利要求1所述的服务器,其中所述处理器和收发器是协议无关的。
7.根据权利要求1所述的服务器,其中所述收发器被配置为同时支持多种区块链。
8.根据权利要求1所述的服务器,其中所述服务器不能基于所接收到的区块链的字节来确定区块链的源。
9.一种在区块链分发网络中传播数据的方法,该方法包括:
由服务器的收发器从第一对等节点接收交易的字节;
由所述收发器将该交易的字节传播到所述区块链分发网络中的一个或多个另外的对等节点和一个或多个另外的服务器;
由所述收发器从第二对等节点接收区块链的字节,其中所述区块链包括关于多个交易的信息,并且其中所述多个交易包括所述交易;并且
由所述收发器将区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点和所述一个或多个另外的服务器,其中,所述收发器在完全接收到所述区块链之前传播所述区块链的字节,
并且其中,所述方法还包括由所述收发器接收与所述区块链相关联的加密密钥,其中,所述区块链的字节是加密的,并且其中所述收发器在所述区块链已经分发在整个区块链分发网络中之后接收所述加密密钥。
10.根据权利要求9所述的方法,还包括由所述收发器将与所述区块链相关联的加密密钥传播到所述区块链分发网络中的所述一个或多个另外的对等节点和所述一个或多个另外的服务器。
11.根据权利要求9所述的方法,其中所述收发器接收所述加密密钥的字节,并且其中所述收发器在完全接收到所述加密密钥之前传播所述加密密钥的字节。
12.根据权利要求9所述的方法,其中所述区块链包括第一区块链,并且还包括:
由所述收发器接收第二区块链的字节;并且
由所述收发器将所述第二区块链的字节传播到所述区块链分发网络中的所述一个或多个另外的对等节点以及所述一个或多个另外的服务器。
13.根据权利要求12所述的方法,其中所述收发器同时传播所述第一区块链的字节和所述第二区块链的字节。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762557330P | 2017-09-12 | 2017-09-12 | |
US62/557,330 | 2017-09-12 | ||
PCT/US2018/049831 WO2019055290A1 (en) | 2017-09-12 | 2018-09-07 | BLOCK CHAIN DISTRIBUTION NETWORK |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109874409A CN109874409A (zh) | 2019-06-11 |
CN109874409B true CN109874409B (zh) | 2021-11-02 |
Family
ID=65631288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880002618.8A Active CN109874409B (zh) | 2017-09-12 | 2018-09-07 | 区块链分发网络 |
Country Status (4)
Country | Link |
---|---|
US (7) | US10977628B2 (zh) |
EP (1) | EP3479327B1 (zh) |
CN (1) | CN109874409B (zh) |
WO (1) | WO2019055290A1 (zh) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019055290A1 (en) | 2017-09-12 | 2019-03-21 | Northwestern University | BLOCK CHAIN DISTRIBUTION NETWORK |
GB201719654D0 (en) * | 2017-11-27 | 2018-01-10 | Nchain Holdings Ltd | Computer-implemented system and method |
US10740808B2 (en) * | 2017-11-28 | 2020-08-11 | Microsoft Technology Licensing, Llc | Beacon network with enterprise smart contracts having a centralized ledger |
GB201802347D0 (en) * | 2018-02-13 | 2018-03-28 | Nchain Holdings Ltd | Computer-implemented system and method |
KR102441087B1 (ko) * | 2018-06-05 | 2022-09-07 | 주식회사 네트워크디파인즈 | 신뢰가 없는 네트워크에서 데이터 전달을 증명하는 방법 및 장치 |
US10650023B2 (en) * | 2018-07-24 | 2020-05-12 | Booz Allen Hamilton, Inc. | Process for establishing trust between multiple autonomous systems for the purposes of command and control |
US11227282B2 (en) * | 2018-08-20 | 2022-01-18 | Probloch LLC | Time-bounded activity chains with multiple authenticated agent participation bound by distributed single-source-of-truth networks that can enforce automated value transfer |
US10929473B2 (en) * | 2018-09-27 | 2021-02-23 | Palo Alto Research Center Incorporated | Integrated index blocks and searching in blockchain systems |
WO2020081076A1 (en) * | 2018-10-17 | 2020-04-23 | Hewlett-Packard Development Company, L.P. | Apparatus and method for dynamic sharding of concurrent blockchains |
CN110060111A (zh) * | 2018-12-12 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的发票访问方法和装置、电子设备 |
US11182766B2 (en) * | 2019-03-22 | 2021-11-23 | Verizon Patent And Licensing Inc. | Initiating a transaction based on a real-time kinematics assisted location of a device |
US20200334677A1 (en) * | 2019-04-16 | 2020-10-22 | Nokia Solutions And Networks Oy | Transparent blockchain sidechains to support blockchain processing heterogeneity |
US11150978B2 (en) | 2019-04-26 | 2021-10-19 | Bank Of America Corporation | Automated system for intelligent error correction within an electronic blockchain ledger |
CN110245944B (zh) * | 2019-05-20 | 2021-04-27 | 创新先进技术有限公司 | 基于用户类型的收据存储方法和节点 |
CN110245943B (zh) * | 2019-05-20 | 2021-04-23 | 创新先进技术有限公司 | 基于判断条件的收据存储方法和节点 |
CN110245489B (zh) * | 2019-05-20 | 2021-04-27 | 创新先进技术有限公司 | 基于明文日志的收据存储方法、节点和系统 |
CN110264192B (zh) * | 2019-05-20 | 2021-08-06 | 创新先进技术有限公司 | 基于交易类型的收据存储方法和节点 |
CN110245942B (zh) * | 2019-05-20 | 2021-05-04 | 创新先进技术有限公司 | 结合用户类型和判断条件的收据存储方法和节点 |
US11368286B1 (en) * | 2019-05-24 | 2022-06-21 | Jiaping Wang | Txilm: lossy block compression with salted short hashing |
CN110245517A (zh) * | 2019-05-29 | 2019-09-17 | 杭州秘猿科技有限公司 | 一种区块链的跨链方法、装置、系统及电子设备 |
WO2020254923A1 (en) * | 2019-06-15 | 2020-12-24 | Indian Institute Of Technology, Delhi | Method in blockchain systems for fast stabilization and increased responsiveness using links |
EP3992883A4 (en) * | 2019-06-25 | 2023-01-25 | Antpool Technologies Limited | DIGITAL CERTIFICATE PROCESSING METHOD, GATEWAY, DEVICE, SYSTEM, MEDIA AND PRODUCT-PROGRAM |
US20210019301A1 (en) * | 2019-07-18 | 2021-01-21 | EMC IP Holding Company LLC | Data integrity and consensuses with blockchain |
CN110347609B (zh) * | 2019-07-18 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种测试区块链软件的方法及装置 |
CN112491935A (zh) * | 2019-08-20 | 2021-03-12 | 厦门本能管家科技有限公司 | 一种用于区块链的水波式广播方法及系统 |
CN110602095B (zh) * | 2019-09-12 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据分发、存储方法和装置 |
CN110554616B (zh) * | 2019-09-24 | 2021-04-27 | 北京瑞策科技有限公司 | 在区块链上的物联网的智能家居数据上链方法及系统 |
WO2021064504A1 (en) * | 2019-09-30 | 2021-04-08 | nChain Holdings Limited | Computer-implemented system and method |
US10956204B1 (en) | 2019-10-14 | 2021-03-23 | International Business Machines Corporation | Free-riding node identification for blockchain |
CN110739530B (zh) * | 2019-10-15 | 2021-10-08 | 常熟市泓博通讯技术股份有限公司 | 适应多空间场域的5g智能天线模块 |
KR20210059574A (ko) | 2019-11-15 | 2021-05-25 | 한국전자통신연구원 | 릴레이 노드, 릴레이 네트워크 시스템 및 이의 동작 방법 |
US11556618B2 (en) * | 2020-02-18 | 2023-01-17 | At&T Intellectual Property I, L.P. | Split ledger software license platform |
CN111756645B (zh) * | 2020-06-30 | 2022-09-06 | 中国科学技术大学 | 基于区块链安全属性的自组网弹性传输控制方法 |
CN111950036B (zh) * | 2020-08-21 | 2023-11-14 | 交通银行股份有限公司 | 一种基于可信分布式应用的区块链间交互系统及方法 |
CN111934998B (zh) | 2020-09-25 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN112968969B (zh) | 2020-09-25 | 2023-05-12 | 支付宝(杭州)信息技术有限公司 | 区块链系统、消息传输方法及装置 |
CN112953821B (zh) | 2020-09-25 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN111934997B (zh) | 2020-09-25 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN111935000B (zh) | 2020-09-25 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN111934990B (zh) * | 2020-09-25 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN111935315B (zh) | 2020-09-25 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 区块同步方法及装置 |
CN113079079B (zh) | 2020-09-25 | 2022-08-02 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
KR20220057823A (ko) * | 2020-10-30 | 2022-05-09 | 서강대학교산학협력단 | 블록체인 네트워크에서의 블록 사이즈 조절 방법 및 이를 이용한 블록체인 네트워크 |
US11075747B1 (en) * | 2021-02-16 | 2021-07-27 | block.one | Storing time-sensitive secrets in a blockchain network |
CN112800487B (zh) * | 2021-04-07 | 2021-08-03 | 杭州链城数字科技有限公司 | 基于区块链的审计方法和系统 |
CN113190615A (zh) * | 2021-04-15 | 2021-07-30 | 宁波市民卡运营管理有限公司 | 多介质支付结果的关联存储系统、方法、装置、设备及存储介质 |
CN114095499A (zh) * | 2021-11-05 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 区块链中继通信网络的中立性验证方法及装置 |
CN114285555A (zh) * | 2021-12-15 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 基于区块链的组播方法及装置 |
US11888708B1 (en) | 2023-02-02 | 2024-01-30 | Bank Of America Corporation | System and method for auto-determining solutions for dynamic issues in a distributed network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN106788987A (zh) * | 2016-11-28 | 2017-05-31 | 树读(上海)信息科技有限公司 | 一种基于区块链的征信数据共享与交易系统 |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4650975A (en) * | 1984-08-30 | 1987-03-17 | Casio Computer Co., Ltd. | IC card and an identification system thereof |
US5813003A (en) | 1997-01-02 | 1998-09-22 | International Business Machines Corporation | Progressive method and system for CPU and I/O cost reduction for mining association rules |
US8250040B2 (en) | 2009-06-15 | 2012-08-21 | Microsoft Corporation | Storage or removal actions based on priority |
US8200630B1 (en) * | 2009-08-18 | 2012-06-12 | Netapp, Inc. | Client data retrieval in a clustered computing network |
US9241049B2 (en) * | 2011-04-27 | 2016-01-19 | Thomas E. Darcie | System and method for efficient networking for large file transactions |
US9219667B2 (en) * | 2013-03-14 | 2015-12-22 | Ixia | Methods, systems, and computer readable media for selectively processing packets using time to live (TTL) information |
US20190379653A1 (en) * | 2013-04-08 | 2019-12-12 | Titanium Crypt, Inc. | Accelerated communication attack detection |
US20160379330A1 (en) * | 2013-06-21 | 2016-12-29 | Signs & Wonders Unlimited, Llc | Method and apparatus for protecting digital photos from alteration |
US9467506B2 (en) | 2014-01-27 | 2016-10-11 | Google Inc. | Anycast based, wide area distributed mapping and load balancing system |
US9135787B1 (en) | 2014-04-04 | 2015-09-15 | Mark Russell | Bitcoin kiosk/ATM device and system integrating enrollment protocol and method of using the same |
EP3149883B1 (en) * | 2014-05-26 | 2019-04-24 | Nokia Technologies OY | Management of cryptographic keys |
US20160260095A1 (en) * | 2015-03-02 | 2016-09-08 | Dell Products, Lp | Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger |
EP3767878A1 (en) * | 2015-03-27 | 2021-01-20 | Black Gold Coin, Inc. | A system and a method for personal identification and verification |
CA2981511C (en) * | 2015-03-31 | 2018-08-28 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
KR101680540B1 (ko) | 2015-06-18 | 2016-11-30 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
EP3317775B1 (en) | 2015-07-02 | 2022-02-16 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US20170031676A1 (en) | 2015-07-27 | 2017-02-02 | Deja Vu Security, Llc | Blockchain computer data distribution |
US10332109B2 (en) * | 2015-08-04 | 2019-06-25 | Accenture Global Services Limited | Data reconciliation |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
US10509806B2 (en) | 2015-08-17 | 2019-12-17 | Accenture Global Solutions Limited | Recommendation engine for aggregated platform data |
WO2017044554A1 (en) * | 2015-09-11 | 2017-03-16 | Aware, Inc. | Biometric verification of a blockchain database transaction contributor |
US20170132625A1 (en) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Method and system for use of a blockchain in a transaction processing network |
US11941588B2 (en) | 2015-11-06 | 2024-03-26 | Cable Television Laboratories, Inc. | Systems and methods for blockchain virtualization and scalability |
WO2017079795A1 (en) * | 2015-11-09 | 2017-05-18 | Roger Hanna | A distributed user profile identity verification system for e-commerce transaction security |
US20170132630A1 (en) * | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
JPWO2017090329A1 (ja) * | 2015-11-24 | 2018-09-13 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP2017097226A (ja) * | 2015-11-26 | 2017-06-01 | キヤノン株式会社 | 画像処理装置、その制御方法、およびプログラム |
CN106911641A (zh) * | 2015-12-23 | 2017-06-30 | 索尼公司 | 用于授权访问的客户端装置、服务器装置和访问控制系统 |
US10103885B2 (en) * | 2016-01-20 | 2018-10-16 | Mastercard International Incorporated | Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography |
CA3019642C (en) * | 2016-04-01 | 2023-03-07 | Jpmorgan Chase Bank, N.A. | Systems and methods for providing data privacy in a private distributed ledger |
US10528433B2 (en) * | 2016-04-01 | 2020-01-07 | Acronis International Gmbh | Systems and methods for disaster recovery using a cloud-based data center |
US10764067B2 (en) * | 2016-05-23 | 2020-09-01 | Pomian & Corella, Llc | Operation of a certificate authority on a distributed ledger |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
WO2018028777A1 (en) * | 2016-08-10 | 2018-02-15 | Rwe International Se | Peer-to-peer communication system and peer-to-peer processing apparatus |
US10361869B2 (en) * | 2016-08-23 | 2019-07-23 | International Business Machines Corporation | Event ledger |
US20180075677A1 (en) | 2016-09-09 | 2018-03-15 | Tyco Integrated Security, LLC | Architecture for Access Management |
CN106357387A (zh) * | 2016-09-26 | 2017-01-25 | 江苏荣泽信息科技股份有限公司 | 基于区块链的匿名会员交易方法 |
US9934138B1 (en) | 2016-12-07 | 2018-04-03 | International Business Machines Corporation | Application testing on a blockchain |
US20180167198A1 (en) * | 2016-12-09 | 2018-06-14 | Cisco Technology, Inc. | Trust enabled decentralized asset tracking for supply chain and automated inventory management |
US20180183586A1 (en) * | 2016-12-28 | 2018-06-28 | Intel Corporation | Assigning user identity awareness to a cryptographic key |
US11196623B2 (en) * | 2016-12-30 | 2021-12-07 | Intel Corporation | Data packaging protocols for communications between IoT devices |
GB2573434A (en) * | 2017-01-03 | 2019-11-06 | Walmart Apollo Llc | Delivery reservation apparatus and method |
US11468439B2 (en) * | 2017-01-12 | 2022-10-11 | American Express Travel Related Services Company, Inc. | Systems and methods for blockchain based proof of payment |
US10419225B2 (en) * | 2017-01-30 | 2019-09-17 | Factom, Inc. | Validating documents via blockchain |
WO2018149505A1 (en) * | 2017-02-17 | 2018-08-23 | Nokia Technologies Oy | Voting-consensus distributed ledger |
US10411897B2 (en) * | 2017-02-17 | 2019-09-10 | Factom, Inc. | Secret sharing via blockchains |
CA3056717A1 (en) * | 2017-03-17 | 2018-09-20 | Royal Bank Of Canada | Systems and methods for hybrid blockchain platform |
US11269842B2 (en) * | 2017-05-09 | 2022-03-08 | Accenture Global Solutions Limited | Data storage layer index for efficient information retrieval |
CN114844626A (zh) * | 2017-05-15 | 2022-08-02 | 维萨国际服务协会 | 安全区块链路由技术 |
WO2018213880A1 (en) * | 2017-05-22 | 2018-11-29 | Haventec Pty Ltd | System for blockchain based domain name and ip number register |
US10783600B2 (en) | 2017-05-25 | 2020-09-22 | GM Global Technology Operations LLC | Method and system using a blockchain database for data exchange between vehicles and entities |
US11030331B2 (en) * | 2017-06-01 | 2021-06-08 | Schvey, Inc. | Distributed privately subspaced blockchain data structures with secure access restriction management |
US10810004B2 (en) * | 2017-06-30 | 2020-10-20 | Oracle International Corporation | System and method for managing a public software component ecosystem using a distributed ledger |
US10616324B1 (en) * | 2017-07-20 | 2020-04-07 | Architecture Technology Corporation | Decentralized ledger system and method for enterprises |
EP3665857B1 (en) | 2017-08-07 | 2022-02-23 | Visa International Service Association | Blockchain architecture with record security |
US10930377B2 (en) * | 2017-08-29 | 2021-02-23 | International Business Machines Corporation | Dental health tracking via blockchain |
WO2019055290A1 (en) | 2017-09-12 | 2019-03-21 | Northwestern University | BLOCK CHAIN DISTRIBUTION NETWORK |
US11449887B2 (en) * | 2017-10-09 | 2022-09-20 | American Express Travel Related Services Company, Inc. | Systems and methods for loyalty point distribution |
US10567168B2 (en) * | 2017-11-16 | 2020-02-18 | International Business Machines Corporation | Blockchain transaction privacy enhancement through broadcast encryption |
US10735450B2 (en) * | 2017-11-30 | 2020-08-04 | Intel Corporation | Trust topology selection for distributed transaction processing in computing environments |
US10630769B2 (en) * | 2017-12-26 | 2020-04-21 | Akamai Technologies, Inc. | Distributed system of record transaction receipt handling in an overlay network |
US11606190B2 (en) * | 2017-12-26 | 2023-03-14 | Akamai Technologies, Inc. | High performance distributed system of record with cryptographic service support |
US11562335B2 (en) * | 2018-01-29 | 2023-01-24 | Mastercard International Incorporated | Method and system for facilitating ATM transactions using blockchain |
US10409783B1 (en) * | 2018-06-06 | 2019-09-10 | Capital One Services, Llc | Distributed work data management |
US10581805B2 (en) * | 2018-06-08 | 2020-03-03 | Gcp Ip Holdings I, Llc | Blockchain overwatch |
US11165756B2 (en) * | 2018-06-11 | 2021-11-02 | Fujitsu Limited | Delayed-access encryption for blockchain field |
US20190385215A1 (en) * | 2018-06-19 | 2019-12-19 | American Express Travel Related Services Company, Inc. | Buyer-centric marketplace using blockchain |
US11748825B2 (en) * | 2018-06-29 | 2023-09-05 | Itron, Inc. | Operating smart sensors using distributed ledgers |
US11769573B2 (en) * | 2018-10-16 | 2023-09-26 | Netspective Communications Llc | Team-based tele-diagnostics blockchain-enabled system |
-
2018
- 2018-09-07 WO PCT/US2018/049831 patent/WO2019055290A1/en unknown
- 2018-09-07 US US16/124,257 patent/US10977628B2/en active Active
- 2018-09-07 CN CN201880002618.8A patent/CN109874409B/zh active Active
- 2018-09-07 US US16/124,698 patent/US11232417B2/en active Active
- 2018-09-07 US US16/124,682 patent/US20190080304A1/en not_active Abandoned
- 2018-09-07 US US16/124,386 patent/US10970690B2/en active Active
- 2018-09-07 US US16/124,232 patent/US11010736B2/en active Active
- 2018-09-07 US US16/124,447 patent/US10929823B2/en active Active
- 2018-09-07 US US16/124,245 patent/US11587050B2/en active Active
- 2018-09-07 EP EP18799423.1A patent/EP3479327B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN106788987A (zh) * | 2016-11-28 | 2017-05-31 | 树读(上海)信息科技有限公司 | 一种基于区块链的征信数据共享与交易系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3479327A4 (en) | 2019-05-29 |
US20190082007A1 (en) | 2019-03-14 |
US20190079952A1 (en) | 2019-03-14 |
US11587050B2 (en) | 2023-02-21 |
US20190081773A1 (en) | 2019-03-14 |
US10977628B2 (en) | 2021-04-13 |
US11232417B2 (en) | 2022-01-25 |
US20190080304A1 (en) | 2019-03-14 |
US10970690B2 (en) | 2021-04-06 |
CN109874409A (zh) | 2019-06-11 |
US20190081777A1 (en) | 2019-03-14 |
US20190081778A1 (en) | 2019-03-14 |
US10929823B2 (en) | 2021-02-23 |
US11010736B2 (en) | 2021-05-18 |
EP3479327A1 (en) | 2019-05-08 |
EP3479327B1 (en) | 2020-12-30 |
US20190081779A1 (en) | 2019-03-14 |
WO2019055290A1 (en) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109874409B (zh) | 区块链分发网络 | |
Malik et al. | Blockchain technology-future of IoT: including structure, limitations and various possible attacks | |
Klarman et al. | bloxroute: A scalable trustless blockchain distribution network whitepaper | |
Ekparinya et al. | Impact of man-in-the-middle attacks on ethereum | |
US9210215B2 (en) | Distribution system and method of distributing content files | |
US8370620B2 (en) | Distribution system and method of distributing content files | |
Alangot et al. | Decentralized and lightweight approach to detect eclipse attacks on proof of work blockchains | |
Rodrigues et al. | Blockchain signaling system (BloSS): cooperative signaling of distributed denial-of-service attacks | |
Recabarren et al. | Tithonus: A bitcoin based censorship resilient system | |
McLachlan et al. | On the risks of serving whenever you surf: Vulnerabilities in Tor's blocking resistance design | |
Szalachowski et al. | RITM: Revocation in the Middle | |
Zhang et al. | Dledger: An iot-friendly private distributed ledger system based on dag | |
Avdoshin et al. | Bitcoin users deanonimization methods | |
Dai et al. | Towards Trustworthy IoT: A Blockchain‐Edge Computing Hybrid System with Proof‐of‐Contribution Mechanism | |
ShenTu et al. | Transaction remote release (TRR): A new anonymization technology for bitcoin | |
US11290426B2 (en) | Block chain network and hash-based cuckoo filter | |
Piatkivskyi et al. | Digital forensic implications of collusion attacks on the lightning network | |
Jiang et al. | Routing attacks prevention mechanism for RPL based on micropayment scheme | |
Lv et al. | PACOM: Parasitic anonymous communication in the BitTorrent network | |
Lei | Exploiting bitcoin’s topology for double-spend attacks | |
Pustogarov | Deanonymisation techniques for Tor and Bitcoin | |
Recabarren Velarde | Secure Distributed Systems Over Satoshi Blockchains | |
Klarman | Unchaining the Blockchain Network Layer | |
Hamadou et al. | An analysis of trust in anonymity networks in the presence of adaptive attackers | |
Zou et al. | BCMIX: A Blockchain-Based Dynamic Self-Reconfigurable Mixnet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |