分类
成功交易者的秘密

区块链 1000 问

EOS.IO

石墨烯技术是新一代的区块链技术,基于DPOS共识算法。目前市场上流行的区块链阵营有三种,一种是第一代以比特币为主的生态体系,他们是基于POW共识,纯粹的去中心化,基于p2p的加密数字货币技术;第二种就是以以太坊构成的生态体系,主要以基于智能合约的ERC20的代币体系,他们是基于POW共识,目前以太坊正准备切换到POW+POS的多共识体系;第三种就是进化到目前最强劲的石墨烯技术生态体系,它是基于DPOS(股份授权证明共识),支持高并发,高性能等大规模工业级商业场景的基础设施,诞生了BTS(BitShare)开源商业系统,Steem去中心化社交网络平台以及EOS。未来会针对石墨烯技术以及DPOS共识做一个专门的博文调查。,目前我们看到的石墨烯技术的几个显著特点是:

一文让你全面了解全球首家区块链独角兽—Coinbase

大型金融机构,像纽约证券交易所和美国联合汽车服务协会USAA也参与了公司2015年1月的C轮7500万美元的融资。根据纽约证券交易所的新闻稿,C轮投资帮助“Coinbase利用纽约证券交易所的全球渠道和市场技能推动Coinbase业务发展。”实际上,Coinbase将会在同一个月推出“Coinbase Exchange”服务专业投资机构。该业务后来重新改名为“Global DigitalAsset Exchange”,即GDAX。在2015年11月,USAA和Coinbase合作,当客户登录其USAA账户时可以看到其加密数字资产钱包余额。

前方之路:开放金融体系

挑战和风险

竞争

扩容

最近招募的重要人员包括Asiff Hirjj(主席兼COO),David Marcus(董事会成员),Tina Bhatnagar(运营和技术副总裁)。Hirjj于2017年12月从Andreessen Horowtiz加入该公司,Marcus也于去年12月加入公司,来自脸谱Messenger和Paypal。在Paypal,他负责公司的全球业务拓展和产品战略。Bhatnagar从推特加入公司,负责客户服务部门。

· Olaf-Carlson Wee,公司早期产品经理,2016年中期离职创立了Polychain Capital,被认为是一家优秀的加密数字资产对冲基金。

· Nick Tomaino,业务发展部门,2016年2月离职投资了风险投资公司Runa Capital,近期创立了自己的加密数字货币投资基金,1confirmation。

· Linda Xie ,前Coinbase产品经理以及软件开发工程师Jordan Clifford成立了加密数字货币基金Scalar Capital。

区块链 1000 问

  • 第一,链家品牌效应优势明显,已主导客户心智,北上广深“五百米一链家”群众有目共睹,所以品牌溢价效应也明显,中介费自然水涨船高。
  • 第二,房源多,链家的“楼盘字典”目前已累计投入4.5亿元,囊括了全国36个城市的7500万套真实房源,拥有1200TB数据量。现在,链家又将它的字典毫无保留的灌溉给旗下的贝壳找房。
  • 第三,房源靠谱,最大程度保证真房源,老百姓买房和租房会感觉特别靠谱。
  • 第四,看房高效,比如:旗下贝壳vr看房,大大节约了用户,中介的看房时间和精力,并有效提升了看房体验。
  • 第五,安全,不管是押金还是房租,在有链家品牌背景的中介的介入下,客户更有安全感。

有没有一种新秩序可以对人性进行正确引导呢?

来看看区块链技术的基本要素有哪些?

那么“区块链+租房”有什么具体的,颠覆性优势呢?

一、绝对真实的信息录入

二、没有人敢说假话

三、将私密进行到底

四、信息不可更改

五、未来人们只讲诚信

六、支付体验升级

七、租房体验升级

八、颠覆性的价值

所以,“区块链+租房”到底改善了什么?

