https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html 个人 PC 跑虚拟机用户的大福音,Vmware Pro 对个人用户免费啦。
* VMware Fusion Pro Download
* VMware Workstation Pro Download
* VMware Fusion Pro Download
* VMware Workstation Pro Download
https://laisky.notion.site/Solidity-c48cc6d6c9924dd5a912e19edaef756c?pvs=4 最近学习 solidity 的一些简单笔记,作为一个 Web2 开发者,主要是厘清很多基础概念,实际的代码是不难的。 #blockchain
最新版的 tailscale 1.66 修改了 ACL 中
详细的威胁参考: https://tailscale.com/security-bulletins#ts-2024-005
如果想保持向后兼容性,最简单的修复是将 ACL 中的
"src": "*"
的定义,如果你为 exit node 设置了 "src": "*"
,然后在其他 node 上试图通过 tailnet 转发流量,可能会在升级后被阻断。详细的威胁参考: https://tailscale.com/security-bulletins#ts-2024-005
如果想保持向后兼容性,最简单的修复是将 ACL 中的
"src": "*"
修改为 "src": "autogroup:danger-all"
。
最近好像有点不顺,又遇到了一个把我惊吓到的 BUG,我的密码数据差点被 1Password 搞丢了!
我有两台 mac,一台是我日常使用的,另一台使用频率很低。刚才我在好几天没用过的 mac 上打开 1Password,发现它没能显示最新的数据。我以为是因为数据没同步,就远程连接另一台 mac 上打开 1Password,然后发现上面的最新的数据在短暂显示后立刻就消失了,全部被旧数据给覆盖了。
消失的数据是我昨天离线生成的冷钱包私钥,吓出我一身冷汗,找遍 App 都没有恢复历史记录的地方。好在最后在网页版的 1Password 上找到了 'View Item History' 的按钮,把历史数据恢复回来了。
我有两台 mac,一台是我日常使用的,另一台使用频率很低。刚才我在好几天没用过的 mac 上打开 1Password,发现它没能显示最新的数据。我以为是因为数据没同步,就远程连接另一台 mac 上打开 1Password,然后发现上面的最新的数据在短暂显示后立刻就消失了,全部被旧数据给覆盖了。
消失的数据是我昨天离线生成的冷钱包私钥,吓出我一身冷汗,找遍 App 都没有恢复历史记录的地方。好在最后在网页版的 1Password 上找到了 'View Item History' 的按钮,把历史数据恢复回来了。
刚遇到了一件很震惊的事情,我 iphone 上的 icloud 经常卡死,我也一直没当回事儿,一般重启一下就能解决。今天早上发现昨天相册里新增的几十张照片一直卡着没能同步到 icloud,我就随手重启了一下。然后重启后发现所有未同步的照片都彻底消失了😱。
BTW, 拍脑袋瞎猜,我倾向于是 icloud bug 卡死了 disk I/O,然后照片实际上全部存储于 Kernel Buffer 而没有落盘持久化,重启就全完了。
强烈建议 iPhone 用户立刻禁用 icloud drive!
BTW, 拍脑袋瞎猜,我倾向于是 icloud bug 卡死了 disk I/O,然后照片实际上全部存储于 Kernel Buffer 而没有落盘持久化,重启就全完了。
强烈建议 iPhone 用户立刻禁用 icloud drive!
看完一部老片 'unthinkable',稍微有一点点血腥暴力,非常政治不正确,但是很有意思。
这片给人感觉像是 CIA 拍来讽刺 FBI 的。CIA 使用各种毫无下限的手段保障国家安全,而 FBI 则只会遵守各种 Values 而被恐怖分子耍得团团转。人们和平太久已经忘了什么是你死我活的生存斗争。
It's not about the enemy.
It's about us.
Our weakness.
We're on the losing side,
We're afraid, they're not.
We doubt, they believe.
不过影片很巧妙地并没有选择自己的立场,留给观众自己评判。
这片给人感觉像是 CIA 拍来讽刺 FBI 的。CIA 使用各种毫无下限的手段保障国家安全,而 FBI 则只会遵守各种 Values 而被恐怖分子耍得团团转。人们和平太久已经忘了什么是你死我活的生存斗争。
It's not about the enemy.
It's about us.
Our weakness.
We're on the losing side,
We're afraid, they're not.
We doubt, they believe.
不过影片很巧妙地并没有选择自己的立场,留给观众自己评判。
看完 'Winter on Fire',讲述 2013 年底到 2014 年初的乌克兰人民抗议行动(Euromaidan,广场起义)。
俄罗斯傀儡,时任乌克兰总统亚努科维奇(Yanukovych)拒绝了和欧洲签署自由贸易协定,引起亲欧派的乌克兰人不满,引起大规模集会和抗议。因为抗议范围逐渐逼近议会所在地,亚努科维奇决定使用武力,武装部队使用实弹镇压,引起大规模民众伤亡。当时反对党领袖和亚努科维奇达成协议,亚努科维奇承诺在 2014 年底举行总统选举,但是引起激进反对派的不满,在公众集会上有人宣布次日 10 时将对总统府发起武装进攻,当夜凌晨,亚努科维奇逃亡俄罗斯,他所属的 Party of Regions 也宣告解体。
因为俄罗斯失去了亚努科维奇这个傀儡,乌克兰开始全面倒向西方。俄罗斯总统 Putin 为了维持对乌克兰的控制,挑起了持续八年顿巴斯战争(Battle of Donbas),并最终于 2022 年升级为全面入侵。 #ukraine
- summary by AI: https://ario.laisky.com/ETMUicGgYXg7O5cRlZl3kSkW2daLVxAKsWRzHhwn4-s
- youtube: https://youtu.be/yzNxLzFfR5w?si=PGJyXR0xvGRDfEy3
俄罗斯傀儡,时任乌克兰总统亚努科维奇(Yanukovych)拒绝了和欧洲签署自由贸易协定,引起亲欧派的乌克兰人不满,引起大规模集会和抗议。因为抗议范围逐渐逼近议会所在地,亚努科维奇决定使用武力,武装部队使用实弹镇压,引起大规模民众伤亡。当时反对党领袖和亚努科维奇达成协议,亚努科维奇承诺在 2014 年底举行总统选举,但是引起激进反对派的不满,在公众集会上有人宣布次日 10 时将对总统府发起武装进攻,当夜凌晨,亚努科维奇逃亡俄罗斯,他所属的 Party of Regions 也宣告解体。
因为俄罗斯失去了亚努科维奇这个傀儡,乌克兰开始全面倒向西方。俄罗斯总统 Putin 为了维持对乌克兰的控制,挑起了持续八年顿巴斯战争(Battle of Donbas),并最终于 2022 年升级为全面入侵。 #ukraine
- summary by AI: https://ario.laisky.com/ETMUicGgYXg7O5cRlZl3kSkW2daLVxAKsWRzHhwn4-s
- youtube: https://youtu.be/yzNxLzFfR5w?si=PGJyXR0xvGRDfEy3
https://laisky.notion.site/Bitcoin-101-past-present-and-future-69e2f8cc710746bea8c18ea68497ebc3
很长但是很有趣的文章,从 1933 年罗斯福打击私人黄金流通开始,介绍密码学朋克和数字加密货币的起源。
简而言之,无锚法币是中央政府对人民的剥削和控制,央行的历史就是一部通胀和剥削的历史。互联网和密码学的发展带动了个人主权运动的萌芽和发展,货币是一切社会贸易活动的基础,因此数字加密货币的出现是个人主权运动的必然产物,而 BTC 正是在这个背景下经过不断的尝试和改进后所产生的。
BTC 诞生之初只是为了解决分布式账本下的 double-spending 问题。毕竟分布式最大的难点就是形成共识,而拜占庭条件下达成真正去中心化分布式的共识几乎是不可能的。而 BTC Whitepaper 融合前人的工作,确立了以 PoW 为基础的共识机制,通过历史算力总量来确定主链,从而就交易历史达成了真正去中心化的共识。 #blockchain
next: https://t.me/laiskynotes/246
很长但是很有趣的文章,从 1933 年罗斯福打击私人黄金流通开始,介绍密码学朋克和数字加密货币的起源。
简而言之,无锚法币是中央政府对人民的剥削和控制,央行的历史就是一部通胀和剥削的历史。互联网和密码学的发展带动了个人主权运动的萌芽和发展,货币是一切社会贸易活动的基础,因此数字加密货币的出现是个人主权运动的必然产物,而 BTC 正是在这个背景下经过不断的尝试和改进后所产生的。
BTC 诞生之初只是为了解决分布式账本下的 double-spending 问题。毕竟分布式最大的难点就是形成共识,而拜占庭条件下达成真正去中心化分布式的共识几乎是不可能的。而 BTC Whitepaper 融合前人的工作,确立了以 PoW 为基础的共识机制,通过历史算力总量来确定主链,从而就交易历史达成了真正去中心化的共识。 #blockchain
next: https://t.me/laiskynotes/246
https://laisky.notion.site/How-an-empty-S3-bucket-can-make-your-AWS-bill-explode-ba9daae3dee741268372aa745d6a4c37?pvs=4
这太吓人了。任何人对你的 aws s3 bucket 发送一个 PUT 请求。即使他的请求被拒绝,你也会被扣费。也就是说,只要你泄漏了你的 S3 bucket 名称,你的账单就随时可能被打爆😨。
类似案例和讨论:
* https://www.reddit.com/r/aws/comments/prukzi/does_s3_charge_for_requests_to/
* https://www.reddit.com/r/aws/comments/1cg7ce8/how_an_empty_private_s3_bucket_can_make_your_bill/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
这太吓人了。任何人对你的 aws s3 bucket 发送一个 PUT 请求。即使他的请求被拒绝,你也会被扣费。也就是说,只要你泄漏了你的 S3 bucket 名称,你的账单就随时可能被打爆😨。
类似案例和讨论:
* https://www.reddit.com/r/aws/comments/prukzi/does_s3_charge_for_requests_to/
* https://www.reddit.com/r/aws/comments/1cg7ce8/how_an_empty_private_s3_bucket_can_make_your_bill/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
1992 年的这篇论文 'Pricing via Processing or Combatting Junk Mail' 最早提及了 PoW 的思想。
PoW 的想法最早被应用于反垃圾邮件领域,简而言之,要想保持匿名性的同时防止滥用,最简单的方式就提高发送者的成本。作者提出了为发信者构建一个 Pricing Function,发信者必须使用该函数为邮件计算出一个值,以证明自己为这封邮件付出了相当的计算代价,而接收者可以用很小的代价验证这个值。
这一思想后来在 1997 年的 HashCash 系统中得到应用,Adam 提出了利用构造 partial hash collision 实现任意计算复杂度挑战的方式,这一思想后来直接被 Nakamoto 应用于 BTC 的 PoW 算法中,BTC 中通过构造区块哈希的前缀 0 的个数来实现 PoW。
我有一个大胆的想法,现在简历不是也担心滥投吗,企业可以要求发送者提供包含 JD、CV 信息和时间戳的 PoW… #blockchain
Read more: https://t.me/laiskynotes/222
PoW 的想法最早被应用于反垃圾邮件领域,简而言之,要想保持匿名性的同时防止滥用,最简单的方式就提高发送者的成本。作者提出了为发信者构建一个 Pricing Function,发信者必须使用该函数为邮件计算出一个值,以证明自己为这封邮件付出了相当的计算代价,而接收者可以用很小的代价验证这个值。
这一思想后来在 1997 年的 HashCash 系统中得到应用,Adam 提出了利用构造 partial hash collision 实现任意计算复杂度挑战的方式,这一思想后来直接被 Nakamoto 应用于 BTC 的 PoW 算法中,BTC 中通过构造区块哈希的前缀 0 的个数来实现 PoW。
我有一个大胆的想法,现在简历不是也担心滥投吗,企业可以要求发送者提供包含 JD、CV 信息和时间戳的 PoW… #blockchain
Read more: https://t.me/laiskynotes/222
https://laisky.notion.site/v1-2-c2d21d1c61894c0dbf473cdd7556cc3b?pvs=4
慢雾余弦的币圈安全手册久闻大名,今天听闻发布了 v1.2,赶紧去扒来阅读了一遍。
涵盖面很广,讲得也很基础,适合新手建立基本的安全观念。不过并不是我之前所以为的技术手册,作为安全从业人员,可以快速扫一遍就行了,也不花多少时间。 #blockchain
慢雾余弦的币圈安全手册久闻大名,今天听闻发布了 v1.2,赶紧去扒来阅读了一遍。
涵盖面很广,讲得也很基础,适合新手建立基本的安全观念。不过并不是我之前所以为的技术手册,作为安全从业人员,可以快速扫一遍就行了,也不花多少时间。 #blockchain
https://laisky.notion.site/Oracles-ethereum-org-39ad225791784191873d4791bdf164e2?pvs=4
ETH 官网这篇关于预言机(Oracle)的文档写得很好,帮我厘清了很多概念。
作为一个多年的服务端开发人员,有很多先入为主的观念,这些观念反而会误导我理解区块链的概念。比如说起分布式,直觉上就觉得会有很多节点在并行计算,会有大量的通讯开销,以及可怕的数据竞争(data race)。服务端领域有 RAFT 等协议,让你可以协调许多的节点,让其能够就数据的状态达成一致。
我们知道区块链的核心也是追求数据的一致性,而且是在拜占庭条件下的一致性(即节点可能会作恶)。但是区块链并不需要依赖网络通信来就某一数据的一致性进行反复协商,实际上每个节点都是独立的运行,按照区块链协议的设计来生成区块,同时尽可能地广播自己所生成的区块,如果自己生成的区块被广为接受成为链的一部分,那么自己就能赢得挖矿所产生的奖励。
生成区块时每个矿工都埋头干活不依赖于和其他矿工交互,而最终所有的矿工却能产生出唯一的同一个链,这其中的核心就在于确定性(deterministic)。无论是 PoS 还是 PoW,区块生成算法的核心都是确定性,确定性使得区块具有了可验证性(proof),每个矿工生成新的区块后尽可能地广播出去,其他矿工收到后可以验证这个区块是否符合规则,如果符合规则,那么就可以接受这个区块添加到自己所处于的链的头部,当遇到分叉时选取最长的链,这样就实现了最终只会有一个链的历史被广泛接受,这个链也就是最终的数据共识。(网络的交互主要在于验证,而不是生成)
区块的核心是交易记录,而智能合约则是一种根据条件自动执行的交易。我曾一度疑惑,智能合约分布式地并行运行于大量节点上,最终如何保证数据一致性?比如如何保证生成的 NFT 的 tokenID 不冲突?实际上答案就在前文所述的决定性之中,虽然运行时是并行的,但是最终被接纳的区块是串行的(serializable),所以从数据一致性的角度去考虑智能合约时,可以简单地将其理解为一个单线程的程序,根本不需要考虑数据竞争问题。
也正是因为要严格保持决定性,极大的限制了智能合约的能力,比如无法访问 off-chain 的外部的数据,因为外部数据是不确定的。对此的解决办法就是引入 Oracle。Oracle 扮演了一个 on-chain/off-chain 的桥梁,既可以将外部数据固化到链上,也可以将链上的数据推送到外部,这样就实现了智能合约与外部世界的交互。 #blockchain
ETH 官网这篇关于预言机(Oracle)的文档写得很好,帮我厘清了很多概念。
作为一个多年的服务端开发人员,有很多先入为主的观念,这些观念反而会误导我理解区块链的概念。比如说起分布式,直觉上就觉得会有很多节点在并行计算,会有大量的通讯开销,以及可怕的数据竞争(data race)。服务端领域有 RAFT 等协议,让你可以协调许多的节点,让其能够就数据的状态达成一致。
我们知道区块链的核心也是追求数据的一致性,而且是在拜占庭条件下的一致性(即节点可能会作恶)。但是区块链并不需要依赖网络通信来就某一数据的一致性进行反复协商,实际上每个节点都是独立的运行,按照区块链协议的设计来生成区块,同时尽可能地广播自己所生成的区块,如果自己生成的区块被广为接受成为链的一部分,那么自己就能赢得挖矿所产生的奖励。
生成区块时每个矿工都埋头干活不依赖于和其他矿工交互,而最终所有的矿工却能产生出唯一的同一个链,这其中的核心就在于确定性(deterministic)。无论是 PoS 还是 PoW,区块生成算法的核心都是确定性,确定性使得区块具有了可验证性(proof),每个矿工生成新的区块后尽可能地广播出去,其他矿工收到后可以验证这个区块是否符合规则,如果符合规则,那么就可以接受这个区块添加到自己所处于的链的头部,当遇到分叉时选取最长的链,这样就实现了最终只会有一个链的历史被广泛接受,这个链也就是最终的数据共识。(网络的交互主要在于验证,而不是生成)
区块的核心是交易记录,而智能合约则是一种根据条件自动执行的交易。我曾一度疑惑,智能合约分布式地并行运行于大量节点上,最终如何保证数据一致性?比如如何保证生成的 NFT 的 tokenID 不冲突?实际上答案就在前文所述的决定性之中,虽然运行时是并行的,但是最终被接纳的区块是串行的(serializable),所以从数据一致性的角度去考虑智能合约时,可以简单地将其理解为一个单线程的程序,根本不需要考虑数据竞争问题。
也正是因为要严格保持决定性,极大的限制了智能合约的能力,比如无法访问 off-chain 的外部的数据,因为外部数据是不确定的。对此的解决办法就是引入 Oracle。Oracle 扮演了一个 on-chain/off-chain 的桥梁,既可以将外部数据固化到链上,也可以将链上的数据推送到外部,这样就实现了智能合约与外部世界的交互。 #blockchain
上个月看到很多人缅怀 Vernor Vinge 去世,我去补了他的银河界区三部曲(Zones of Thought series):'A Fire Upon the Deep', 'A Deepness in the Sky', 'The Children of the Sky'。
说实话我读下来感觉不太喜欢,甚至觉得有点离谱。银河界区的设定很有意思,有效地融合了物理世界和科幻世界。但是作者显然根本不想写科幻小说,他设计界区的目的只是为了能够在科幻的框架下,营造一个中世纪环境,然后就在他最喜欢的中世纪背景中写神奇动物的童话故事。 #book
说实话我读下来感觉不太喜欢,甚至觉得有点离谱。银河界区的设定很有意思,有效地融合了物理世界和科幻世界。但是作者显然根本不想写科幻小说,他设计界区的目的只是为了能够在科幻的框架下,营造一个中世纪环境,然后就在他最喜欢的中世纪背景中写神奇动物的童话故事。 #book