技术架构
Last updated
Last updated
Zippy 的技术基础是一种混合分片技术,结合了网络分片和状态分片。分片是指一种水平扩展方法,将区块链网络中的任务分配给不同的节点进行处理。通过将一个区块按时间顺序分割成不同的片段,并将这些片段分配给不同的分片进行并行处理和确认一小部分交易,整个网络的性能可以得到提升。在存储区域被分割后,不同的分片只存储不同的部分。因此,每个节点只负责处理其自身的分片数据。
网络分片:将整个区块链网络划分为若干组,每组称为一个分片。所有分片同时处理不同的交易,以实现并行记账。
按节点运行的交易活动:交易随机分配到不同的分片或组中,一些节点负责记账,例如通过交易哈希值或地址进行分配,或者通过可验证随机函数(VRF)进行随机分配。
状态分片:在每个分片中存储完整的账本信息,每个分片维护自己的账本信息。
Zippy 通过全栈方法解决了跨分片数据同步的问题。
信标链也是一个分片链, 负责传输指令,协调执行链运行,不具备储存功能,仅负责随机信标和身份登记。
随机信标:产生随机数和接受权益质押。
分片链是负责存储与运行不同链上状态信息和交易的区块链,属于需求的执行层。执行链能够处理和验证交易,分片链有很多节点维护验证交易,具备数据存储功能。
为了保证区块链安全和一致性,信标链包含了分片链每个区块的头文件, 信标链也会向其他分片广播自身的头文件。即便同步运行 N 条子链,各分片的头文件也能相互共享。同时保证了去中心化。
ZippyChain 通过 Kademlia 路由协议实现分片间的互相访问,保持分片间交易账本的一致性:每个分片根据分片数字距离设定的路由器表向就近的分片传输信息,进行交互。分片之间可以交易并保证不同分片交易的一致性。
防止文本篡改的模式:大部分区块链结构为了验证交易信息,需要下载区块链全节点信息,极大拉低了验证速度。ZippyChain 采用轻节点信息,将每个区块每个时期(epoch)里截取部分哈希值组合,再下载现在该时期(epoch)里所有哈希值进行验证。
并行确认机制使用以太坊虚拟机(EVM)的并行确认机制是一种提升以太坊网络交易确认速度的方法。在以太坊网络中,每笔交易都需要经过多个节点逐一验证和确认,然后才能添加到区块链中,这通常需要一定的时间和资源。 为了加快这一过程,Zippy 采用了通过乐观执行(optimistic execution)实现的 EVM 并行执行引擎。在执行引擎方面,冲突被积极管理,交易以乐观的方式批量处理,然后在执行后进行验证,如图 5 所示
具体来说,当一个节点接收到一笔交易时,它会将这笔交易发送给其他节点进行验证和确认。如果多个节点同时验证这笔交易,这些节点可以并行执行交易的智能合约代码,而无需等待其他节点的确认。这种并行确认机制可以提高交易处理速度和网络吞吐量,从而提升整个网络的性能和可扩展性。此外,Zippy 的并行执行引擎通过以下方式解决关键挑战,以实现高效的并行交易处理:
分发器(Dispatcher):负责将交易分配到多个线程中进行并发执行,从而优化吞吐量。
并行执行引擎(Parallel Execution Engine):利用并行处理在专用线程上独立执行交易,显著减少处理时间。
本地状态数据库(Local StateDB):每个线程维护自己的“线程本地”状态数据库(StateDB),在执行过程中高效记录状态访问信息。
冲突检测与重执行(Conflict Detection & Re-execution):通过识别和管理交易依赖关系来确保数据完整性。在发生冲突时,交易将被重执行,以确保结果准确。
状态提交机制(State Commit Mechanism):一旦交易最终确定,结果将无缝提交到全局状态数据库,更新区块链的整体状态。
以太坊使用的是传统的 pBFT 共识机制,复杂度为: O(N*N) (N 是总节点数)。 即 pBFT每一个验证者需要把其投票广播给其他验证人的机制,相当于一个领导者把消息广播到所有节点上,节点之间会再次不断互相广播,发信息的数量随着节点的数量近于以平方增加,这使得pBFT 极大增加了通信的复杂程度,当系统中的节点达到几百上千个时,网络将非常拥挤,区块链很难扩展。在此机制下,如果恶意攻击者只到 1/3,网络则不会发生安全问题。
针对 pBFT 难以扩展的问题,ZippyChain 采用迭代优化的 fBFT 共识机制和 BLS(Boneh-LynnShacham)多签方案,复杂度:O(N) (N 是总节点数)。在此机制下,验证者不用向每个主体广播投票,只需通过数字签名的方式把投票发给领导者即可,领导者把收到的数字签名合成为一个数据量位 O(1) 的多重签名,再广播出去。这样一来,在通信复杂度方面由幂次方扩展降维成线性扩展,尤其当节点数目 N 很多时,复杂度相差很大,极大地增加了可扩展性。并且,ZippyChain 通过 BLS 多签算法验证区块头上的签名和信标链的签名以验证区块,这样避免了轮流验证节点和对投票结果进行广播带来的巨大通信量。最后,采用 RaptorQ 喷泉码来加速区块广播过程。
在此机制下,相对于传统的 pBFT 共识机制,安全性可能有所不足。运用分片技术之前,所有参与者呈聚合状态,恶意攻击者占比较少,对整体影响不大;分片后,如果所有恶意攻击者集中到一个分片中,就占有了绝对主导地位,进而破坏分片
ZippyChain 引入 PoS 机制(基于权益的分片)与重新分片机制来保障安全。
将验证者随机分片,而且把每个验证者在每个分片中的最高投票数设置比例规定,防止某一个人在某一分片占主导。具体来说,在每个时期(epoch)内,验证者通过代币权益数量得到投票权,投票权会随机被分配到不同的分片。为了应对大数目恶意权益攻击,ZippyChain 能够对投票权进行随机排序,然后平均分配到不同分片投票。为了得到一个投票权,最低代币数目是总质押数目/(分片数目*c),比如 c=600,一旦超过 600 个投票份额,可以保证分片的高安全性。所以代币的数目越多,要求最低的阀值就会很大。
ZippyChain 对每个分片得到的投票权有限制,如果一个人在某个分片的投票权超过阀值,会被重新分配。为了防止恶意攻击,每个分片投票权在一个时期结束时也会被随机重新分配到其他分片。验证者被分配到一个新的分片后,只需要下载新分片的内容。而且由于每个周期的首个区块包含额外的哈希指针指向上个周期的首个区块,可以只验证每个时期第一个区块的哈希,这样也减少了签名验证计算所带来费用和时间成本。通过 这种方式,新节点在追踪哈希指针时可以跳过一个周期内的其他区块,由此加快了对当前区块链状态的验证。
通过上述 fBFT 的共识机制能够实现更快速的交易确认后,在验证区块的过程中,随机性是保证安全的重中之重。ZippyChain 使用以太坊应用的可验证延迟函数(VDF)和 Algorand 应用的可验证随机函数(VRF)结合的技术,其中 VDF 用于延迟实际随机数的揭示,防止最后揭示者的攻击,VRF加密分类来选择共识验证组,Zippy采用的随机算法集合了上述2个方法的优点。由于有 VDF,领导者在 pRnd 提交到区块链之前,无法知道实际的最终随机数。由于使用VDF 来计算 Rnd,pRnd 已经在前一个区块中提交,领导者无法操纵过程与篡改结果。如果领导者不提交 pRnd 停止协议,fBFT 有一个超时机制可以切换领导者并重新启动协议。确定了随机算法,进而可以把节点(每个节点上一个验证者)随机分配到每个分片上,并且每隔一定时间会重新分配,验证者不会长期占据同一个节点,以此保证了安全性。此外,随机过程采用 DRG协议,其复杂度是 O(n) , 实现了速度线性,从而提高效率。
MEV 问题,是“矿工可提取价值”的简称。根源是因矿工(验证者)被赋予的权力无限大。
矿工既要构建区块的内容,也要负责对出块进行验证+投票。在区块网络的角度来看,用户的意图和行为是由一笔笔不可分割的订单排列而成的,是不连续的,矿工能够事先看到用户的交易,再有针对性地提出自己的交易,在用户发送交易之后捕获这一笔交易并且重新排序,以获得利益。
为了解决这一问题,第一,ZippyChain 采用 Proposer & Builder Scheme (PBS) 技术,将验证者角色分成两个独立的原生角色:
1.提议者(Proposer,即质押 32 个 ETH 并构建区块的验证者)
2.区块构建者(Builder)
在 PBS 下,区块构建者(Builder)彼此竞争,以创建来自搜索者的交易的聚合有序列表。
这些交易捆绑在一起进行优化,可以最大化构建者(Builder)自己的 MEV 费用,然后将其传递给区块提议者(Proposer)。提议者(Proposer)根据自己的最收益选择交易来创建区块,并将其发送到网络,包括链上。这减少了区块提议者(Proposer)审查的中心化权力,因为构建区块的人和选择要包含在区块中的交易并不是同一个人。
第二,由于 ZippyChain 应用的共享负载分片方案(Loadsharing Shading)将每一个区块按分片数目分成了同等数量的小块(Chunks)进行确认,MEV 的空间会随着分片数目的增多而越来越小。把一个区块分成很多小块,提议者(Proposer)并行地去做排序,每一个提议者(Proposer)接到的交易有限,无法看到所有的交易信息。虽然构建者(Builder)可以查看所有的交易信息,无法更改顺序,只需选中对自己利益最大的那个小块(Chunk),所以其他提议者(Proposer)的建议不会被采用。极大程度压缩了 MEV 的空间,尤其随着分片数目的动态增加,效果会越来越好。
ZippyChain 的上链存储解决方案旨在通过智能合约管理并存储各种类型的数据。ZippyChain 的架构采用了 Trie 数据结构,便于高效且安全地管理数据。Patricia Merkle Trie 结合了基数 Trie 和 Merkle 树。这种结构允许高效地存储和检索数据,同时通过密码学哈希确保完整性。主要使用的 Trie 类型包括:
状态 Trie:存储所有账户及其余额的当前状态。
存储 Trie:保存特定于合约的数据和状态变量,实际上充当每个智能合约的虚拟文件柜。
交易 Trie:包含网络处理的所有交易的信息。
上链存储类型
智能合约存储:数据可以直接存储在智能合约中。这包括维护与合约功能相关的状态信息的变量。每个合约都有一个专用的存储空间,数据永久存储在区块链上。
调用数据(Calldata):这是一种在执行期间用于保存函数参数的特殊内存类型。虽然它不是永久存储,但对于交易内临时数据处理至关重要。
上链 Calldata 编码:媒体或其他数据可以直接编码在以太坊交易的 Calldata 中。虽然这种方法成本较低,但它缺乏可编程性,并且可能会在未来网络更新中被修剪。
成本:由于交易相关的 gas 费用,直接在链上存储数据可能极为昂贵。例如,每新增 32 字节的存储空间都可能消耗大量的 gas,对于大型数据集来说并不实用。
数据大小限制:每个区块都有最大尺寸限制,这限制了单笔交易中可以包含的数据量。这一限制要求在设计智能合约时必须精心规划,以确保高效利用空间。
不可变性:一旦数据存储在区块链上,它就变得不可变,即无法被修改或删除。这一特性虽然确保了数据的完整性,但也给信息更新带来了挑战。
鉴于链上存储的这些限制,许多开发者选择采用结合链上和链下存储方法的混合解决方案:
链下存储与链上引用:大型文件或文档通常使用 IPFS 或 Arweave 等去中心化文件存储系统进行链下存储,而文件的哈希值或引用则存储在链上。这种方法在成本效益与不可变性和去中心化的优点之间取得了平衡。
ZippyChain 计划推出 Zippy Layer 2 存储链,这是一个去中心化的存储系统,旨在为用户和开发者提供高效、安全且可靠的数据存储服务。这一创新平台支持管理与以太坊地址兼容的数据和代币资产,允许用户使用他们的以太坊钱包轻松地将资产转移到 Zippy,从而享受更高的性能和更低的成本。Zippy 存储公链通过智能合约促进数据和代币资产的互换,通过使用户能够无缝交易这些资产来增强流动性。为了确保数据的安全性和可靠性,Zippy 采用了一个由存储用户数据的节点组成的“存储提供商”网络。上传的数据会被分割并分布到这些节点上,然后根据用户请求重新组装。开发者将获得与现有 Web2 云存储解决方案性能相匹配的 API,使他们能够使用熟悉的编程语言和工具。这一特性减少了学习曲线和开发挑战,使应用程序能够快速迁移到 Zippy 平台。该架构采用了 GHOSTDAG 共识机制,在保持高度去中心化和安全性的前提下,提高了交易确认和区块生成的效率。这种共识机制支持可扩展性和吞吐量,实现了更快的交易确认和更低的延迟。此外,ZippyChain 还推动数据所有权和市场机会,特别是对于人工智能应用。用户可以将他们的数据作为资产进行交易,解锁经济利益,同时为人工智能训练提供高质量的数据集。总的来说,Zippy Layer 2 存储链旨在通过结合区块链技术与用户友好的功能,彻底改变去中心化存储,以满足不断发展的数字环境中开发者和最终用户的需求。
零知识证明是一种密码学协议,允许一方(证明者)向另一方(验证者)证明一个陈述是真实的,而无需透露超出该陈述本身有效性的任何信息。这项技术在区块链中尤其有价值,原因如下:
交易隐私:零知识证明使用户能够在不泄露敏感信息(如交易金额或参与者身份)的情况下进行交易。例如,隐私币如 Zcash 利用零知识证明来隐藏交易细节,让用户能够安全地进行交易,同时保持匿名性。
身份验证:零知识证明可以在不要求用户披露个人信息的情况下促进身份验证过程。这在去中心化身份系统中特别有益,用户可以在不透露其真实身份的情况下证明属性(如年龄或国籍),即使在 ZNS 中也是如此。
可扩展性:通过允许链下计算并将证明提交到区块链,零知识证明可以增强可扩展性。例如,ZK-Rollups 将多笔交易打包成一个证明,显著提高吞吐量,同时保持隐私。ZippyChain 将推出自己的 ZK EVM Layer 2 公链。
安全性:某些零知识证明实现(如 ZK-SNARKs)的非交互性提供了高效的验证过程,增强了对数据泄露和未经授权访问的安全性。
为了进一步扩展主网,ZippyChain 将推出一个基于零知识证明技术的 ZK EVM Layer 2 公链,该链使用零知识证明技术保护用户隐私,并使用以太坊虚拟机执行智能合约。因此,Zippy 具有高可扩展性和隐私保护能力,同时保持与以太坊智能合约的兼容性,方便开发者将现有的以太坊应用迁移到这个公链上。其中一项核心技术是 ZK Rollup,它利用零知识证明实现区块链的可扩展性。在 ZK Rollup 中,用户发送的交易由链下聚合器收集。聚合器将这些交易打包成一批,并生成零知识证明(ZKP)以证明这批交易的有效性。然后,聚合器将此证明和批次的元数据(如交易的哈希值)发布到主链上。由于主链无需处理每笔交易,只需验证 ZKP,且零知识证明的大小不依赖于打包交易的数量,ZK Rollup 可以在保持网络安全性和去中心化的同时,显著提高主网的吞吐量(TPS)和处理能力。同时,ZK EVM 也可以保护数据隐私,有利于人工智能训练,因为我们可以验证数据而无需观察。ZK Rollup 可以将交易的验证和处理转移到第二层链上,从而保护交易的隐私。这在涉及敏感数据的人工智能应用中尤为重要,因为它可以确保数据的保密性和完整性,从而提高人工智能训练的质量和效率。
AI 代理能够在包括交通、供应链、医疗保健等多个行业中执行任务。这些代理被设计为代用户执行经济工作,提升数字经济中的效率和生产力。ZippyChain 提供了一个强大的区块链基础设施,支持代理操作和用户交易。我们将提供一个平台,作为注册代理的目录,确保它们的可发现性并促进互动。ZippyChain 安全地记录交易,而 ZPT 代币通过启用交易和互动为生态系统提供动力。这种结合促进了自动化的去中心化方法,AI 代理可以在没有中央控制的情况下运行。这不仅提高了效率,还使数字经济中的各种参与者能够平等地获得先进技术。ZippyChain 基础设施通过使 AI 代理能够在多个区块链协议之间无缝运行,支持高性能应用。这解决了 DApp 开发中的可扩展性和可靠性挑战,使开发人员能够轻松集成复杂的 AI 功能。具体来说,我们解决了 AI 代理的以下痛点。
AI 代理的创建与部署:ZippyChain 提供了一个用户友好的界面,允许个人通过即插即用系统轻松创建 AI 代理。用户可以通过质押代币来部署他们的代理,这些代理随后被整合到区块链环境中。每个代理都以 ERC-20 代币的形式呈现,确保所有权,并促进生态系统内的交易。
代币化与共同所有权:ZippyChain 支持 AI 代理的代币化,使用户能够共享这些数字实体的所有权和利润。这种共同所有权模式营造了一个协作环境,多个利益相关者可以投资于 AI 代理并从中受益。
收入生成:AI 代理可以通过各种互动(如提供服务、LLM fine-tuner、游戏或娱乐)产生收入,这些收入在代币持有者之间分配。
ZippyChain 利用智能合约确保所有互动的透明度和安全性。区块链的去中心化特性允许可靠的记录保存和参与者之间的信任,这对于有效管理数字资产至关重要。通过将 AI 代理与区块链整合,ZippyChain 实现了更个性化和响应性的应用。用户从能够根据以往互动预测其需求的智能互动中受益,使去中心化应用(dApp)更加直观。
人工智能的中心化问题:人工智能的中心化是一个重大挑战,这主要是由于大型数据集的专有性质以及过时的模型需要重新训练。此外,像 ChatGPT 这样的大型语言模型需要大量的计算能力(例如,超过 10,000 个 GPU)来进行预训练,这对许多公司来说成本过高。ZippyChain 的去中心化框架:为了解决这一问题,ZippyChain 提出了一个去中心化框架,该框架利用 AI、预测市场和众包 GPU 来收集大量数据并创建共享的机器学习模型。该框架使参与者能够协作构建数据集,并使用他们自己的 GPU 和智能合约来托管可以在 Zippy 上公开共享的更新模型。这个框架特别适用于具有相似输入的学习问题,例如个人助手、游戏和推荐系统、大型语言模型(LLM)。系统组成:该系统由三个可配置的组件组成:激励机制、数据处理器和机器学习模型。多个贡献者可以协作使用他们自己的 GPU 来训练模型,该模型对其他人开放使用。参与者向系统添加数据,这些数据在更新模型之前会被验证和存储。系统的智能合约接受参与者提交的“添加数据”操作,激励机制触发支付或允许其他操作。激励机制:该框架激励贡献者提交真实数据,并对不良数据提交进行惩罚。虽然有可能获得经济利益,但这并非主要目标。数据集的公开性:数据集是公开的,可以通过区块链的交易历史或发出的事件轻松访问。与通常难以过滤垃圾邮件和不良数据提交的典型众包平台相比,这个框架提供了一种更可靠且成本效益更高的收集大型数据集的方法。Zippy 的并行 EVM:Zippy 的并行 EVM 允许快速预训练大型语言模型。Zippy 框架的目标:Zippy 框架旨在为所有人创造有价值的共享资源,同时通过协作促进模型的持续改进,并减少对专有数据的依赖。
如图 12 所示,添加数据包括 3 个步骤。首先,激励机制验证交易,例如,在某些情况下可能需要“质押”或货币存款。其次,数据处理器将数据和元数据存储到区块链中,这确保了数据可供所有未来的使用,而不仅限于当前的智能合约。最后,根据预定义的训练算法更新机器学习模型。除了添加数据外,任何人都可以查询模型以获取预测,激励机制可能会被触发,为用户提供加密货币支付。 通过利用 Huggingface、LLaMa 和 Deepseek 等开源大型语言模型,我们正在通过区块链实现人工智能的民主化。
随着 Layer 1(L1)区块链和 Layer 2(L2)扩展解决方案的日益普及,以及跨多链运行的去中心化应用(dApps)的兴起,不同链之间的有效通信和资产流动变得对网络基础设施至关重要。跨链桥应运而生,旨在促进这种连接性。跨链桥的作用是连接区块链网络,实现原本孤立的生态系统之间的互操作性和通信。没有这些连接,单个区块链内的重大创新可能会因其无法与其他生态系统互动而受到限制。通过在区块链之间提供传输路径,桥接器允许从一条链向另一条链转移代币、消息、任意数据,甚至智能合约调用。Zippy 旨在成为跨所有链的 Layer 1 无信任桥接器。Zippy 将推出一个无信任桥接器,连接到比特币、以太坊、BSC、波场、雪崩、Solana 等主流区块链。这是一个具有跨链轻客户端、中继器和证明全节点的桥接器,完全无信任,除了桥接器连接的两条区块链之外,不需要额外的信任假设:
在以太坊上的高效 Zippy 轻客户端(可以连接到其他链),仅需要一个检查点来验证任意数量的 Zippy 交易证明。
一个固定大小的 Zippy 轻客户端证明,任何用户都需要将其发送到跨链(例如以太坊)以认领他们的 Zippy 交易。
桥接器通过实现区块链网络之间的数据交换和资产流动,解锁了众多用例。每个区块链在速度、吞吐量和成本方面都有其独特的优势和劣势。桥接器通过允许区块链相互利用彼此的创新,增强了整个加密生态系统。对于开发人员而言,桥接器提供了以下好处:
跨链转移:促进不同链之间的数据、信息和资产流动。
扩展协议功能:桥接器扩展了协议的设计空间。例如,原本在以太坊主网上的收益耕作协议可以在所有 EVM 兼容链上提供流动性池。
利用多样化的区块链优势:开发人员可以通过在 Rollups 和侧链上部署他们的 dApps,利用各种 L2 解决方案的低费用。
合作机会:鼓励来自不同区块链生态系统的开发人员合作开发新产品。
桥接器通过促进不同链之间的数据交换和资产流动,解锁了众多用例。每个区块链在速度、吞吐量和成本方面都有其独特的优势和劣势。桥接器通过允许区块链相互利用彼此的创新,增强了整个加密生态系统。跨链桥不仅解决了早期区块链的固有局限性,还为更加互联和功能齐全的多链未来铺平了道路