Sundaeswap feature
这篇是前几个月的Sundaeswap的可搬砖套利的小特性(bug)的记录,目前特性已经被修复,所以也没法用了
Sundaeswap是Cardano链上上线的第二个去中心化交易所(Decentralized exchange, Dex),由于Cardano使用的UTXO模型的原因,所以它在实现的本质上还是一种挂单交易的方式,不过流动性相比于直接挂单的交易所更好
在上线前三个月存在一个特性,可以在Sundaeswap的首页查询到一个币种的多个交易池,但是在实际的swap界面上只能默认流动性最高的池子。
交易池:放入了不同币种对的一种抽象模型,可以放入一种币种在交易池中换取另外一种币种,现在的去中心化交易所使用的都是一类公式。
做一个简单的举例,假设人民币比美元是6:1,那么就可以创建一个交易池放入600人民币和100美元,这样其他人就可以在里面交易,而交易池可以得到手续费。如果不按照比例来进行设置,那么其他人就存在一定的套利空间,导致交易池出现损失。
在抓包后可以发现,Sundaeswap进行一次交易要经过下面的一系列操作
本地根据流动性、滑点、手续费计算得到该笔交易中能够获取到的 ...
毕业行·甘肃
8月2日(Day.10)中午在机场还车后赶飞机,从西宁飞到敦煌,到敦煌市区的时候是下午4点过。在飞机上可以看到敦煌这边周围都是荒漠隔壁,只有沿着市区发展出来的一片片“绿洲”,这也是甘肃很多市的一种特色。
在酒店休息整顿后时间还比较充足,于是我们先去鸣沙山。鸣沙山以沙动而响为名,面积有200平方公里。进入景区的门票是55/人,大哥一直好奇为什么售票大厅写的是110,甚至想排队专门去问问。在进了进去后,看到了门口有一个讲解我就知道大哥想要干什么了。在请了讲解后,讲解问了我们进来的票价,才说现在还是按照淡季来收费的,所以是半价票。
在讲解了前面的一个城楼后,我们又买观光车进月牙泉。我一开始以为沿途有景点,还想先走进去再买票回来。坐在观光车上有一段能够看到成群的骆驼队,在那个点位拍照能够得到很好的效果,可惜的是等我掏出相机的时候已经晚了,就没有拍到。讲解带着转的这一圈感觉没有什么好写的,直接快进到爬沙丘,在爬沙丘之前拍了一下芦苇丛对面的沙丘。
上沙丘的有路有两条景区设置的路,放了一些木板在上面以降低压强方便爬上去。我们不想在梯子上一个挨着一个的爬上去就选择了另外一边没有梯子的地方上去。在月牙 ...
毕业行·青海
7月29日(Day.06)结束了三天的隔离,虽说隔离这几天感觉可以自己偷偷润了,但是考虑到还是在别人地盘上就别瞎搞了,万一被整个活赋个黄码到处都没法去。
这一天上午不太想出去找吃啥,还是点了个外卖随便吃点。然后中午等f1ag大哥来西宁,后面写的话就一直写大哥了,在博客里面带上名字老感觉有些许奇怪。本来一开始青甘环线是在群里叫了四个人的,其他两个人后面时间不凑巧也就没法来了。然后只有f1ag大哥一个人开车,一天也没法跑太远,所以我们就放弃了跑青甘大环线的计划。后面商量了一下只能在青海走四天的小环线之后直接飞去敦煌,去看甘肃那边剩下的几个景点。青甘大环线全长2200km,一大部分时间是在赶路,所以是可以放弃中间的路程的,不过现在想的话,未来如果有机会想再跑一趟青甘大环线。
事先问了下酒店能不能晚点到下午2点退房,因为大哥12:30到西宁,半个小时的时间应该没法办完租车手续,并且开车过来。酒店老板说目前过来旅游的比较多,所以最多只能到下午1点,如果要加时间的话只能开钟点房。对比了一下之后还是只能去楼下的王府井广场找个咖啡厅坐着等大哥过来。
大哥过来之后就先去了KFC,坐了一上午高铁也没吃东 ...
毕业行·武汉
时间到达7月21日的时候,手头的事情做的差不多了,所以也开始我这趟所谓的毕业旅行了。
第一站是湖北武汉。
上一次来到武汉还是在四年前,那应该是高考刚过没几天,当时在通过了几所学校的自主招生初试后选择了华科。
所以和初中同学约好了一起去一趟,很可惜的是那个时候没钱去玩儿,唯一的印象就是在华科面试和在欢乐谷玩了两个项目。其余的时间就是在酒店颓废,最大的原因是高中刚毕业没钱,也不想太过度花家里的钱,所以很多地方也没有去成。
也是在四年前到达武汉的那个晚上诉说了自己的几年心情,很可惜由于曾经错误的选择导致的非预期的结果,不过回想起来确实草率了一些。
这一次首先选择到武汉是为了见一见本科认识的一位学长,他目前在华科读研,也就是上一篇博文所说的一起组队参加信安大赛的学长。
本来原定计划是还要去一趟浙江找另外一个学长,也算是对我大学生活影响比较大的一位,可是由于疫情的原因还是尽量缩短行程,未来再找时间去了。
7月21日 (Day.01) 从成都出发,半夜到达武汉。武汉天河机场候车的地方比较奇怪,转了一圈没有找到可以等网约车的地方。然后坐了个黑车当了次被宰的肥羊,12km的路要了我100。以前没有 ...
Epilogue/Prologue
姑且在毕业/开学之际写点东西
从前就喜欢在某个阶段完成的时候写点东西记录,最开始应该是在高一那一年开始写年度总结这一类的。然后高三毕业的时候也写了些东西,不过那个时候还没有博客,都是扔在空间里面。前两年的我还多少有一些分享欲,一个是因为确实只是单纯地想分享一下自己的生活,另外一个是那个时候还有值得我去分享自己的生活的人。到了现在之后,我这种分享的欲望开始减少了,一方面是越发觉得自己发的一些东西带了一份炫耀的味道,多少可能会带来别人的不快吧,所以后面在空间或者朋友圈发的东西越来越少了。有一两个经常交心的人能够分享一些东西也足够了。
四年前的这个时候我应该和班上的人吃完饭了,然后和同学们告别之后回到了老家。我完全忘记了那个时候我为什么这么急着回去,我还记得我在路上看到那个仍然亮着灯但是依然不能回去的教室,只能在车里拍了一张照片。然后想着未来十几天后或许我能够在出分之后自信地选择任何一个她能选择的学校,可惜到后面天不遂人意。今天有人问我四年前考完英语是什么感受,我回想起来没有什么感受,在面对充满了无限可能性的未来的时候是不能有什么太多的想法的,只能默默地接受即将到来的一切。在十几天后我得 ...
可验证随机函数
可验证随机函数(Verifiable Random Function)用于生成一个可以进行验证的随机数,生成随机数的生成者通过自己的掌握的私钥来生成一个随机数和一个验证参数(proof),接收到随机数的验证者可以通过该随机数和验证参数来对随机数进行验证。可验证随机函数的三个特性:可验证性、唯一性和随机性。
这样一种存在公私钥对用于进行验证的函数,需要通过非对称加密来实现,下面以RSA和ECC为例。
该函数传入消息,经过生成者处理后输出一个随机数和验证参数
RSA-VRF基于RSA算法的VRF感觉和RSA算法的签名过程一样,只要生成的结果随机且可确认即可
如RSA算法一样,首先选取两个大素数$p$和$q$,$n=p \times q$,$n$作为进行运算的整数群$Z_n^*$的阶,生成元为$g$
将消息通过编码的方式映射到群上,如果消息编码后过大需要考虑其他的编码方式,编码映射后的消息为$m$
在VRF其实并不需要解密得到结果,所以对消息进行编码也可以通过哈希函数缩短输入,保证可以进行验证即可
生成者选取$e \in (1, \phi(n))$以及生成私钥$d = e^{-1} mod\ ...
《Carving Orphaned JPEG File Fragments》阅读笔记
接前面JPEG编码解码的文章:JPEG结构及编码解码
许久之后的现在导师扔了篇论文来让我康康里面的技术有哪些地方比较新颖
在缺失元文件的磁盘中恢复数据存在的两个问题:
无法在存储器中连续地展开文件数据
文件为了便于快速和轻量的存储,会被格式化地存储到二进制中
文章内容Abstract文件雕刻技术可以在缺失元数据的存储器中恢复文件,当数据被编码和压缩后,对文件的雕刻需要编码和压缩的相关信息(元数据)
文章检测了大量的JPEG图片头以识别它们的结构特征,并运用这一信息实现需要两个步骤的新技术。
解压不完整的文件数据,以获得一个空间域的描述
然后依据这个在空间域的数据中,还原得到一个感官上有意义的图像(即得到正常的图片)
Introduction随着越来越多的数据的产生以及被存储到数不尽的设备中,对于在设备错误或遗失情况下的文件数据恢复技术的需求开始增长。所有的设备通过将文件打散为不通过的小块来存储到设备上,对于较为老式的存储设备,这一小块的大小为0.5Kb,而到最新的设备,大小会是64Kb。而在访问这些数据的时候需要根据元数据将这些块连成一个链表,以取得文件的数据。由此,对 ...
WPF窗口置底
软工项目查许久资料才搞定,stackoverflow上的资料一直没说清楚花了不少时间 = =
借此水一篇博文,不过好像还需要实现一个让窗口不贴在桌面上的需求,但是这个把父窗口设置成Zero应该就行了
实现步骤WPF中的应用场景:将窗口钉在桌面上,使用快捷键Win+D显示桌面时不会让窗口隐藏
在窗口类中引入dll,调用系统api用于查找句柄、设置句柄等操作
123456789101112131415161718// 获取指定窗口的样式[DllImport("user32.dll", SetLastError = true)]static extern UInt64 GetWindowLong(IntPtr hWnd, int nIndex);// 设置指定窗口的样式[DllImport("user32.dll")]static extern int SetWindowLong(IntPtr hWnd, int nIndex, UInt64 dwNewLong);// 获取桌面Desktop窗口的Handle[DllImport(&q ...
JPEG结构及编码解码
为什么会想到看这个东西呢,因为选了个数据恢复的课不得不了解一下(早知道就应该选水点的实验课了)
或许后面还会造个轮子玩玩吧。。
JPEG文件格式JPEG文件通常以FFD8头部标识,以FFD9作为结束标识,在文件中以FF表示一个段的开头,后跟标识信息表示段的内容,再之后是两字节的数表示段的长度
编码过程色彩空间大多数JPEG算法的实现使用亮度和色度(YUV编码)而非RGB编码,因为人眼很难观察到高频亮度在很小的区域中的变化。RGB使用3个字节来存储颜色信息,而YUV也使用3个字节来存储,但是每个字节表示的信息和RGB相比是不同的。图片的编码流程如下
离散变换和量化JPEG在处理图像之前将图片划分为8x8的小块来进行处理(这样的小块被称为最小编码单元),在处理的时候需要将像素值的范围进行修改,使得值的范围在$[-127, 128]$之间,未进行处理的范围在$[0, 255]$,使得像素值以0为中心,便于利用离散余弦变换。离散余弦变换把离散的数据变成多个余弦信号的组合。
二维DCT变换二维DCT的变换公式:$$F(u,v) = c(u)c(v)\sum_{i = 0}^{N - 1} ...
来点mysql—索引
本篇博文记录学习mysql的一些笔记(学习数据库+准备面试
较为抽象的地方不会有很细地记录,可能存在理解不是很精确的地方
然后之前虽然用过数据库但是sql语句也不太会,还是必须要学的(
索引索引(是Mysql中也叫做键)是存储引擎中用于快速找到记录的一种数据结构
1SELECT first_name FROM sakila.actor WHERE actor_id = 5;
该语句用于在actor_id列上建立的索引查找值为5的行,然后返回所有包含该值的数据行
索引分为单索引和组合索引,单列索引中一个索引只包含一个列,而组合索引中一个索引可以包含多个列(在多个列中创建的单索引并不能提高查询性能)
索引提高了查询速度,但是会降低更新表的速度,因为在更新表的时候也需要对索引文件进行更新
在创建了索引之后,查询会根据语句情况选择使用索引以提高查询效率,快速定位数据,不用扫描表中给定查询的每一行
B-TreeM阶的B树,每个节点最多有M个子节点,非叶子节点具有至少$ceil(m/2)$个子节点
B树的根节点拥有的子节点数量和上限的内部节点相同,如果根节点不是唯一节点,至少有两个 ...