(1)对B端来讲:以“潜在租户租房需求萌生”为起点,为房东、租客、资金等多方提供全面、安全、不可篡改的数据记录,同时实现可溯源、反欺诈、自动执行任务的智能管理服务。

(2)对c端来讲:通过区块链租房应用平台挂牌房源信息、房东房客的身份信息以及房屋租赁合同信息将得到多方验证,其具有无法篡改的特性。如果使用该平台,租客就不必再担心遇到假房东,租到假房子,因为当租房各个环节信息都记在区块链上,它们之间会相互验证。

(3)社会价值:区块链不仅是个技术拐点,也是一个商业拐点,更是一个信息拐点。在区块链之前,这是一个信息不平衡的世界,信息被少数人知悉、收集、垄断、并靠它获利。区块链技术成熟落地之后,所有信息将变成真实的,公益性的,并且是高效的。

DHT应用于区块链

sun.shuo 于 2017-08-31 15:26:55 发布 3743 收藏 4

DHT应用于区块链
DHT网络的概述
DHT网络的基本思想如下:
1. 每一份资源都由一组关键字进行标识。
2. 系统对其中的每一个关键字进行Hash,根据Hash的结果决定此关键字对应的那条信息(即资源索引中的一项)由哪个用户负责储存。
3. 用户搜索的时候,用同样的算法计算每个关键字的Hash,从而获得该关键字对应的信息存储位置,并迅速定位资源。
DHT关键字定位:
1. DHT通过分布式散列函数,将输入的关键字唯一映射到某个节点上,然后通过某些路由算法同该节点建立连接。
2. 每个节点并不需要保存整个系统的节点视图信息,只在节点中存储其邻近的几个后继节点信息,当一个节点收到一个查询操作时,如果它发现所查询的标识不在自己关联的区间内,那么该节点将会把该查询发送给其存储节点信息表中它认为最靠近目标的邻居。
3. 每次转发都能更进一步地接近数据源。因此较少的路由信息就可以有效地实现到达目标节点。
DHT的具体算法实现过程:
(1) 对每个节点的一定特征(如IP地址)进行Hash,使得到的每个节点的节点值唯一。将节点按照节点值的从小到大构成一个环(Chord环)。(此处节点值可以看作是新环中的IP地址)
(2) 通过节点值,获取每个节点与下一个临近节点之间的距离,从而获得每个节点所需负责的值区间。(此过程类似于建立路由表)
(3) 对每个节点上的资源提取关键字,并对关键字进行Hash,得到的Hash值按照(2)中的每个节点负责的区间进行分配,从而使每一项资源的存储信息都被存储在一个节点上。(此步骤获得了资源的索引列表)
(4) 当搜索一项资源时,对其关键字进行Hash,得到的值与当前节点的值区间表相比较,从而获得资源的索引信息最有可能存在的节点。查询该节点,获取资源的索引,根据索引,即可找到资源所在的节点,并建立通信。
具体构造过程如下:
创建由10个节点组成的DHT网络。网络的hash范围为1到70,对每个节点做hash值。

区块链 1000 问
图二,
建立“路由表”——Finger Table,节点值为8的N8节点,与其距离为1,2,4这些Hash值对应的索引都被存储在节点N14上,距离为8的Hash值对应的索引存储在节点N21上,依次类推。对于节点N8而言,只需要存储相邻的几个后继节点(N14,N21,N32,N42)对应的“路由表”就可以,而不需要并且也很难存储全部网络节点。


区块链的概述
基本原理
区块链的基本原理理解起来并不难。基本概念包括:
交易(Transaction) :一次操作,导致账本状态的一次改变,如添加一条记录;
区块(Block) :记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识;
链(Chain) :由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。
如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。

