用问题来引导讨论吧!
炒币与区块链的关系,
我觉得不管是985,还是保洁大妈,最关心的问题是炒币。
我觉得这两者关系是生死与共的关系。区块链是一个大实验,现在远远谈不上成功。去中心化,这东西不是新鲜事。BT,电驴算是半个成功。去中心化的核心问题就一个字,钱!去中心化需要大量的资金建立基础设施。谁出钱?BT,电驴是谁出的钱?本质上是好莱坞。这些高价值的数字信息让每位使用BT的用户获得收益,所以每位用户才愿意贡献自己的带宽。
那么,区块链(公链)谁来出钱建设呢?你说对了!韭菜!
如果区块链成功了,最要感谢是你,是我,是投入法币的韭菜们!
为什么这么说?去中心化,需要有激励机制,才能让人们志愿建设节点。中本聪提出了token,以及抵御恶意节点的设计。但是一开始,发展是非常缓慢的。这个token如何可以激励大家来建设区块链网络呢?显然把token与法币联系起来是见效最快的。
而投机者看到token天然的拥有忽悠要素:名字可以吃币,高科技附体,有信仰加持。推动了比特币与法币的交易。
智能合约是什么?
我之前看一些文章把智能合约讲的神乎其神。在学习和实作后,这个智能合约就是一小段代码。这个代码被提交到链上后,会交给多种节点去运行。
节点上有虚拟机,这个智能合约就在这个虚拟机里跑。所以,智能合约就是一段特别定义的代码。比如,没有main()函数;只能执行有限的功能。你不能去调用open打开某个文件,或是调用socket建立一个通讯接口。它是在链上的虚拟机里的,有很多的限制。
那为什么说智能合约是区块链2.0?因为,智能合约部署到链上后,每个用户都可以看到代码。第二,部署后不可以修改;这就类似于我们生活中的法律契约,只不过是用程序来表达,而不是文字。
区块链用户可以把金融合同,用智能合约写下来,交易各方就免去了信任的建立成本,在合同执行期,也可以实时看到合约的执行。
为了让智能合约与外部世界能关联起来(比如,股市指数),第三方机构Oracle建立了数据源,以太坊上的智能合约可以从这个第三方得到可信的数据。
DApp是什么?
去年底的那个以太猫火了一把。DApp这个词也就跟着火了起来了。DApp简单的讲,就是一个界面加上智能合约。
这个界面可以是Web Page,可以是手机上的运行的APP,也可以是浏览器中的一个插件,只要它把关键的业务逻辑写到合约里,就算是DApp。
以线上丢色子,压大小为例。我们可以部署一个网站。在上面开发出一个好看的界面,这个界面肯定就是一个网页了。用户用浏览器打开这个网页,在网页上选择多少注,然后网页下方有两个区域,一个是大,一个是小。用户选择压在大或是小的。用户点 ”开始摇”。 网页向后台发出请求==》请给我“摇”的结果:
传统的做法,后台会有一个程序,无论是PHP,JAVA,或是任何其它语言写,这个程序生成一个随机数。或......... 按某种算法。比如,京东,淘宝上的各种游戏。我老婆就比我的胜率要明显高。显然的原因是,我老婆在电商的消费比我高的多。
在有了智能合约后,这个生成随机数的程序,应该写成合约,并部署在区块链上。这样,程序开源了,程序的运行也公开了。用户不用担心看的程序是A,后台跑的是B。只要review网台的前端代码,然后根据前端代码中的合约地址,到链上再查合约的代码,就可以知道这个随机数是真随机,还是出老千。
DApp的最大的不同,或者是优点就如同上的例子所示,真正意义的开源。不仅公开代码,也公开了运行。
我们在区块链上可以做什么?
我本来想写写区块链的优点。但又觉得,直接写可以做什么,更容易理解一些。咱就不要写成技术分析文章了。
第一个应用,也是唯一火的,就是炒币。Token因链而生,被包装成价值物。这个不是咱们重点。就不向下谈了。
我自己想了几天,我觉得最最合适的是,写澳门的那些产业。为什么呢? 线上澳门都是骗钱的。因为,你不知道后台运行的是什么?如上面所说的,智能合约是公开的。所以,在智能合约中写好 关键逻辑,用户都看的到,相对更能取得用户的信任。
当然,这不代表使用智能合约就一劳永逸。还需要其它的保证。但相比之前的实现,在区块链上实现菠菜是最大化的借助了链的优势。所以,才会有这样一句话:DApp解决的是你不信任APP,但又需要运行这个APP的问题。
区块链生态链面临的安全威胁
基于区块链的层次结构,在划出攻击后,使用STRIDE分析方法进行下面的建模。这个我估计大家要看吐了。其实,我自己画了画,也吐了。算了,攻击面太多了。不画了。
讲讲实例吧。
从第一个问题来看,币与法的对换是一定要有的。所以,交易所出现了。区块链安全中,最大的风险在交易所。很黑默的是,交易所是绝对中心化的。交易所通常是一个大钱包,散户在交易所上买来买去的,其实都是在RDS(关系型数据库)里记一笔。买到的币,并没有上链。
所以,如果进入到交易所的后台,找到这个大钱包,把里面的币转给自己不就发了吗? 而交易所的实现框架就是传统的实现,还没有国家暴力机关保护的加持(抢银行是死刑,偷交易所?)
如果交易所声称自己被偷了呢?这个只能呵呵了。所以,炒币不要放太多钱进去。如果,投的量大,多几个交易所比较好。
针对交易所的攻击已经发生了多起了。金额也不小。内情如何,外人也就不得而知了。
智能合约出现后,针对智能合约的攻击也就出现了。毕竟,智能合约是程序,又是人写的,难免没错。这个错,有业务逻辑写错的问题; 也有程序安全保护不足,利用overflow来达到调整金额的问题;之前的某个币的在以太坊的代币发行合约有漏洞,被人利用给黑客发了无数的币。结果这个币的币值无穷接近0.
智能合约一旦写好,就不能修改,还是公开的。如果链有漏洞,就算官方修补了,分发到每个节点也需要时间。这些都导致区块链出现问题,修复起来特别的慢。
待继====================
区块链是否可以和一些书法、画等艺术作品进行结合呢
是指艺术品的权证转移吗?这个也是区块链落地的一个主要方向。但需要区块链之外的很多基础设施来保证。我觉得并不是区块链一家就可以全盘解决。
如果是文字作品,可以很容易HASH的,可以直接上链。而书法,画如何取HASH呢?简单的数字化后HASH?我觉得不太容易被收藏家接受吧。对于实物产品来讲,权证转移,还是拿到实物更可以接受。
综上所述,实物上链,一个是要解决实物的唯一码(HASH化),一个是如何解决实物转移的问题。前一个问题可以应用AI做识别(鸡鸭上链),或是碳14之类的指纹(古董上链),后一个问题也许搞个第三方托管仓库。
AI识别,碳14是我瞎掰的。总之是某种方法吧。
@kanke提出
1.第一位拥有者(或作家)提供的上链的第一条信息如何确保可信?
2.设想中的买家登录网站,提供证明材料这个过程,怎么确保可信?
3.卖家收到所有权转让操作的申请后,怎么确认这个申请来自真实的买家?
4.如果卖家有意犯错,所有权转给了错误的人,后序所有流转就无法控制,怎么控制或者惩罚?
5.最重要的一点是,买家付款后实实在在拿到货了,货也是受到物权法保护的,如果不在意链上的信息,还怎么玩?
谢谢你的问题! 回答这些问题需要我们先构建一个完整的场境。
假设,真的是假设,如前所述,我并不了解这个行业。
假设一个艺术银行,从事的是艺术品的估值,代管代存,委托拍卖,权证转移这些业务。完整的流程是:
用户A 带着艺术品来到门店,提交了个人的资料,艺术银行在审查后,给用户A一个估值,用户A满意后,双方签订一个合同,授权拍卖。
用户B 来到艺术银行,表示想买些艺术品,艺术银行把他的身份审查后,将用户B加入到内部的信息系统。
艺术银行举行一个拍卖会,或是做为中介请专业的拍卖机构拍卖。艺术银行通知用户B到场。
拍卖成功,用户B把钱转给艺术银行。然后,用户A,B 都到银行办理权证转移手续。
用户B 继续把艺术品存在艺术银行这里。(我猜艺术银行可以搞些活动,定期展出,也有一定的收益,这个收益可以分给用户B)
以上,算是整个流程了。让我们看看区块链在这里可以起什么作用。
还是先假设,艺术银行在以太坊上发行了一个代币,就叫艺币吧。然后,放上一个智能合约。智能合约完成下面的功能(API):
1. 艺术品ID上链,
2. 艺术品拍买
3. 艺术品权证转移
4. 艺术品权证查询
用户A 带着艺术品来到门店,提交了个人的资料,艺术银行在审查后,给用户A一个估值,用户A满意后,双方签订一个合同,授权拍卖。
(区块链方案:这时,艺术银行为艺术品安装RFID; 然后,为用户A生成公钥私钥。私钥由用户A保存。最好是硬件的,有B格。注意,还要用艺术银行的证书为用户A的公钥做签名,以表明,这个证书是艺术银行签发的。现在,可以调用智能合约,将这个艺术品上链。 用户A可以通过智能合约查询到该艺术品已经上链,并且签名可以被自己的公钥解开。确认了签名是正确的。)
用户B 来到艺术银行,表示想买些艺术品,艺术银行把他的身份审查后,将用户B加入到内部的信息系统。
(区块链方案:艺术银行在审查了身份后。为用户B签发了公钥和私钥。同样,也要用艺术银的证书做个签名。这个主要是为了表明,这个私钥是艺术银行签发的,以后查验用,与区块链无关。)
艺术银行举行一个拍卖会,或是做为中介请专业的拍卖机构拍卖。艺术银行通知用户B到场。
(区块链方案:假设,我们搞一个线上拍卖,规则就写在智能合约。大家都看的到。如何设计规则,以排除做B的可能,这个我就不太清楚。应该有专业人士可以指导程序员写出来)
拍卖成功,用户B把钱转给艺术银行。
(区块链方案:拍卖前,用户B在线购买艺币,托管在合约上。拍卖成功后,执行合约中的拍卖功能,把用户B托放在合约上的艺币转到用户A的智能合约托管记录上。这时,艺币还不在用户A手上)
然后,到银行办理权证转移手续。然后,用户B 继续把艺术品存在艺术银行这里。(我猜艺术银行可以搞些活动,定期展出,也有一定的收益,这个收益可以分给用户B)
(区块链方案:用户A 查到智能合约已经代持了用户B支付的艺币,执行智能合约的权证转移功能。这个功能代码的逻辑是,发起人只能转移自己的艺术品到支付人上。这样,用户A只能转移到用户B上。同时,艺币由智能合约release,发放到用户A帐户上)
区块链方案: 用户B上线,对艺术品做上链操作,就是用自己的私钥签名了。至此,艺术名的ID和用户B签名上链了。这个艺术品就属于用户B了。
区块链方案中,实物一直托放在艺术银行里。这个方案中,一直有一个中心化的艺术银行存在。但由于每一步的逻辑都写在智能合约里,数据也会存在以太坊链上,用户可以对艺术银行有更多一点的信任,同时,交易过程可以在线化,降低了成本。
由于引入了一个中心结点,艺术银行。那么,如果用户A提代的是一个假的作品呢?如果用户A与艺术银行是一伙的呢?这个问题,任何信息技术都无法解决。因为,从一开始标的物就是假。区块链只是价值转移的媒介。价值是否是真实的,这个不是区块链能保证的。
以下是各位D友在跟贴中的讨论,很有含金量,我整理出来放在这里:==============================================
@dought: 我感觉私有链相对现有的数据库系统真的没什么优势,为了一些无关紧要的需求把简单的事情搞复杂了。
@i-levis: 如果硬要讲,倒是有一些应用场景,比如企业内部审计等等,不过说到底,区块链技术解决的还是信任问题(生产关系),而不是传统分布式系统解决的效率问题(生产力)
@zpwinever:单就区块链技术而言,没有法币加持仍然会版本快速迭代,但是如果广泛普及,必须引诱普通技术小白参与,而人为制造的币的稀缺性,恰恰赋予了投机分子带着韭菜一起high,这样人人都知区块链,人人琢磨,区块链发展壮大,无论是节点规模和应用场景越来越大,挺好
@dought:理性来分析,分布式账本最大的优点是让链上的信息更透明,不可篡改。如果一个企业对自己的从业人员天生是不信任的,同时链上信息的绝对正确又能给这个企业直接或间接带来收益,私有链才有用武之地。金融,物流,医疗,食品安全行业的也许需要这种对内的区块链应用。但是我感觉对这些行业来说,区块链也不是必须的,好的管理模式完全可以取代区块链的作用。因此私有链和联盟链的使用场景太窄了,我不太看好。
至于公有链,因为激励机制的必要性,必须要发行token,引入代币。
以比特币为典型的纯加密货币来说,完全通过共识来明确财富的正当性。现在大部分财富都掌握在少部分庄家手里,假设如果未来所有地球人都加入到链上,那现有的共识一定会被推翻,财富会基于更多新人的共识的重新分配,市场会是一片混乱,因此我也不看好加密货币未来取代法币,我觉得它的市场未来只能局限在于黑市洗钱。
剩下的就是以集资为目的的公有链了,我感觉这完全是股票的另一种形式,未来区块链技术的主要作用就是为投机投资行为创造一个可靠的平台,这是我能想到的唯一能正常生存下来的区块链的应用场景了。
总体来说我觉得区块链技术被吹过头了,和移动互联网/机器学习这些改变人类生活方式的技术相比,区块链还差的很远,现在区块链被吹上了天更多是因为庄家想利用区块链的title找韭菜接盘而已。
学习资源 =======================
推荐一个网站,上面一步步教你写僵尸游戏,在以太坊上。合约用的语言是Solidity。 https://cryptozombies.io/en/lesson/6/chapter/ 注:要翻过去看的。