项目需求#
我们为 Chia Network 设计并构建了 Luxkey:一款用于核验奢侈品、并把它转交给下一位持有人的手机应用,以及一个供品牌铸造产品数字孪生的后台。数字孪生是 Chia 区块链上的一条永久记录,用来证明产品是正品,并保存它的历任持有人和历史。Chia 的首席运营官当时正在向奢侈品牌推介这一概念,而幻灯片只能描述它。
Chia 最初只请我们做界面。Saif Pasha 与首席运营官和 Chia 的工程师一起梳理出奢侈品牌真正需要什么,然后设计了两部分:持有人使用的应用,以及品牌后台。在后台中,每件产品都会获得自己的数字产品护照(Digital Product Passport),并可设置规则,例如每次转售收取版税,或设定一段不可转售的时间窗口。在 Chia 的一次会面之后,对方那位联系人把这些设计带了回去,分享给她所在的更大团队。

为董事会打造的真实应用#
Chia 接着要求为一场日期已定的董事会会议做一个可点击的原型。原型可以假装扫描,却永远无法真正执行一次扫描,所以 Saif 说服 Chia 放弃原型,转而构建了一个真实的应用:采用 React Native 和 Expo,iPhone 与 Android 共用一套代码,由 Supabase 保存账户和数据。
持有人把产品发送给选定的买家,买家的手机会立即显示这条请求。买家接受后,扫描产品的标签来认领它,只有该产品自己的标签才能完成交接。扫描其他任何标签,都会弹出一条明确的警告,说明它不是正品。卖家使用浅色主题,买家使用深色主题,这样在场同时看着两部手机的人一眼就能分清。

由于当时还没有 Apple 开发者账号,应用是靠 Expo Go 在两部 iPhone 上为董事会运行的。唯一出问题的是会议室的 Wi-Fi,在演示开始前约 2 小时,靠一个手机热点才恢复了连接。在 Chia 买来的一只真正的奢侈品包上,任何人只要把手机举到它的标签前,就能看到它的记录弹出来。
难点:把所有权搬上链#
董事会演示靠的是一个普通数据库,但这个构想的核心,是一条任何人都无法悄悄篡改的记录。下一个版本必须把每件产品及其所有权都放到 Chia 的区块链上。项目中的 Chia 工程师把这部分做成了基于 Chia 钱包的 API,Saif 则在它之上构建了应用和后台。
这条链设定了两个条件。Chia 的钱包一次只能同步一把密钥,而且速度难以预测,所以一次转移可能会当着观众的面卡住。另外,已铸造产品的详情是永久的,这很适合作为真伪记录,但对于发现了错别字的品牌来说就很尴尬。
针对第一点,Chia 的工程师把演示切换到 Chia 的区块链模拟器,在那里每个钱包都在同一台机器上保持同步,我们的团队完成了搭建,并基于它进行开发。针对第二点,后台会先警告品牌,然后销毁旧代币并铸造一个更正后的代币,这样品牌在记录上仍然是制造者。
品牌后台与一触即验#
品牌从 Saif 构建的后台开始。在后台中,品牌添加一件产品,填写它的护照,包括材料、回收以及过往持有人等信息,然后将其代币化,也就是在链上铸造。持有人的应用随后会显示同一件产品,以及它的护照、历任持有人和每一次核验记录。为了 Chia 的下一次董事会会议,Saif 录制并解说了一段完整流程的演示,从产品代币化一直到转交给下一位持有人。

几个月后,与奢侈品牌的会面即将到来,Chia 希望在产品内部放一枚手机轻触即可读取的标签,取代第一版应用使用的印刷二维码。react-native-nfc-manager 需要 Expo Go 无法运行的原生代码,因此我们的团队把应用迁移到了 bare React Native。每一枚 NTAG213 或 NTAG215 标签只保存一个 UUID v4,也就是产品的 ID;我们在两枚真实标签上做了测试,还有第三枚标签,它的 ID 不属于任何产品。那些会面所用的 iPhone 版本,由 Chia 自己的工程师制作。

成果#
Luxkey 两次在 Chia 董事会上亮相,首席运营官反馈说,第二次会议进行得非常顺利。Chia 还向多家奢侈品牌演示了 Luxkey,其中包括 Dior、Versace 和 Chanel。2 月,首席运营官带着 NFC 版本参加了为期一周的奢侈品牌会面,回来时已在与两家客户安排后续跟进。此后,Chia 把应用的数据库迁移到自己的账户下,以便独立继续演示 Luxkey。
Chia 最终得到了幻灯片只能描述的东西:一件记录在其自有区块链上的奢侈品,任何人只需用手机轻触一下,就能核验它,或把它转交给新的持有人。
