最近在思考一个反人性的操作:与其考验主观耐力,不如从客观上切断退路。 我想找这样一个工具:
● 这种“加密后丢弃钥匙”的方案,目前有成熟的开源工具吗?
● 这种做法最大的风险是不是如果不小心把加密文件也删了,就彻底归零了?
● 还有没有比这更绝的“防手贱”方案?
1
jocover 1 天前
申请个邮箱,定时发邮件,几年后把私钥发给自己就行了
|
3
dilidilid 1 天前 密码学上来说似乎不太现实,你不可能在现在拿到未来的信标。。。本质上只能依赖人为的约束比如合约
|
5
pweng286 1 天前
|
7
kz453 1 天前
拿 AES128 加密你要锁的信息,然后抛弃 AES 密钥的一部分比特,接着找台计算机运行暴力破解你抛弃的那部分密钥。这个要算精确点,比如 32bit ,平均要运行 2^32 次尝试,单核算大概一分钟,想管住一个月算算大概是 48bit 。
有两个缺点,一个是时间不固定,另一个是你可以用多核或者 GPU 加速。 不过其实你只是想管住自己的手,这么做估计够用了 此外还有一个: https://en.wikipedia.org/wiki/LCS35 |
8
testj 1 天前 在现实中各种对私钥的操作都会增加私钥的暴露或者遗失风险,最稳妥的还是依赖合约实现。可以使用 OpenZeppelin 的 TokenTimelock ,毕竟经过业界验证。
加密世界重要的两条规则: 1. Not your keys, not your coins. 2. Code is Law |
9
sillydaddy 1 天前
很有意思的想法。目前看来就是你说的 2 个方案:
1 是借助冷冰冰的物理和算法,像 vdf 这种本地挑战难题,甚至无法用硬件加速。它只需要你在电脑上一直跑解密程序,跑个几年。 2 是借助外界(如区块链)监督,如各种智能合约。 哪种更让人安心,因人而异。但合约明显更方便吧。 |
11
jefferyJQ OP @sillydaddy 合约主要是怕有漏洞或者项目方作恶等风险
|
13
rolandzhou 1 天前 via iPhone 好像有现成的。Gemini 回答的。还没查验。
这种服务通常被称为**“时间胶锁加密”( Time-Lock Encryption )或“定时解密”( Timed-release Encryption )**。 目前市面上确实存在几类不同的实现方案,它们通过不同的技术手段来确保“私钥在未来某刻才可用”。 1. 基于信标链( Beacon )的服务:Drand 这是目前最成熟、最接近你描述的服务。Drand 是一个分布式随机信标项目,它利用门限加密技术提供一种“基于时间的加密”服务。 • 工作原理:Drand 网络每隔一段时间(例如 30 秒)会生成一个不可预测的随机数。通过数学构造,你可以针对**未来的某个轮次( Round )**进行加密。 • 如何实现: 你可以使用当前的公钥加密信息,而解密所需的“私钥”实际上是该未来轮次生成的随机签名。在该时间点到来之前,全球没有任何人(包括你和节点服务器)能算出这个签名。 • 特点: 去中心化、开源、无需信任单一第三方。 2. 基于智能合约的方案( Web3 ) 在以太坊等区块链上,有一些协议通过去中心化网络来管理密钥分发。 • 代表项目:Tlock (基于 Drand) 或一些 DAO 治理工具。 • 机制: 你将数据加密后存储,并将解密触发器设置为某个区块高度或特定时间戳。当时间到达时,网络中的节点会协作释放私钥碎片或执行解密逻辑。 |
14
rolandzhou 1 天前 via iPhone
|
15
JohnSmith 1 天前 via Android
写个合约不就好了 把 token 放进去 到时候才能拿
|
16
z7356995 1 天前 via Android
把密钥存在 vps 上,服务器上写死 ssh 登录脚本,脚本内容为,如果时间未达到指定时间前,禁止任何登录。
|
17
ntedshen 1 天前
结个婚,离婚的时候拿(狗头
|
18
FarAhead 1 天前
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 是这个意思? |
19
z7356995 1 天前 via Android
这个可以自己做一个,用 vps 为例,自已写一个脚本,指定时间到以前,禁止任何 ssh 连接,连不上来就没法拷走密钥。当然 vps 上可能有各种备份恢复。这个思路就可以延伸为自己写一个 linux 的脚本,指定时间指南用网络时间,然后时间到以前禁止登陆。自己攻防几次。把自己到指定时间前能登陆的路都堵死,原理和 ipad 输错密码锁定机器一样,只不过这个程序是自己写的
|
20
blackcurrant 1 天前
bitcoin 实现这个根本用不着智能合约,转账加个 locktime 就好了。
|
21
xuanbg 1 天前
要什么密码学。。。没有什么参数是只能来源于未来的,密码学也无能为力。
最简单的办法是:你把比特币转给我,约定一个还给你的时间就好了。 |
22
davidqw 1 天前
比特币用时间锁脚本,以太坊用智能合约
|
23
gy0624ww 1 天前
我有一个疑问,既然虚拟货币波动很大,为什么不做 T 来降低成本,要锁起来 只进不出呢?
|
25
xxbing 1 天前
1. Bitcoin 里面 Taproot 下可以实现“锁定 N 个区块之后才能取出 BTC”,而且这是比特币原生支持、非常成熟的能力。
2. EVM 链直接写个合约,用区块高度锁或者时间戳锁. 锁定资产解冻日期. |
26
willwon1 1 天前
部署一个在线合约、用转账的条件是区块链上的区块数量
|
27
xxbing 1 天前 “这样在设定时间到达之前,哪怕比特币涨到 20 万或者跌到 1 万,我也只能干瞪眼,没有任何办法卖出。 现在的智能合约(如 CLTV )虽然能做到锁定,但往往操作门槛高,而且要把币转到合约里总觉得不放心。”
不要担心恐惧合约这种东西,到 bsc 或者 eth 等等公共测试链,领取水龙头测试代币.随心所欲的测试、实践. 彻底懂了再到主链上实操 |
28
seakingii 1 天前
你可以把私钥发给我,N 年后我再发给你
|
29
realdaniel 1 天前
https://timelock.dev/
但是如果是几十年的话,可能服务关掉了,再也解不开。 |
30
evplus 1 天前
换个策略,按现在的价格买,仓位不能太轻,因为大概率没到底,所以一直跌跌得你失去信心,不得不在现实中赚钱,不再有关注的兴趣。远离相关论坛节点,取关相关账号。直到某一天你看到 20 万的(大众渠道的)新闻才想起来。我相信绝大多数 HODL 过来的人都有这样的经历,而不是什么高科技。
|
31
czzhengkw 1 天前
写一个智能合约,设置一个时间点,在这个时间点之后发一笔交易给合约,它就会把资金里的资金全部转到你在代码里指定的地址里
然后往里面转资产,等到时间到了发交易就能收到资产了 时间未到之前发交易是没有用的 |
33
Kirkcong 23 小时 6 分钟前
@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 不可更改,意味着时间也不可更改) |
35
Kirkcong 23 小时 4 分钟前
@Kirkcong #33 当然,这个前提是你的 enclaves 不可以关机,必须一直跑着,否则 key 丢失。aws 可以保证这一点,但是你要承担 ec2 的价格,不是很贵,但也确实得一直跑着。
|
36
FFM 23 小时 4 分钟前
再加密一层交给朋友家人就行。
|
41
cyp0633 22 小时 59 分钟前
@rolandzhou #13 还真行,今天在 HN 上了解到一个算法,可以在 M 个朋友里有至少 N 个提供各自部分密钥的情况下解密
|
43
jefferyJQ OP 其实看了一圈大家的建议,特别是提到“多签”或者“托付给朋友”的方案,我觉得对于我来说,HODL 本质上是个人性问题,而不是简单的技术问题。
之所以想找“时间胶囊”这种物理/代码层面的强制工具,就是因为我不相信“人”的意志力——既不相信我自己,也不相信帮我把控的朋友。 如果依靠朋友或家人来做多签把控,最大的漏洞在于:当行情剧烈波动、我情绪上头的时候,我一定会想方设法去“攻破”这个人。-- 之前实践过 无论是暴涨怕踏空,还是暴跌怕归零,在那个人性最脆弱的时刻,我肯定会找出一万个看似“合理”的理由(比如“这次不一样”、“家里急用钱”、“肯定是历史大顶了”等等),软磨硬泡、甚至动用人情压力去说服朋友同意提前解锁。朋友毕竟是人,很难长时间扛住当事人的这种疯狂输出。 只有冷冰冰的代码和数学,才不会听我的解释、借口和哀求。 这就是我为什么执着于找一个“无法被说服”的工具的原因,我需要的是一堵撞不破的墙,而不是一扇能敲开的门。 |
45
jefferyJQ OP @blackcurrant 的确是一个非常好的方式
|
47
sugost 22 小时 22 分钟前
是不是可以以比特币区块数量 来判定时间 有没有到?其他链可能倒闭,比特币肯定不会,如果比特币链也倒闭也就没有解密的必要了。
|
48
lanyi96 17 小时 49 分钟前
智能合约-时间锁很成熟的机制了
|
49
tywtyw2002 17 小时 9 分钟前 via iPhone
技术上这类算法实现了,就等于 p=np 解决了。
目前基于数学原理,你没有办法用现在的信息得到未来的信息。 所以基于这套原理才有了 比特币的 暴力逆向 hash 挖矿。 |
50
Hyschtaxjh 16 小时 48 分钟前 via iPhone 坐牢
|
51
streamrx 15 小时 19 分钟前 via iPhone
你直接写个 eth 的合约锁进去不就行了。 非 eth 链的 比如 btc 也可以换成 cbBTC 这些去存
|
52
z7356995 4 小时 43 分钟前 via Android
修改 linux 代码,让机器在指定时间到达前禁止登录,类似于 ipad 输错密码锁住,或者存在 ipad 上故意输错密码,直到 20 年后才能再次尝试密码
|