在实现上,首先假设存在一个分布式的数据记录本(这方面的技术相对成熟) ,这个记录本只允许添加、不允许删除。其结构是一个线性的链表,由一个个“区块”串联组成,这也是其名字“区块链”的来源。新的数据要加入,必须放到一个新的区块中。而这个块(以及块里的交易) 是否合法,可以通过一些手段快速检验出来。维护节点都可以提议一个新的区块,然而必须经过一定的共识机制来对最终选择的区块达成一致。
具体以比特币为例来看如何使用了区块链技术?客户端发起一项交易后,会广播到网络中并等待确认。网络中的节点会将一些等待确认的交易记录打包在一起(此外还要包括此前区块的哈希值等信息) ,组成一个候选区块。然后,试图找到一个 nonce 串放到区块里,使得候选区块的 hash 结果满足一定条件(比如小于某个值) 。一旦算出来这个区块在格式上就合法了,就可以进行全网广播。大家拿到提案区块,进行验证,发现确实符合约定条件了,就承认这个区块是一个合法的新区块,被添加到链上。当然,在实现上还会有很多的细节。比特币的这种基于算力的共识机制被称为 Proof of Work(PoW) 。目前,要让 hash 结果满足一定条件并无已知的启发式算法,只能进行暴力尝试。尝试的次数越多,算出来的概率越大。通过调节对 hash 结果的限制,比特币网络控制约 10 分钟平均算出来一个合法区块。算出来的节点将得到区块中所有交易的管理费和协议固定发放的奖励费(目前是 12.5 比特币,每四年减半) 。也即俗称的挖矿。
很自然会有人问,能否进行恶意操作来破坏整个区块链系统或者获取非法利益。比如不承认别人的结果,拒绝别人的交易等。实际上,因为系统中存在大量的用户,而且用户默认都只承认他看到的最长的链。只要不超过一半(概率意义上越少肯定越难) 的用户协商,最终最长的链将很大概率上是合法的链,而且随着时间增加,这个概率会越大。例如,经过 6 个块后,即便有一半的节点联合起来想颠覆被确认的结果,其概率将为 $$\frac^6 = 1.6%$$,即低于 $$\frac$$ 的可能性。
区块链是一个完整了数据链条,这个链条的无数备份被完整地存储在P2P网络的各个节点。所以区块链的缺点非常明显,对这个数据链条的修改需要汇总一定时间内的所有交易到获得出块权的节点。获得出块权的节点把交易汇总之后进行验证打包出块。出好的块交给其他节点确权验证。整个流程耗时时间长挖矿的计算浪费严重。用户的交易会被延迟很久才会被确认。
在DHT网络构建交易系统
传统的区块链的交易存在耗时长计算量大的问题。汇总所有交易到一个节点出块本身就是一个伪中心的交易算法,加上确权认证等流程短时间会出现网络拥堵现象。从微观看任何交易只要A用户发起交易,B用户接收交易,计算机集群确认并储存交易记录。整个交易过程只有三方参于,那么减少参与计算的节点是减少不必要通讯和提高交易速度的方法。将传统的区块链数据拆分按每用户一个区块链每条交易一个区块。那么把每个交易按算法分担到任意节点就可以初步实现区块链的分布式运行。最终要实现一个分布式运行的,可以快速结算交易,去掉挖矿机制,并能够保障数据安全的全新的区块链体系。
传统的区块链所有交易汇总到出块节点:

因为DHT网络的特性,我们可以使用帐户的hash名称作为KEY,帐户的每条交易记录作为Value值。当有新的交易记录产生就找到用户KEY将交易添加到交易链的末尾。
整理基本的交易流程,用户a发起扣款交易-〉节点C确权并记录a的交易-〉节点D确权并记录b的交易-〉交易完成。
在这个交易流程中a与b的交易记录经过a私钥签名后连同公钥一起交给节点C进行写入数据和发布到DHT网络上的操作。这里使用签名的方法保证了ab任意一方不会和C串通发布假冒的交易。例如b发布一个不存在的交易给C,当C把这个交易发布到其他的DHT节点就不会被其他节点接受并且会因为发布虚假消息进入黑名单。
因为我们的数据是按每个用户单独存储的,那么就要保证每个用户帐户数据符合ACID原则。也就是对帐户数据的操作要是原子的。因为帐户ab的公钥的存在所以hash环上的任何节点处理数据都是可信的。但如何保障写入的帐本数据是原子的,也就是如果a帐户同时发起两笔交易,分别由C节点和E节点负责写入。假设当前用户a下有5条交易记录,C和E同时向其他节点宣告写入第5条数据。那么其他n个节点在收到这个消息的时候就产生了冲突。这个可能会产生冲突的过程就叫做确权。
如果用广播的方式会产生确权矛盾的问题(paxos方式)?双方同时广播会有概率会产生一半一半的结果。并且需要和被广播的节点反复确认反复确认反复广播。当有恶意节点发布恶意广播时就会出现无法确认的情况。

