区块链技术数字签名 区块链开发技术的应用
一、怎么解读区块链的数字签名
在区块链的分布式网络里,节点之间进行通讯并达成信任,需要依赖数字签名技术,它主要实现了身份确认以及信息真实性、完整性验证。
数字签名
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。简单证明“我就是我”。
二、什么是区块链数字资产
区块链数字资产指基于区块链技术发行、登记、存储、持有、转让或交易的新型无形资产。这些资产以数字化的形式存在于特定系统中,作为价值或权利的数字化表示(Digital Representation),被产业界称为加密资产(Crypto Asset)、加密通证(Crypto Token)等。考虑到区块链系统和应用的多样性,以及这些系统和应用中的数字资产的多样性,尽管现阶段无法给出区块链数字资产的精确定义,但是基于区块链系统而存在的数字资产具有无形性、加密验证机制、使用分布式账本、去中心化、共识算法等典型特征,这使其显著区别于传统网络虚拟财产和实体资产。
区块链数字资产具有诸多优势,包括透明与可信性、加密安全性、可编程性、降低交易时间和成本、简化权利管理、允许部分所有权、便于社区打造等,被视为数字经济未来发展的重要基础,可能在资产形式、金融体系、商业模式等方面带来令人期待的变革。
区块链数字资产的财产属性
(一)区块链数字资产应属于合法财产
第一,管理可能性意味着作为客体的财产必须能够为主体所控制,区块链数字资产存在于特定区块链系统之中,每一个区块链数字资产都是特定的并由公钥表征,持有人可以通过私钥对其施加控制。第二,区块链数字资产显然是可以转移的,加密虚拟货币具有交易和交换的天然优势,NFT也存在着一个持续增长着的交易市场;事实上,引入区块链系统的一个核心目的就是为了确保持有人可以安全便捷、去信任地交易此类资产。第三,区块链数字资产具备价值性,能够给当事人带来经济等方面的利益。一般认为,价值是一种客观存在,通过在商品生产中的劳动投入来衡量,部分观点则认为价值等于稀缺性。价值在不同的场景中可具化为经济上的价格、对人的意义、重要性等不同含义。吴汉东指出:“以主体自身的人身利益为标的的权利,当为人身权;但不可断言,财产权一定就是以经济利益为内容的权利。”区块链原生数字资产的价值是由区块链系统赋予的,也取决于参与者的社会契约,但其价值随着经济政治环境的变化而变化。
一方面,区块链技术保证了加密资产的稀缺性(Scarcity),避免因信息的无限复制而使数字资产持有和交易变得无意义。如在以太猫、Decentraland等区块链游戏中,用户可以购买、收藏、交易独一无二且不可替代的NFT版数字藏品。区块链技术保证了其稀缺性和唯一性,从而可以满足人们对拥有稀有物的渴望和需求。另一方面,不应仅因为区块链数字资产存在于特定系统之中,脱离系统就失去价值,而否认基于共识机制而建立起来的价值。传统物权法并不因为特定物的价值不具备普遍性而否定价值的存在。例如亲人的遗物、具有纪念意义的小商品等,法律仍然认可其重要性。既然对特定主体才具有价值的客体能被承认为财产,基于共识机制形成的价值也应当得到承认和尊重。
在区块链发展过程中,存在超过32种重要的共识算法,经过探索期,共识算法的标准化将是下一阶段的主要研究方向,普遍性的共识算法也可能在区块链上达成。而且POS、POW等主流共识算法能够保证区块链网络的安全性,确保价值转移的实现。因此,不宜仅以现阶段共识机制的不同就否认区块链数字资产的价值。
综上,区块链数字资产符合财产的特征,本身具有非人格性,亦非违禁品,法律应承认其为合法财产。事实上,一些司法判例已经开始承认加密虚拟货币的财产地位,例如,浙江某地法院在一份涉及加密虚拟货币的判决中指出,加密虚拟货币具有作为权利客体需具备的价值性、稀缺性、可支配性,应认定其虚拟财产地位。上海一法院在一起加密虚拟货币涉外财产损害赔偿纠纷上诉案中也指出,加密虚拟货币具备虚拟财产、虚拟商品的属性,应从法律上予以保护,通过不合法手段取得的加密虚拟货币应当全部返还或折价赔偿。
(二)区块链数字资产应纳入物权保护范围
第一,区块链数字资产满足物权客体的特定性要求。一般而言,界定物权客体的特定性,主要应从支配客体的要求与物权目的实现的需求两个方面着眼,同时还要兼顾登记等公示的技术要求。而且特定性并不一定拘泥于物理标准,因为不同类型的物权对其客体属性的要求不尽相同。就区块链数字资产而言,其表现为“数字通证”,由公钥和私钥这对数据参数表示,公钥(Public Key)即公共参数部分,对系统参与者公开,载明了该资产的相关编码信息,如权属、价值和交易历史等;私钥(Private Key)即私人参数部分,是区块链上的随机参数,由持有者个人掌握和控制,允许持有者针对该资产进行转让或其他交易行为,通过数字签名以加密安全的方式进行确认。数字资产的移转必须依赖两者的加密和解密,仅凭公钥或仅凭私钥均无法完成交易。因此,根据区块链系统的相关规则,通过某个加密资产的公共参数即可以确定该资产,且任何访问该系统的人均可识别出该资产。这意味着每一个加密资产都是特定的,可独立交易转移的,不存在无限复制的可能性,尤其是对于NFT类型的加密资产而言,每一个NFT资产都是独一无二的,不可能被复制。共识机制的改变可能被提出但没有被所有参与者普遍接受,导致系统出现分叉,即不同群体的参与者可能遵循不同的规则,即承认不同的交易、保持不同的账本。这在本质上是区块链网络分叉为两个子网络,每个都有其独自的加密资产和分别的账本。
第二,区块链数字资产具备可支配性,权利人可对其施加排他控制。区块链数字资产的可支配性表现为基于技术属性所产生的控制力。虽然这种控制力并非对客体的物理控制,但物权并不只要求对物的物理控制,像地役权、空间利用权、权利质权等亦不具有对物的物理控制。私钥持有人(Holder of Private Key)可以通过私钥对特定数字资产施加排他控制,且此种控制具有绝对性,无需他人介入,也不以他人的意志为转移。一方面,私钥是持有人对区块链数字资产施加排他控制力的关键。此种排他控制来源于区块链架构所采用的加密确认机制(Cryptographic Authentication Process),该机制只允许私钥的持有人行使(如交易)该加密资产,从而独占地控制该资产。从动态的交易过程来看,转让人通过使用受让人的公钥加密,确保移转后的数字资产仅有受让人的私钥能够解开。同时,转让人用自己的私钥进行数字签名,受让人以转让人的公钥对签名进行身份认证,确认交易来源正确。另一方面,这种控制力是绝对的,能排除他人的使用。在区块链的语境下,区块链的去中心化意味着区块链数字资产的交易完全由私钥持有人自主决定,私钥持有人之外的任何人均无法针对该资产采取任何行动,这保证了私钥持有人对其加密资产的控制的绝对性和唯一性。
由上可知,区块链数字资产符合物权的两大核心特征,适合纳入物权范围进行保护。而且从物权角度对区块链数字资产加以保护,至少具有以下几点优势:第一,统一对区块链数字资产的财产属性认知。第二,物权是一个成熟的法律框架,依托物权框架可以解决围绕区块链数字资产产生的更复杂的交易问题,包括破产、信托、担保、继承、离婚财产分割等,给市场提供更好的可预测性。第三,正面回应技术创新,更好促进法律与技术的耦合式发展。
区块链数字资产的物权保护
区块链数字资产作为新型的物权客体,物权规则并非无差别地全部适用于区块链数字资产,而是需要根据技术条件等状况在个案中予以具体考量。此外,物权的排他效力、优先效力、追及效力、请求权等效力自然也适用于区块链数字资产。
区块链数字资产的物权内容
一般而言,权利人对区块链数字资产的所有权,包括占有、使用、收益和处分的权利。而且像电能、光能等自然力以及有价证券一样,可以比照动产的规定来保护区块链数字资产。这意味着,可以像传统动产那样在区块链数字资产之上设立抵押、质权、留置权等担保物权。传统上,针对动产设立质权和留置权,需要转移对客体的物理占有,但区块链数字资产无法像有形物体一样被物理地占有。实践层面,可以通过智能合约、DeFi(去中心化金融)等区块链技术的多元应用,把相关条件与行为编写进区块链数字资产,从而产生某些自动执行的行为,以满足担保物权的要求。这意味着在担保物权的实现上,作为技术规则的智能合约算法将扮演更为重要的角色。
区块链数字资产的所有权归属与转让规则
就所有权归属而言,一般来说,就像合法占有某个有形财产的人被推定为所有权人一样,以合法的方式知悉并掌握私钥的人通常应被认为是该加密资产的所有权人。当然,所有权归属也取决于具体的情形以及相关系统的规则。例如,代表他人(如雇主或客户)持有私钥,或者作为保管人或中介人持有私钥,在这些情形下,将通过代理规则或者信托规则来确定所有权。某个加密资产可能具有多个密钥,此时所有权将由多个持有人共同所有或按份所有。加密资产的初始创造或取得依赖于系统的规则,例如一些加密虚拟货币是在借以构建并确认账本的“挖矿程序”(Mining Process)中作为奖励被创造出来的。此外,在采取匿名交易的区块链系统中,因为交易是通过指向一个匿名的地址标识符做出的,所以在系统中识别出特定资产所有权人的真实身份可能是困难的,但这并不意味着该资产没有所有权人。
区块链数字资产的转让通常发生在链上。当进行交易时,转让人通常修改该资产的公共参数,或者生成新的参数,以便创造出对该转让(包括受让人的信息)的记录。然后转让人利用私钥以数字化的方式签署该转让记录从而完成确认。之后该资产被关联到受让人的私钥,处于受让人的独占控制之中。当转让人完成对交易的确认并将其广播到区块链上,并且广播到区块链上的交易被共识算法接受并记录在区块链账本上,转让才算完成,意味着所有权就转移了。这意味着区块链数字资产的所有权转移类似于不动产登记,而非动产交付。因为在数字资产转让的情况下,转让人通常会生成一个新的加密资产——全新的或修改了的公共参数和私钥。代表“旧”加密资产的数据依然存在于区块链网络中,但不再具有任何价值或功能,因为该资产已被共识机制认为是花掉或者取消掉了。“新”加密资产由新的数据表示,并被新的秘钥控制。显然,这和中心化的不动产登记机构就所转让的不动产制作一份新的登记以确认新的所有权,在本质上是一样的。这意味着区块链数字资产作为新类型的物权客体,兼具动产与不动产的属性,私钥像手机等动产那样完全掌握在持有人手中,且私钥持有人被推定为权利人,持有人遗忘私钥就会使该资产在系统中被遗忘,成为不可用之物;而其权属公示与交易转让等则类似于不动产登记,需要记录在区块链系统中才会被认可。
而且一旦交易被记录在区块链账本上,转让人再次转让该资产的任何企图都不会被共识机制接受,从而避免了双重交易的发生。此外,区块链数字资产也可能出现类似于现实中的一物二卖现象,比如在交易被记录在区块链账本上之前,存在转让人就该资产进行二次转让的风险,如果第二次转让先于第一次转让进入区块链账本,那么第一次交易的受让人的加密资产就不会被认为是有效转让,从而在实际上是无价值的;再比如,转让人同时与两个受让人签订了链外转让合同,但第二受让人先于第一受让人完成了链上转移。在这些情况下,由于所有权转移以链上记录为时间节点,第二受让人取得所有权,受让人对第一受让人构成合同违约。此外,转让也可能发生在链外,如双方签订了合同来转让某个加密资产,但没有完成链上转让。这些问题可以在既有的合同法等法律框架内予以妥善解决。当然,也需要法律对基于区块链的签名(谁作出的交易)、时间戳(交易发生的时间)、确认(谁确认的交易)以及“文件”(交易或合同相关的数据)的认可。
综上,虽然区块链数字资产及其转让以及相关的智能合约所依赖的技术架构,给物权、合同等财产法律带来了新的复杂性和挑战,但这并不意味着法律无法有效应对并妥善处理其中的物权利益、合同利益等利益关系。因为在历史上,法律一直都在因应技术与现实的变化,并不断演进。换言之,法律与技术是一对相互建构的力量,彼此都在螺旋上升。就区块链数字资产中的加密虚拟货币而言,如果将来立法认可其货币或准货币地位,则按照种类物予以保护,意味着占有即所有,当发生返还时适用同等价值返还原则,不能作为质押担保客体,财产执行时不存在执行异议。
区块链数字资产的发展
区块链数字资产作为一类新型无形资产,显著地区别于游戏道具等传统网络虚拟财产,持有人基于私钥可以对其施加排他支配与控制,这与物权理论最为契合,足以使其成为物权客体,被物权法体系接纳,而且不违背物权法的基本精神。所以,现阶段应将区块链数字资产视为物权客体,按照物权规则进行保护。除此之外,未来还要继续探讨区块链数字资产和智能合约的法律地位,承载链外权利的各式“通证”是否为合法有效的登记、权利凭证(物权凭证)、金融工具,法律对基于区块链的签名、时间戳、确认以及“文件”的认可,数字资产交易和智能合约的法律救济、责任承担、管辖以及分布式自治组织(DAO)的法律地位、责任承担机制等。惟其如此,才能确保区块链数字资产和智能合约等技术和应用的持续创新,从而在制度层面满足未来数字经济的发展需求,迎接全面到来的数字社会。
无论是在经济领域还是在法律领域,区块链数字资产和智能合约的蓬勃发展,都进一步丰富、拓展了1999年劳伦斯·莱斯格提出的“代码即法律”的理念,并让“法律即代码”这一新的理念逐渐变成现实。
参考文献
司晓.司晓:区块链数字资产物权论.腾讯研究院.2022-01-27
三、什么是数字签名举例说明
所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
数字签名在ISO7498-2标准中定义为:"附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造"。美国电子签名标准(DSS,FIPS186-2)对数字签名作了如下解释:"利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性"。按上述定义PKI(Public Key Infrastructino公钥基础设施)提供可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。
PKI的核心执行机构是电子认证服务提供者,即通称为认证机构CA(Certificate Authority),PKI签名的核心元素是由CA签发的数字证书。它所提供的PKI服务就是认证、数据完整性、数据保密性和不可否认性。它的作法就是利用证书公钥和与之对应的私钥进行加/解密,并产生对数字电文的签名及验证签名。数字签名是利用公钥密码技术和其他密码算法生成一系列符号及代码组成电子密码进行签名,来代替书写签名和印章;这种电子式的签名还可进行技术验证,其验证的准确度是在物理世界中对手工签名和图章的验证是无法比拟的。这种签名方法可在很大的可信PKI域人群中进行认证,或在多个可信的PKI域中进行交*认证,它特别适用于互联网和广域网上的安全认证和传输。
“数字签名”与普通文本签名的最大区别在于,它可以使用个性鲜明的图形文件,你只要利用扫描仪或作图工具将你的个性签名、印章甚至相片等,制作成BMP文件,就可以当做“数字签名”的素材。
目前可以提供“数字签名”功能的软件很多,用法和原理都大同小异,其中比较常用的有“ OnSign”。安装“OnSign”后,在Word、Outlook等程序的工具栏上,就会出现,“OnSign”的快捷按钮,每次使用时,需输入自己的密码,以确保他人无法盗用。
对于使用了“OnSign”寄出的文件,收件人也需要安装“OnSign”或“OnSign Viewer”,这样才具备了识别“数字签名”的功能。根据“OnSign”的设计,任何文件内容的窜改与拦截,都会让签名失效。因此当对方识别出你的“数字签名”,就能确定这份文件是由你本人所发出的,并且中途没有被窜改或拦截过。当然如果收件人还不放心,也可以单击“数字签名”上的蓝色问号,“OnSign”就会再次自动检查,如果文件有问题,“数字签名”上就会出现红色的警告标志。
在电子邮件使用频繁的网络时代,使用好“数字签名”,就像传统信件中的“挂号信”,无疑为网络传输文件的安全又增加了一道保护屏障。
例子说明:
现在我们就转入正题了。JAVA的数字签名类封装在Signature类(java.security.Signature)中。
接下来,我会编写三个功能(即三个Java类):
a、生成一对密钥,即私钥和公钥,对于密钥的保存可以使用对象流的方式进行保存和传送,也可以使用编码的方式保存;在这里基于方便,我是使用编码方式进行保存的;类名是:GenerateKeyPair.java
b、编写发送者的功能:首先通过私钥加密待输出数据Data,并输出Data和签名后的Data;类名是:SignatureData.java
c、编写接收者的功能:使用发送者的公钥来验证发送过来的加密Data,判断签名的合法性;类名是:VerifySignature.java
-
芝麻开门交易所官网app 抹茶交易所官网下载 11-09