
如何把Ising问题放上链Quip Protocol量子计算交易池完整指南【免费下载链接】quip-protocol-rsA rust implementation of the Quip Protocol forked from Substrate项目地址: https://gitcode.com/gh_mirrors/qu/quip-protocol-rsQuip Protocol是一个基于 Substrate 构建的 Rust 区块链项目其核心的量子计算交易池Quantum Compute Mempool允许你把Ising 问题作业放上链让持有 CPU、GPU 或量子比特QPU算力的求解者竞价求解——这就是链上量子算力竞价求解的完整玩法。一、项目是什么30秒看懂quip-protocol-rs是一个独立的 Substrate 单链节点quip-network-node共识采用 BABE 出块 GRANDPA 最终性。它的特色在于把量子计算订单撮合写进了链上运行时下单方Proposer把 Ising 问题参数、赏金、截止条件打包成一笔链上交易⚡求解方Solver用任意硬件CPU / GPU / D-Wave / IBM / IonQ / Pasqal 等 QPU求解并提交解⚖️链上裁判自动校验解的质量能量、多样性按策略分发奖励项目采用三 crate 工作区结构node/节点程序、runtime/链上逻辑、pallets/各业务模块。量子交易池的源码位于 pallets/quantum-compute-mempool/src/lib.rs。二、什么是 Ising 问题量子求解者的考题Ising 问题是量子退火硬件最擅长的一类优化问题可以通俗理解为有 N 个自旋每个取值 1 或 -1它们之间存在耦合关系要求找到一个整体能量最低的配置。它广泛用于物流调度、投资组合、蛋白质折叠等 NP-hard 优化问题。在 Quip 交易池里一个作业由这些参数描述定义见 pallets/quantum-compute-mempool/src/types.rs参数含义nodes自旋节点列表edges节点之间的耦合边h_values每个节点的外场固定点毫值1000 1.0j_values每条边的耦合强度min_energy_milli可选能量下限解必须达到min_diversity_milli可选解之间的最小多样性min_solutions可选至少要求多少个解小贴士链上解空间是自旋空间 {-1, 1}不接受 0/1 二进制值。如果你的模型是 QUBO请在 SDK 侧离线转换后再调用propose_job转换公式与spec_id约定见 docs/quantum-compute-mempool.md。三、竞价求解的 5 个关键步骤整个流程由 8 个链上调用extrinsic驱动最核心的 5 步如下1️⃣ 求解者注册register_solver求解者声明自己的硬件类型后进入白名单。支持的硬件家族包括Cpu、Gpu、QpuDwave、QpuIbm、QpuIonq、QpuPasqal、Asic枚举定义见 types.rs。2️⃣ 下单方发布作业propose_job调用 propose_job 时需指定赏金立即被链上锁定reserve保证奖励可信访问模式Open人人可解或Bid定向竞价只允许指定求解者或指定硬件类型参与奖励策略SingleBest最高者通吃、TopNWeighted按成绩加权分给前 N 名、TopNEqual前 N 名平分最多 32 名结果交付OnChainOnly只存链上、Callback结算后回调你的端点、CallbackWithPoll回调 可轮询查询链上还会自动做拓扑一致性校验由纯数学校验 crate crates/quantum-validation/src/ising.rs 提供非法作业会被直接拒绝。3️⃣ 求解者提交submit_solutionsubmit_solution 提交一组自旋解。链上即时验证能量与多样性门槛不满足能量下限或多样性不足 → 交易直接失败不浪费任何赏金通过验证的解写入OrderSolutions存储任何 SDK 都可以通过标准 Substrate 存储 RPC 查询无需自定义 RPC第一个解到达会触发FirstSolutionReceived事件开启宽限期计时4️⃣ 订单结算与奖励分发订单采用两阶段计时模型逻辑见 lifecycle.rs硬性截止创建块 deadline_blocks宽限期首个解到达后再等block_wait个块让更好的解有机会追赶到期后链上按奖励策略选出赢家触发ResultReady事件。赢家通过claim_reward提取赏金。5️⃣ 查询与清理订阅System.Events过滤JobProposed、SolutionAccepted、FrontRunnerChanged、OrderClosed等生命周期事件即可跟踪全状态机CallbackWithPoll模式的消费者注意结算结果有 TTL被清除后会发ResultPurged请及时拉取查询示例Pythonsubstrate-interface完整代码见 docs/quantum-compute-mempool.md四、新手上手三种跑法方式一本地三验证节点推荐练手# 克隆仓库后 git clone https://gitcode.com/gh_mirrors/qu/quip-protocol-rs cargo build --release scripts/start-local3.sh用 Alice/Bob/Charlie 三个账户组成本地链EIP-1551337可连 Polkadot.js Apps 通过ws://localhost:9944~9946交互。等价 Docker 方案是docker compose up --build配置在 docker-compose.yml。方式二Docker 一条命令接入公共测试网docker run --rm -v quip-data:/data -p 9944:9944 -p 30333:30333 \ registry.gitlab.com/quip.network/quip-protocol-rs/quip-network-node:v0.2.0 \ --chainquip-testnet --base-path/data公共测试网quip-testnetAGLS 代币12 位小数EIP-15520033bootnode 已内嵌在链规中自动发现节点。方式三源码研读路径想学什么看哪里交易池全部链上逻辑pallets/quantum-compute-mempool/能量/多样性/解质量校验数学crates/quantum-validation/src/难度爬升与 PoW 拓扑量子挖矿pallets/quantum-pow/ 与 docs/quantum-pow-difficulty-convergence-plan.md交易签名混合密钥crates/transaction-crypto/ 与 docs/polkadotjs/README.md环境搭建env-setup/README.md 与 docs/rust-setup.md 质量保障方面Ising 校验数学有 Python 参考实现的对拍测试fixtures 见 crates/quantum-validation/tests/python_parity.json确保链上链下算法严格一致。五、常见问题 FAQ问为什么作业规格spec_id是固定的哈希交易池内置了规范规格plain-ising-v1创世即存在SDK 可直接硬编码其spec_id而无需先注册自定义规格由团队通过 root 权限登记保证协议安全。问Bid 竞价模式和 Open 模式怎么选预算有限或只想给特定硬件如某家 QPU下单用Bid指定miners或miner_types白名单想让所有算力同台竞技用Open。问奖励会打水漂吗不会。赏金在propose_job时就被锁定在链上只有结算出的赢家才能通过claim_reward提取订单过期未成交时资金会释放不存在中间态风险。一句话总结Quip Protocol 量子计算交易池 链上 Ising 作业市场。下单方锁赏金、求解方竞价、链上验解、按策略分奖励——把量子算力变成了可交易、可审计的链上资产。【免费下载链接】quip-protocol-rsA rust implementation of the Quip Protocol forked from Substrate项目地址: https://gitcode.com/gh_mirrors/qu/quip-protocol-rs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考