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

公司项目要用区块链技术

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

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

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

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

    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 说的 找家 比如阿里云的区块链 的价格 一起上报,让领导决定用哪种
    GulMashimaro
        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 操作了
    sivl6p
        9
    sivl6p  
       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     Solana     2835 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:35 PVG 22:35 LAX 06:35 JFK 09:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86