V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
jefferyJQ
V2EX  ›  奇思妙想

有没有一种“把私钥关进时间胶囊”的工具?想物理强制自己 HODL

  •  1
     
  •   jefferyJQ · 15 小时 45 分钟前 · 1647 次点击

    最近在思考一个反人性的操作:与其考验主观耐力,不如从客观上切断退路。 我想找这样一个工具:

    1. 本地生成一个新的钱包私钥。
    2. 对私钥进行“时间锁加密”( Time-lock Encryption )。设定一个解密难度或者依赖未来的某个时间戳(比如 Drand 信标)才能解密。
    3. 把币转进去,然后彻底删除明文私钥,只保留那个“打不开”的加密文件。
    4. 这样在设定时间到达之前,哪怕比特币涨到 20 万或者跌到 1 万,我也只能干瞪眼,没有任何办法卖出。 现在的智能合约(如 CLTV )虽然能做到锁定,但往往操作门槛高,而且要把币转到合约里总觉得不放心。我想问问大家:

    ● 这种“加密后丢弃钥匙”的方案,目前有成熟的开源工具吗?

    ● 这种做法最大的风险是不是如果不小心把加密文件也删了,就彻底归零了?

    ● 还有没有比这更绝的“防手贱”方案?

    第 1 条附言  ·  8 小时 5 分钟前
    其实看了一圈大家的建议,特别是提到“多签”或者“托付给朋友”的方案,我觉得对于我来说,HODL 本质上是个人性问题,而不是简单的技术问题。

    之所以想找“时间胶囊”这种物理/代码层面的强制工具,就是因为我不相信“人”的意志力——既不相信我自己,也不相信帮我把控的朋友。

    如果依靠朋友或家人来做多签把控,最大的漏洞在于:当行情剧烈波动、我情绪上头的时候,我一定会想方设法去“攻破”这个人。-- 之前实践过

    无论是暴涨怕踏空,还是暴跌怕归零,在那个人性最脆弱的时刻,我肯定会找出一万个看似“合理”的理由(比如“这次不一样”、“家里急用钱”、“肯定是历史大顶了”等等),软磨硬泡、甚至动用人情压力去说服朋友同意提前解锁。朋友毕竟是人,很难长时间扛住当事人的这种疯狂输出。

    只有冷冰冰的代码和数学,才不会听我的解释、借口和哀求。 这就是我为什么执着于找一个“无法被说服”的工具的原因,我需要的是一堵撞不破的墙,而不是一扇能敲开的门。
    51 条回复    2026-02-08 01:57:11 +08:00
    jocover
        1
    jocover  
       15 小时 38 分钟前
    申请个邮箱,定时发邮件,几年后把私钥发给自己就行了
    jefferyJQ
        2
    jefferyJQ  
    OP
       15 小时 36 分钟前
    @jocover 那不还是自己的账号邮箱吗?还是可以自己登录上去看发给自己的邮件
    dilidilid
        3
    dilidilid  
       15 小时 32 分钟前   ❤️ 2
    密码学上来说似乎不太现实,你不可能在现在拿到未来的信标。。。本质上只能依赖人为的约束比如合约
    jocover
        4
    jocover  
       15 小时 32 分钟前
    @jefferyJQ 你用别人邮箱发也可以呀
    pweng286
        5
    pweng286  
       15 小时 18 分钟前
    把钱转给我我帮你操作
    kz453
        7
    kz453  
       14 小时 55 分钟前
    拿 AES128 加密你要锁的信息,然后抛弃 AES 密钥的一部分比特,接着找台计算机运行暴力破解你抛弃的那部分密钥。这个要算精确点,比如 32bit ,平均要运行 2^32 次尝试,单核算大概一分钟,想管住一个月算算大概是 48bit 。

    有两个缺点,一个是时间不固定,另一个是你可以用多核或者 GPU 加速。

    不过其实你只是想管住自己的手,这么做估计够用了

    此外还有一个: https://en.wikipedia.org/wiki/LCS35
    testj
        8
    testj  
       14 小时 43 分钟前   ❤️ 1
    在现实中各种对私钥的操作都会增加私钥的暴露或者遗失风险,最稳妥的还是依赖合约实现。可以使用 OpenZeppelin 的 TokenTimelock ,毕竟经过业界验证。
    加密世界重要的两条规则:
    1. Not your keys, not your coins.
    2. Code is Law
    sillydaddy
        9
    sillydaddy  
       14 小时 16 分钟前
    很有意思的想法。目前看来就是你说的 2 个方案:
    1 是借助冷冰冰的物理和算法,像 vdf 这种本地挑战难题,甚至无法用硬件加速。它只需要你在电脑上一直跑解密程序,跑个几年。
    2 是借助外界(如区块链)监督,如各种智能合约。

    哪种更让人安心,因人而异。但合约明显更方便吧。
    jefferyJQ
        10
    jefferyJQ  
    OP
       13 小时 47 分钟前
    @Kirkcong 这个的确是一个很好的方案,但是考虑到长时间的锁定情况下,要是网站不继续运营,还需要一个备用的依靠本地离线计算解密的备用方案。
    jefferyJQ
        11
    jefferyJQ  
    OP
       13 小时 46 分钟前
    @sillydaddy 合约主要是怕有漏洞或者项目方作恶等风险
    jefferyJQ
        12
    jefferyJQ  
    OP
       13 小时 44 分钟前
    @pweng286 刚接触的时候的确有这种想法,把币转给朋友代为保管。但是人性是经不住考验的
    rolandzhou
        13
    rolandzhou  
       13 小时 43 分钟前 via iPhone   ❤️ 2
    好像有现成的。Gemini 回答的。还没查验。

    这种服务通常被称为**“时间胶锁加密”( Time-Lock Encryption )或“定时解密”( Timed-release Encryption )**。
    目前市面上确实存在几类不同的实现方案,它们通过不同的技术手段来确保“私钥在未来某刻才可用”。
    1. 基于信标链( Beacon )的服务:Drand
    这是目前最成熟、最接近你描述的服务。Drand 是一个分布式随机信标项目,它利用门限加密技术提供一种“基于时间的加密”服务。
    • 工作原理:Drand 网络每隔一段时间(例如 30 秒)会生成一个不可预测的随机数。通过数学构造,你可以针对**未来的某个轮次( Round )**进行加密。
    • 如何实现: 你可以使用当前的公钥加密信息,而解密所需的“私钥”实际上是该未来轮次生成的随机签名。在该时间点到来之前,全球没有任何人(包括你和节点服务器)能算出这个签名。
    • 特点: 去中心化、开源、无需信任单一第三方。
    2. 基于智能合约的方案( Web3 )
    在以太坊等区块链上,有一些协议通过去中心化网络来管理密钥分发。
    • 代表项目:Tlock (基于 Drand) 或一些 DAO 治理工具。
    • 机制: 你将数据加密后存储,并将解密触发器设置为某个区块高度或特定时间戳。当时间到达时,网络中的节点会协作释放私钥碎片或执行解密逻辑。
    rolandzhou
        14
    rolandzhou  
       13 小时 40 分钟前 via iPhone
    @jefferyJQ 你可以再加密一层,把加密后的交出去嘛。这层秘钥留在手里就好。

    另外防止节点挂掉无法解密,可以找几个不同的服务/朋友作为互备。
    JohnSmith
        15
    JohnSmith  
       13 小时 39 分钟前 via Android
    写个合约不就好了 把 token 放进去 到时候才能拿
    z7356995
        16
    z7356995  
       13 小时 18 分钟前 via Android
    把密钥存在 vps 上,服务器上写死 ssh 登录脚本,脚本内容为,如果时间未达到指定时间前,禁止任何登录。
    ntedshen
        17
    ntedshen  
       13 小时 15 分钟前
    结个婚,离婚的时候拿(狗头
    FarAhead
        18
    FarAhead  
       13 小时 5 分钟前
    hold on for dear life
    What Does HODL Mean? HODL, originally a typo for "hold," has morphed into an investment strategy acronym for "hold on for dear life," echoing a long-term commitment among cryptocurrency enthusiasts.

    你说的 HODL 是这个意思?
    z7356995
        19
    z7356995  
       13 小时 3 分钟前 via Android
    这个可以自己做一个,用 vps 为例,自已写一个脚本,指定时间到以前,禁止任何 ssh 连接,连不上来就没法拷走密钥。当然 vps 上可能有各种备份恢复。这个思路就可以延伸为自己写一个 linux 的脚本,指定时间指南用网络时间,然后时间到以前禁止登陆。自己攻防几次。把自己到指定时间前能登陆的路都堵死,原理和 ipad 输错密码锁定机器一样,只不过这个程序是自己写的
    blackcurrant
        20
    blackcurrant  
       13 小时 1 分钟前
    bitcoin 实现这个根本用不着智能合约,转账加个 locktime 就好了。
    xuanbg
        21
    xuanbg  
       12 小时 51 分钟前
    要什么密码学。。。没有什么参数是只能来源于未来的,密码学也无能为力。

    最简单的办法是:你把比特币转给我,约定一个还给你的时间就好了。
    davidqw
        22
    davidqw  
       12 小时 26 分钟前
    比特币用时间锁脚本,以太坊用智能合约
    gy0624ww
        23
    gy0624ww  
       12 小时 5 分钟前
    我有一个疑问,既然虚拟货币波动很大,为什么不做 T 来降低成本,要锁起来 只进不出呢?
    skydiver
        24
    skydiver  
       11 小时 49 分钟前 via Android
    @gy0624ww 万一做反了呢?岂不是增加成本?不可能所有人做 t 都赚钱
    xxbing
        25
    xxbing  
       11 小时 40 分钟前
    1. Bitcoin 里面 Taproot 下可以实现“锁定 N 个区块之后才能取出 BTC”,而且这是比特币原生支持、非常成熟的能力。
    2. EVM 链直接写个合约,用区块高度锁或者时间戳锁. 锁定资产解冻日期.
    willwon1
        26
    willwon1  
       11 小时 40 分钟前
    部署一个在线合约、用转账的条件是区块链上的区块数量
    xxbing
        27
    xxbing  
       11 小时 35 分钟前   ❤️ 1
    “这样在设定时间到达之前,哪怕比特币涨到 20 万或者跌到 1 万,我也只能干瞪眼,没有任何办法卖出。 现在的智能合约(如 CLTV )虽然能做到锁定,但往往操作门槛高,而且要把币转到合约里总觉得不放心。”
    不要担心恐惧合约这种东西,到 bsc 或者 eth 等等公共测试链,领取水龙头测试代币.随心所欲的测试、实践. 彻底懂了再到主链上实操
    seakingii
        28
    seakingii  
       11 小时 11 分钟前
    你可以把私钥发给我,N 年后我再发给你
    realdaniel
        29
    realdaniel  
       10 小时 56 分钟前
    https://timelock.dev/
    但是如果是几十年的话,可能服务关掉了,再也解不开。
    evplus
        30
    evplus  
       10 小时 53 分钟前
    换个策略,按现在的价格买,仓位不能太轻,因为大概率没到底,所以一直跌跌得你失去信心,不得不在现实中赚钱,不再有关注的兴趣。远离相关论坛节点,取关相关账号。直到某一天你看到 20 万的(大众渠道的)新闻才想起来。我相信绝大多数 HODL 过来的人都有这样的经历,而不是什么高科技。
    czzhengkw
        31
    czzhengkw  
       10 小时 41 分钟前
    写一个智能合约,设置一个时间点,在这个时间点之后发一笔交易给合约,它就会把资金里的资金全部转到你在代码里指定的地址里
    然后往里面转资产,等到时间到了发交易就能收到资产了
    时间未到之前发交易是没有用的
    gy0624ww
        32
    gy0624ww  
       10 小时 29 分钟前
    @skydiver 既然波动很大,而且看好增长,不可能做反把,反正都是拿着,和套着没区别。
    只要高抛低吸,没到要求就拿着呗。
    Kirkcong
        33
    Kirkcong  
       8 小时 28 分钟前
    @jefferyJQ #10 你想要的应该是某个必须花费一定时长的物理限制,类似于 bit 币那样,必须要花费这么多时间。有是有,能实现你说的这种方式,但是稳定性有问题。

    https://github.com/rayanamal/timelock

    上面这个就是物理限制,依靠 cpu 计算一定次数来加密解密。但是不可靠,作者说他最长有过 12 小时,对于你来说肯定不够。还有一个问题,“必须花费一定时长的物理限制”,这意味着他真的需要连续跑你设定的这么长时间,你得真的有设备持续不断的运算这么久。这点来看,可靠性真的不如 tlock ,最好依赖一个可信的第三方。

    或者,使用 aws nitro-enclaves ,写个简单的 py 脚本,里面设置逻辑,只有当 xxx 日期后才能输出密钥,放入 enclaves ,启动,enclaves 不可更改,不可调试,绝对按照你脚本逻辑运行,非常安全。

    脚本逻辑:
    1. 获取到用户传入的 key 。
    2. 输出 key 之前验证当前日期是否大于 xxx ,是则输出 key ,否则拒绝请求。( enclaves 不可更改,意味着时间也不可更改)
    jefferyJQ
        34
    jefferyJQ  
    OP
       8 小时 27 分钟前
    @gy0624ww #32 人性经不住考验,币圈有 100 倍杠杆,99%的人都忍不住的
    Kirkcong
        35
    Kirkcong  
       8 小时 26 分钟前
    @Kirkcong #33 当然,这个前提是你的 enclaves 不可以关机,必须一直跑着,否则 key 丢失。aws 可以保证这一点,但是你要承担 ec2 的价格,不是很贵,但也确实得一直跑着。
    FFM
        36
    FFM  
       8 小时 26 分钟前
    再加密一层交给朋友家人就行。
    jefferyJQ
        37
    jefferyJQ  
    OP
       8 小时 26 分钟前
    @JohnSmith 不会 web3 的东西,投资第一原则不做不擅长的事情
    jefferyJQ
        38
    jefferyJQ  
    OP
       8 小时 25 分钟前
    @FFM 我试过,然后上头了几句话就套出来了
    jefferyJQ
        39
    jefferyJQ  
    OP
       8 小时 24 分钟前
    @evplus 大部分人,包括我,没办法忍住不看的。这种人真的是反人性的
    jefferyJQ
        40
    jefferyJQ  
    OP
       8 小时 21 分钟前
    @jocover #4 这种很难的,人家只是保管,不想关系破裂。有时候会因为行情大变而否定之前的决策,然后会想办法找回数据,人家不可能不给的
    cyp0633
        41
    cyp0633  
       8 小时 21 分钟前
    @rolandzhou #13 还真行,今天在 HN 上了解到一个算法,可以在 M 个朋友里有至少 N 个提供各自部分密钥的情况下解密
    jefferyJQ
        42
    jefferyJQ  
    OP
       8 小时 20 分钟前
    @z7356995 #16 这种也是一种方式,但是我咋感觉不太可靠
    jefferyJQ
        43
    jefferyJQ  
    OP
       8 小时 7 分钟前
    其实看了一圈大家的建议,特别是提到“多签”或者“托付给朋友”的方案,我觉得对于我来说,HODL 本质上是个人性问题,而不是简单的技术问题。

    之所以想找“时间胶囊”这种物理/代码层面的强制工具,就是因为我不相信“人”的意志力——既不相信我自己,也不相信帮我把控的朋友。

    如果依靠朋友或家人来做多签把控,最大的漏洞在于:当行情剧烈波动、我情绪上头的时候,我一定会想方设法去“攻破”这个人。-- 之前实践过

    无论是暴涨怕踏空,还是暴跌怕归零,在那个人性最脆弱的时刻,我肯定会找出一万个看似“合理”的理由(比如“这次不一样”、“家里急用钱”、“肯定是历史大顶了”等等),软磨硬泡、甚至动用人情压力去说服朋友同意提前解锁。朋友毕竟是人,很难长时间扛住当事人的这种疯狂输出。

    只有冷冰冰的代码和数学,才不会听我的解释、借口和哀求。 这就是我为什么执着于找一个“无法被说服”的工具的原因,我需要的是一堵撞不破的墙,而不是一扇能敲开的门。
    jefferyJQ
        44
    jefferyJQ  
    OP
       8 小时 3 分钟前
    @FarAhead 是的
    jefferyJQ
        45
    jefferyJQ  
    OP
       8 小时 2 分钟前
    @blackcurrant 的确是一个非常好的方式
    jefferyJQ
        46
    jefferyJQ  
    OP
       7 小时 59 分钟前
    @xxbing #27 感谢,看起来这种方式比直接加密私钥更稳妥一些
    sugost
        47
    sugost  
       7 小时 44 分钟前
    是不是可以以比特币区块数量 来判定时间 有没有到?其他链可能倒闭,比特币肯定不会,如果比特币链也倒闭也就没有解密的必要了。
    lanyi96
        48
    lanyi96  
       3 小时 12 分钟前
    智能合约-时间锁很成熟的机制了
    tywtyw2002
        49
    tywtyw2002  
       2 小时 31 分钟前 via iPhone
    技术上这类算法实现了,就等于 p=np 解决了。

    目前基于数学原理,你没有办法用现在的信息得到未来的信息。

    所以基于这套原理才有了 比特币的 暴力逆向 hash 挖矿。
    Hyschtaxjh
        50
    Hyschtaxjh  
       2 小时 10 分钟前 via iPhone
    坐牢
    streamrx
        51
    streamrx  
       41 分钟前 via iPhone
    你直接写个 eth 的合约锁进去不就行了。 非 eth 链的 比如 btc 也可以换成 cbBTC 这些去存
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1054 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:39 · PVG 02:39 · LAX 10:39 · JFK 13:39
    ♥ Do have faith in what you're doing.