一、比特币再次画门***那些年圈内老人的忠告***你听过几条
比特币相当于虚拟资源,也属于区块链的模块。区块链融资市场的急剧降温,会造成市场流动性萎缩的现象。而市场流动性萎缩的恶果,就是血本无归。近期币价短时暴涨暴跌、反复插针的现象,就是市场流动性萎缩的后遗症。庄家真的可以为所欲为,凭借少量的资金量,就能在期货市场上掀起血雨腥风,收割散户和资金。
相对于能够获得这些酬劳的很少有新手,而是经验丰富的合约老手的,但市场的残酷血腥远超所有人的想象,不是靠经验就可以驾驭的,任何情况下都是你死我亡的生存之争。再次建议新手们老实屯币,少玩甚至不玩合约(套期保值的除外),风险太大了,普通人根本承受不起后果。对于我们来说,需要再次审视自己的持币逻辑和交易策略了。市场惨淡,每一笔资金都要精打细算用到刀刃上,现阶段还将山寨币视为香饽饽,频繁抄底的,将会被市场无情的抛弃。
作为一个新手来说,对于圈内老人的忠告,大多数人往往会置之不理,但是在自己吃过亏在回过头来才觉得他们说的都是真理。比特币允许个人直接支付给他人,与现金相同,不需经过如银行、清算中心、证券商、电子支付平台等第三方机构,从而避免了高手续费、繁琐流程以及受监管性的问题,任何用户只要拥有可连接至互联网的数字设备皆可使用。它能够通过去中心化的区块链网络被发往世界任一角落,而无需依赖银行,因此在使用它进行跨国转账时,也无需担心会有高昂的转账手续费和漫长的等待时间。对于那些进行跨国转账的人来说,它的好处显而易见,因为它不仅转账时间快,转账也跟平时我们用支付宝转账一样简单方便。
你可以通过以下渠道获取比特币:一个比特币交易所购买比特币,和你附近的人兑换比特币,挖矿获取比特币。比特币的收款地址类似于电子邮件地址,是一长串字符。鉴于其长度很难记忆,通常要使用缩短的 ID或二维码才能执行交易。
二、比特币源码研读一:椭圆曲线在比特币密码中的加密原理
参加比特币源码研读班后首次写作,看到前辈black写的有关密钥,地址写的很好了,就选了他没有写的椭圆曲线,斗胆写这一篇。
在密码学上有两种加密方式,分别是对称密钥加密和非对称密钥加密。
对称加密:加密和解密使用的同样的密钥。
非对称加密:加密和解密是使用的不同的密钥。
二战中图灵破解德军的恩尼格码应该就是用的对称加密,因为他的加密和解密是同一个密钥。比特币的加密是非对称加密,而且用的是破解难度较大的椭圆曲线加密,简称ECC。
非对称加密的通用原理就是用一个难以解决的数学难题做到加密效果,比如RSA加密算法。RSA加密算法是用求解一个极大整数的因数的难题做到加密效果的。就是说两个极大数相乘,得到乘积很容易,但是反过来算数一个极大整数是由哪两个数乘积算出来的就非常困难。
下面简要介绍一下椭圆曲线加密算法ECC。
首先椭圆曲线的通式是这个样子的:
一般简化为这个样子:
()发公式必须吐槽一下,太麻烦了。)
其中
这样做就排除了带有奇点的椭圆曲线,可以理解为所有的点都有一条切线。
图像有几种,下面列举几个:[1]
椭圆曲线其实跟椭圆关系不大,也不像圆锥曲线那样,是有圆锥的物理模型为基础的。在计算椭圆曲线的周长时,需要用到椭圆积分,而椭圆曲线的简化通式:
,周长公式在变换后有一项是这样的:,平方之后两者基本一样。
我们大体了解了椭圆曲线,就会有一个疑问,这个东西怎么加密的呢?也就是说椭圆曲线是基于怎样的数学难题呢?在此之前还得了解一些最少必要知识:椭圆曲线加法,离散型椭圆曲线。
椭圆曲线加法
数学家门从普通的代数运算中,抽象出了加群(也叫阿贝尔群或交换群),使得在加群中,实数的算法和椭圆曲线的算法得到统一。
数学中的“群”是一个由我们定义了一种二元运算的集合,二元运算我们称之为“加法”,并用符号“+”来表示。为了让一个集合G成为群,必须定义加法运算并使之具有以下四个特性:
1.封闭性:如果a和b是集合G中的元素,那么(a+ b)也是集合G中的元素。
2.结合律:(a+ b)+ c= a+(b+ c);
3.存在单位元0,使得a+ 0= 0+ a=a;
4.每个元素都有逆元,即:对于任意a,存在b,使得a+ b= 0.
如果我们增加第5个条件:
5.交换律: a+ b= b+ a
那么,称这个群为阿贝尔群。[1]
运算法则:任意取椭圆曲线上两点P、Q(若P、Q两点重合,则做P点的切线)做直线交于椭圆曲线的另一点R’,过R’做y轴的平行线交于R。我们规定P+Q=R。(如图)[2]
特别的,当P和Q重合时,P+Q=P+P=2P,对于共线的三点,P,Q,R’有P+Q+R’=0∞.
这里的0∞不是实数意义的0,而是指的无穷远点(这里的无穷远点就不细说了,你可以理解为这个点非常遥远,遥远到两条平行线都在这一点相交了。具体介绍可以看参考文献[2])。
注意这里的R与R’之间的区别,P+Q=R,R并没有与P,Q共线,是R’与P,Q共线,不要搞错了。
法则详解:
这里的+不是实数中普通的加法,而是从普通加法中抽象出来的加法,他具备普通加法的一些性质,但具体的运算法则显然与普通加法不同。
根据这个法则,可以知道椭圆曲线无穷远点O∞与椭圆曲线上一点P的连线交于P’,过P’作y轴的平行线交于P,所以有无穷远点 O∞+ P= P。这样,无穷远点 O∞的作用与普通加法中零的作用相当(0+2=2),我们把无穷远点 O∞称为零元。同时我们把P’称为P的负元(简称,负P;记作,-P)。(参见下图)
离散型椭圆曲线
上面给出的很好看的椭圆曲线是在实数域上的连续曲线,这个是不能用来加密的,原因我没有细究,但一定是连续曲线上的运算太简单。真正用于加密的椭圆曲线是离散型的。要想有一个离散型的椭圆曲线,先得有一个有限域。
域:在抽象代数中,域(Field)之一种可进行加、减、乘、除运算的代数结构。它是从普通实数的运算中抽像出来的。这一点与阿贝尔群很类似。只不过多了乘法,和与乘法相关的分配率。
域有如下性质[3]:
1.在加法和乘法上封闭,即域里的两个数相加或相乘的结果也在这个域中。
2.加法和乘法符合结合律,交换率,分配率。
3.存在加法单位,也可以叫做零元。即存在元素0,对于有限域内所有的元素a,有a+0=a。
4.存在乘法单位,也可以叫做单位元。即存在元素1,对于有限域内所有的元素a,有1*a=a。
5.存在加法逆元,即对于有限域中所有的元素a,都存在a+(-a)=0.
6.存在乘法逆元,即对于有限域中所有的元素a,都存在a*=0.
在掌握了这些知识后,我们将椭圆曲线离散化。我们给出一个有限域Fp,这个域只有有限个元素。Fp中只有p(p为素数)个元素0,1,2…… p-2,p-1;
Fp的加法(a+b)法则是 a+b≡c(mod p);它的意思是同余,即(a+b)÷p的余数与c÷p的余数相同。
Fp的乘法(a×b)法则是 a×b≡c(mod p);
Fp的除法(a÷b)法则是 a/b≡c(mod p);即 a×b∧-1≡c(mod p);(也是一个0到p-1之间的整数,但满足b×b∧-1≡1(mod p);
Fp的单位元是1,零元是 0(这里的0就不是无穷远点了,而是真正的实数0)。
下面我们就试着把
这条曲线定义在Fp上:
选择两个满足下列条件的小于p(p为素数)的非负整数a、b,且a,b满足
则满足下列方程的所有点(x,y),再加上无穷远点O∞,构成一条椭圆曲线。
其中 x,y属于0到p-1间的整数,并将这条椭圆曲线记为Ep(a,b)。
图是我手画的,大家凑合看哈。不得不说,p取7时,别看只有10个点,但计算量还是很大的。
Fp上的椭圆曲线同样有加法,法则如下:
1.无穷远点 O∞是零元,有O∞+ O∞= O∞,O∞+P=P
2. P(x,y)的负元是(x,-y),有P+(-P)= O∞
3. P(x1,y1),Q(x2,y2)的和R(x3,y3)有如下关系:
x3≡-x1-x2(mod p)
y3≡k(x1-x3)-y1(mod p)
其中若P=Q则 k=(3+a)/2y1若P≠Q,则k=(y2-y1)/(x2-x1)
通过这些法则,就可以进行离散型椭圆曲线的计算。
例:根据我画的图,(1,1)中的点P(2,4),求2P。
解:把点带入公式k=(3*x∧2+a)/2y1
有(3*2∧2+1)/2*4=6(mod 7).
(注意,有些小伙伴可能算出13/8,这是不对的,这里是模数算数,就像钟表一样,过了12点又回到1点,所以在模为7的世界里,13=6,8=1).
x=6*6-2-2=4(mod 7)
y=6*(2-4)-4=2(mod 7)
所以2P的坐标为(2,4)
那椭圆曲线上有什么难题呢?在模数足够大的情况下,上面这个计算过程的逆运算就足够难。
给出如下等式:
K=kG(其中 K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数)不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。
这就是椭圆曲线加密算法采用的难题。我们把点G称为基点(base point),k称为私钥,K称为公钥。
现在我们描述一个利用椭圆曲线进行加密通信的过程[2]:
1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G。
2、用户A选择一个私钥k,并生成公钥K=kG。
3、用户A将Ep(a,b)和点K,G传给用户B。
4、用户B接到信息后,将待传输的明文编码到Ep(a,b)上一点M(编码方法很多,这里不作讨论),并产生一个随机整数r(r<n)。
5、用户B计算点C1=M+rK;C2=rG。
6、用户B将C1、C2传给用户A。
7、用户A接到信息后,计算C1-kC2,结果就是点M。因为
C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M
再对点M进行解码就可以得到明文。
整个过程如下图所示:
密码学中,描述一条Fp上的椭圆曲线,常用到六个参量:
T=(p,a,b,G,n,h),p、a、b用来确定一条椭圆曲线,G为基点,n为点G的阶,h是椭圆曲线上所有点的个数m与n相除的整数部分
这几个参量取值的选择,直接影响了加密的安全性。参量值一般要求满足以下几个条件:
1、p当然越大越安全,但越大,计算速度会变慢,200位左右可以满足一般安全要求;
2、p≠n×h;
3、pt≠1(mod n),1≤t<20;
4、4a3+27b2≠0(mod p);
5、n为素数;
6、h≤4。
200位位的一个数字,那得多大?而且还是素数,所以这种方式是非常安全的。而且再一次交易中,区块被记录下来只有10分钟的时间,也就是说要想解决这个难题必须在10分钟以内。即便有技术能够在10分钟以内破解了现在这个难度的加密算法,比特币社区还可以予以反制,提高破解难度。所以比特币交易很安全,除非自己丢掉密钥,否则不存在被破解可能。
第一次写一个完全陌生的数学领域的知识,也许我有错误的地方,也许有没讲明白的地方,留言讨论吧。总之写完后对比特比系统的安全性表示很放心。
参考文献
[1]椭圆曲线密码学简介
[2]什么是椭圆曲线加密(ECC)
[3]域(数学)维基百科
区块链研习社源码研读班高若翔
三、如何通俗易懂得解释什么是区块链,什么是比特币
事实上,整个白皮书里都没有说比特币是一种货币,只是说它是一种支付系统。因此,比特币需要从两个层面来理解:比特币支付系统是什么;比特币是什么。
1.比特币支付系统
当你去商场里购物时,你说你身上带了1000块钱,它的实际含义是,你的口袋里有总额1000元面额的现金。这些现金是看得见摸得着的,当你消费时,它也会进行实际的转移。
那么,当你说你的银行账户里有100万时,这个100万是什么呢?这100万其实是一个数字。你所理解的账户里的钱变多了变少了,就是这个数字的变化。这个时候你的钱其实是抽象的。
当你进行一笔消费,向别人转账时。用程序来实现,实质上就是在你的账户上减了一个数字,在别人账户上加了一个数字。这个事情是银行来做的。如果你们俩的账户碰巧开在同一个银行,那这笔交易行为只发生在这家银行内部。对银行而言,它的总资产不会发生变化。
如果你们俩的账户开在不同的银行,这个时候就发生了银行间的资金转移,这个最终是由央行的支付清算系统来做的,央行在A银行的账户上减了一个数字,在B银行的账户上加了一个数字。
原理上,所有的交易都是通过这样的加加减减来实现。人类社会现在所有的经济行为也就建立在这样的一套系统之上。
各银行的数据都汇总到央行来集中处理,所以我们称之为中心化的支付系统。而各个银行自己的清算系统,则可以视作该系统的子系统。
那么这套支付系统的本质是什么呢?其实就是刚说的那些加减的一个账本。
比特币的支付系统其实也类似,本质上也是账本。
举个例子,如果你现在要炫富,你可以晒一张银行账户截图。如果你晒不出来,你说你有钱,大家会说你吹牛。大家相信银行,但不会相信你。
你的朋友给你打了一笔款,你户头上的数字增加了。这个数字的本质是什么呢?就是银行承认你有这笔钱。如果银行不承认,事实上这笔钱也不存在。
所以说到底,你有多少钱,就是要得到银行支付系统的承认。银行是一个中心化的第三方。
比特币支付系统也类似,你有多少比特币,是需要得到区块链网络的承认。
什么是区块链?
一幅漫画让你秒懂
区块链技术是指一种全民参与记账的方式。所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。目前是各自记各自的账。
由于没有中心化的中介机构存在,让所有的东西都通过预先设定的程序自动运行,不仅能够大大降低成本,也能提高效率。而由于每个人都有相同的账本,能确保账本记录过程是公开透明的。
区块链技术是比特币的底层技术,比特币在没有任何中心化机构运营和管理的情况下,多年运行非常稳定,没有出现过任何问题,所以有人注意到了它的底层技术,把比特币技术抽象提取出来,称之为区块链技术,或者分布式账本技术。
根据西班牙最大银行桑坦德发布的一份报告显示,2020年左右如果全世界的银行内部都使用区块链技术的话,大概每年能省下200亿美元的成本。这样的数据足以说明“区块链”给传统金融领域带来的巨大变革和突破。
云计算通常定义为通过互联网来提供动态易扩展且经常是虚拟化的资源,但是提供云计算平台的往往是一个中心化机构。而区块链组成的网络一般是没有特定的机构,所以区块链更接近分布式计算系统的定义,属于分布式计算的一种。
Q币是一种中心化的电子货币,包括总量,发行方式都是由腾讯公司控制的。而比特币的总量,发行方式都是由程序和加密算法预先设定后,在全世界的多个节点上运行,没有任何人和机构可以修改,不受任何单一人或者机构来控制。一般称Q币为电子货币,或者企业代币。称比特币为数字货币或者加密数字货币。
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/jys/152699.html
发表回复
评论列表(0条)