V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
GuluMashimaro
V2EX  ›  程序员

公司项目要用区块链技术

  •  
  •   GuluMashimaro · 2023-12-29 09:14:09 +08:00 · 4831 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求: 数据上链. 链上数据查询(比对?). 链上数据历史(数据修改历史). 需要有点关于链的图表分析页面.

    仅用于假装数据防篡改,因为投标文件里写了使用区块链,所以就是在原有业务系统的基础上强上这部分功能。

    各位大佬,有没有类似简单功能的开源项目?

    29 条回复    2023-12-30 19:42:08 +08:00
    chendy
        1
    chendy  
       2023-12-29 09:17:58 +08:00   ❤️ 33
    数据库加两列,一列自增,叫‘区块号‘,一列算个 hash ,叫’区块哈希‘,完事
    murmur
        2
    murmur  
       2023-12-29 09:21:33 +08:00
    区块链是比两地三中心更高的冗余,你就一个服务器直接坏了数据一锅端怎么区块,我建议也是直接作假,随机个区块 ID 就可以了
    heIIokitty
        3
    heIIokitty  
       2023-12-29 09:23:55 +08:00
    一楼说的没毛病,其实区块是自增的,hash 就自己生成一个就好了,或者你可以查一下,国内的区块联盟,接入国内的链,腾讯、百度、阿里都有自己的公链。
    xd666888
        4
    xd666888  
       2023-12-29 09:32:58 +08:00
    jdchain
    GuluMashimaro
        5
    GuluMashimaro  
    OP
       2023-12-29 09:37:22 +08:00
    @murmur #2 其实就是做个假,假装有区块链概念,客户领导看看展示分析页面也看不懂技术,业务系统里再展示一下数据上链 查询之类的逻辑,这事就算完了。
    lcy630409
        6
    lcy630409  
       2023-12-29 09:39:17 +08:00
    @GuluMashimaro 不要自己做决定
    把 作假 也就 1l 说的 和 3L 说的 找家 比如阿里云的区块链 的价格 一起上报,让领导决定用哪种
    GuluMashimaro
        7
    GuluMashimaro  
    OP
       2023-12-29 09:43:12 +08:00
    @lcy630409 #6 领导意思是开发一个单独的 区块链服务,创建链之类的功能, 再搞几个增查接口,最后再搞个统计分析页面。

    我想着看看有没有简易版本的开源项目,改吧改吧就算了。
    murmur
        8
    murmur  
       2023-12-29 09:48:01 +08:00
    @GuluMashimaro 真上区块链对性能影响很大的,区块链防串改靠的就是非常复杂的计算,让你改起来成本不可能实现

    而且你是单一节点上了区块链咋了,我重算就可以了

    而且,最重要的,你必须想明白一点,上了真区块链,你怎么 update ,你只能用旧的覆盖新的,然后只展现最新,这对很多开发是致命的,相当于不允许 update 操作了
    5sheep
        9
    5sheep  
       2023-12-29 09:49:08 +08:00
    一楼通透。
    更进一步,还可以做一个上链标准接口,不破坏现有系统。
    建一张区块表(自增 id ,数据 id ,数据 hash 值,区块 hash 值)
    新增或编辑数据时,就把最新数据的 hash 值、主键 id 、数据 hash 值与上次区块 hash 再次 hash 的值插入这张表
    这张表分发到不同服务器,或者不同主体的服务器,--- 真·区块链
    paceewang1
        10
    paceewang1  
       2023-12-29 09:50:47 +08:00
    @GuluMashimaro hyperledger ,这个是联盟链明星开源代码,不过只能说不仅不简单,而且非常难

    https://github.com/hyperledger/fabric
    purringpal
        11
    purringpal  
       2023-12-29 09:56:21 +08:00
    冷知识:区块链三大优点在忽悠韭菜时有用,在实际业务中无用。
    1 楼正解
    c2const
        12
    c2const  
       2023-12-29 10:09:51 +08:00
    如果你真自己实现,那么:
    --------------
    1.哪怕抄一个开源的,改起来也是非常麻烦 :(
    2.部署得多地区、多服务器吧,成本预算也不一定能批下来 :(
    3.区块链还有安全性问题和防攻击,不说其它,就开源代码得先审计吧,所以不是深入过最好别用开源的 :(
    --------------

    最后,不管是加预算、加团队人员、用腾讯阿里之类三方公司的区块链、甚至作假,都别自己抗,多问问领导 :)
    KING754
        13
    KING754  
       2023-12-29 10:18:00 +08:00
    我最近有一个政府部门的项目,也有类似的需求。
    考试成绩,确认,还有证书想上链。

    各位大佬,有什么好的方案吗?
    lbunderway
        14
    lbunderway  
       2023-12-29 10:30:53 +08:00
    可以就用 bsc 那套 部署几个节点 将重要数据上传 包含浏览器 也好演示 看起来也不错的
    biubiuF
        15
    biubiuF  
       2023-12-29 10:39:57 +08:00
    直接以太坊+ipfs
    nikola11
        16
    nikola11  
       2023-12-29 11:33:00 +08:00
    我们做区块链的 开源的 你说的这个都有现成的东西用 需要可以联系我
    mcfog
        17
    mcfog  
       2023-12-29 12:56:57 +08:00 via Android   ❤️ 1
    git commit; git push
    问就是自主研发私有链自主可控(
    Donahue
        18
    Donahue  
       2023-12-29 13:24:12 +08:00
    github: 基于区块链的农产品溯源系统
    感觉很复杂
    iv2ex
        19
    iv2ex  
       2023-12-29 13:52:04 +08:00
    在数据库里加字段难道不用去区块链浏览器里对比验证吗?
    iv2ex
        20
    iv2ex  
       2023-12-29 13:52:23 +08:00
    @iv2ex 验收的时候验证是否真的上链
    ooee2016
        21
    ooee2016  
       2023-12-29 14:27:09 +08:00
    用国内的联盟链吧, 虽然也是假的区块链. 但你要是用自增 id 查出来就废了
    Aresrun
        22
    Aresrun  
       2023-12-29 14:37:50 +08:00
    dhb233
        23
    dhb233  
       2023-12-29 15:21:54 +08:00
    看到前面说 git 。如果每次把上次的 commit id 和日志写到这次提交的内容里,那就是真正的区块链了。
    git show --stat HEAD~1> ./pre_commit_id
    git add ./pre_commit_id
    git commit -m xxx
    lxzxl
        24
    lxzxl  
       2023-12-29 18:22:47 +08:00 via Android
    定期批量 rollup 到国内某个联盟链吧,不仅是区块链,还有 L2 概念
    HitouchiMi
        25
    HitouchiMi  
       2023-12-29 21:49:13 +08:00
    这么建议吧,也不用真的做区块链,也不用找什么开源的数据,你就这么写:假设在业务表里有 10 万条数据,一定要有一个字段使用自增 ID ,你就先取前 1 万数据,然后定个格式拼起来,拼个.dat 文件,然后算这个文件的 hash ,然后记个文件 ID ,存到下一个文件的开头,下一个文件再取 1 万条拼起来放在 hash 后面,以此类推。这就是区块链里技术的一种,链式存储,就可以相当于用了区块链嘛。然后这些文件生成以后可以放到不同的服务器上,这就是分布式嘛。页面展示的时候你就选那 1 万条,现场算个哈希,然后打开下一个文件一看,诶,一样的,改一下,再一算不一样了,闪个红色告警,这就是防篡改嘛。然后你还可以吹:普通区块链技术的共识算法对性能大幅限制,我司针对自有产品的特性,通过引入节点认证方式,创新性地实现了免共识/0 开销共识技术。
    DefoliationM
        26
    DefoliationM  
       2023-12-30 10:05:20 +08:00 via Android
    hyplerledger fabric ,区块链当成分布式键值对数据库就行了, 这个不用改就能用,只需要写个智能合约。
    当然学习成本不低,如果你从来没接触过,可能得先学习个一周概念,搭建方法,使用方法,智能合约接口等等。
    建议不要用假的,如果客户有懂技术的,发现是假的。
    199808lanlan1111
        27
    199808lanlan1111  
       2023-12-30 12:39:07 +08:00 via Android
    @murmur 起始实际上也没有区别,因为肯定是自己开发链,然后自己跑矿工节点,服务器还是自己的
    JerryYuan
        28
    JerryYuan  
       2023-12-30 16:31:48 +08:00 via Android
    @chendy 没毛病,然后再写段程序检查后边的 hash ,对不上的及时重算 hash 。(你就说用没用区块链吧😏
    laminux29
        29
    laminux29  
       2023-12-30 19:42:08 +08:00
    没想到都这年头了,还有人信区块链防数据篡改,那么多交易所为了洗钱直接回滚数据,说好的区块链防篡改呢?

    真正的防篡改,不是技术问题,而是约定问题。因为在技术上,你对新增数据,记录一下 HASH ,然后就能知道对方发来的数据有没有被篡改。所以这个问题的重点:

    是否约定,一旦双方数据不一致时,以什么作为标准,以及怎么处理?

    比如交易所回滚交易,你重登陆后发现钱没了,你怎么办?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2630 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:13 · PVG 23:13 · LAX 07:13 · JFK 10:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.