假设帐户a信息保存在N4的右边,NC和NE都想发起一个对帐户a的追加交易记录的操做。假设NC比NE稍快的发起了确权操作,并把消息发送到了N4。N4收到对帐户a确权操作之后检查当前没有冲突操作如果没有生成一个临时的记录。之后N4将这个确权请求外带加上自己的签名发送给N3节点进行确权操作,当这个请求发送到N1时,N1发现已经收集了足够多的节点确认,就对所有签名的节点以及NC节点发送确权成功的消息。
如果在这期间NE也发送了确权操作,因为N4已经有了记录就会拒绝NE的请求并返回NE。当发现确权被拒绝后可需要重新同步最新的帐户数据并发起新的数据确权请求。N4在传递确权封包到N3时要带着自己的节点信息和签名同样N3传递给N2时也要带着N4和N3的信息。如果N1确权成功就要给所有节点发送通知,如果确权失败也要发送通知,并且每个节点的确权纪录保存的时间是有限,超过时间就会被丢弃掉。例如发起一个确权时如果在最迟3点没有返还确权成功的记录,所有节点都会丢弃记录。这里又会引发如果部分节点丢弃部分节点没有丢弃. 所以节点成功的消息也应该是可以退回的。这里N1可以发送广播预确权成功,其他所有24个节点返回成功,之后再发送确认成功,节点确认写入数据。

考虑计算节点小于N4大于a的hash生成的难度和故意生成的节点在节点密度上也会与正常节点存在极大的差异。如果再把节点id和帐户绑定在一起生成一个节点的上下线时间和节点的信用数据。那么将进一步的减少节点突然集中大量出现导致重复确权的问题?重复确权也就是双花或者叫硬分叉。假设a帐户有10块钱,两次交易每次减少10块钱。如果两次交易都成功a帐户就变成了-10块钱。
这个问题和人体被入侵很相似。识别有问题的和突然加入的肌体并给周围节点发出警报。也可以使用认证方式和节点历史数据的方式建立每个节点的信誉档案和黑名单制度。节点和用户帐户也要帮定在一起,通过检测用户帐户的余额和交易历史可以确定更高的信誉度。比如一些更加极端的情况有大量的节点被仿冒。那么以每条交易有24个节点做为验证,每个节点又有24个节点确认节点的历史安全数据。那么更改一条交易就要至少仿冒576个节点,这576个节点加入或更改,p2p网络又要更改大量其他服务器数据。这样就导致任何违规的数据操纵都要波及整个网络。就安全角度来说这种复杂的关系和无处不在的分布式和互相认证的机制保证了整个p2p网络的数据安全。
单个节点加入p2p网络如果和其他的节点数据不一致,那么至多只要2到3个节点做拜占庭就可以发现这个节点有问题。这里就要提到交易数据的历史和延续性。当一个交易得到最少24个节点做确认之后。这24个节点在线记录公网ip也被作为节点的信誉记录到p2p网络的其他节点。那么一个节点数据要么是完全空白,要么是与在线节点完全一致,否则他的数据就会被其他节点甄别拉黑。在节点请求加入p2p网络时就可以避免大部分的攻击。